Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    40

    Vbasic, Creare Nuovi campi con ADO

    Salve, vorrei sapere (se possibile con un esempio) come fare, con ado, a creare un nuovo campo su una tabella di un file di access,

    io provo così ma non funziona:


    ************************************************** **************
    connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & percorso & ";Persist Security Info=False"


    cn.Open connString
    cmd.ActiveConnection = cn
    cmd.CommandText = "select * from abitanti"

    rs.Fields.Append "campo", adBSTR, 30, adFldIsNullable
    rs.Open "select * from abitanti", cn, adOpenStatic, adLockOptimistic

    rs.Update
    cn.Close
    ************************************************** **************

  2. #2

    Non puoi usare questo metodo

    Questo metodo causa un errore di run-time se usato su di un recordset aperto. Il problema è che se lo fai su di uno chiuso è come se non fossi collegato a nessun database, percui hai un recordset in memoria, a cui puoi aggiungere campi, ma che non contiene dati. Ti riporto quanto ho trovato su MSDN Library:

    Calling the fields.Append method for an open Recordset or a Recordset where the ActiveConnection property has been set, will cause a run-time error. You can only append fields to a Recordset that is not open and has not yet been connected to a data source. Typically, these are new Recordset objects that you create with the CreateRecordset method or by explicitly assigning a new Recordset object to an object variable.
    Per poter aggiungere dei campi alle tabelle da VB devi usare le librerie ADOX che permettono l'accesso alla struttura del DB.

    Sempre su MSDN Library ho trovato quasto esempio che crea una tabella nel DB NorthWind.mdb e inserisce 3 colonne (fields):

    Sub CreateTable()

    Dim tbl As New Table
    Dim cat As New ADOX.Catalog

    'Open the catalog.
    ' Open the Catalog.
    cat.ActiveConnection = _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=c:\Program Files\Microsoft Office\" & _
    "Office\Samples\Northwind.mdb;"

    tbl.Name = "MyTable"
    tbl.Columns.Append "Column1", adInteger
    tbl.Columns.Append "Column2", adInteger
    tbl.Columns.Append "Column3", adVarWChar, 50
    cat.Tables.Append tbl

    End Sub

    Spero ti sia d'aiuto, fammi sapere...
    Ciao!!
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    40

    Trovato,

    Allora ho risolto diversamente, basta una query sql, eccola:

    *********************
    cmd.CommandText = "ALTER TABLE GIACENTI_CAUSA_RETE_SATURA ADD pippo Char(30) not null"
    Set rs = cmd.Execute
    *********************


    basta questo comando sql "ALter Table con ADD, ed è fatto, comunque grazie per la collaborazione.

  4. #4
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    Per interagire con la struttura del database (aggiungi-togli-modifica elementi) puoi utilizzare oggetti ADOX invece di oggetti ADO. Ti rimando a MSDN per maggiori info.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.