Non è un'idea da scartare.Originariamente inviato da Veronica80
Allora il fatto è che dovrei inserire la funzione in un vasto software già finito...sarebbe da morire...
Questo che sto facendo è un update al software che mi è stato chiesto e per evitare di dover intervenire manualmente su tutti i software dei clienti vorrei farlo in automatico creando una piccola patch...
La butto lì....avendo un campo con le stesse identiche proprietà che ho postato sopra nell'immagine è possibile clonarlo?
In quel caso lo copio nella tabella con un nuovo nome (visto che le proprietà sono identiche)
Con questo bordello di codice partorito alla cavolocodice:Private Sub Command1_Click() On Error GoTo Errore Const strConn = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='c:\tmp\db2003.mdb'" Dim DBConn As New ADODB.Connection, fld As New ADOX.Column Dim TB As New ADOX.Table, ACAT As New ADOX.Catalog DBConn.Open strConn, "Admin" 'questo è il codice tipico 'DBConn.Execute ("ALTER TABLE Tabella1 ADD NuovoCampo integer DEFAULT 0 ") Set ACAT.ActiveConnection = DBConn 'con questo leggo le info di un campo gia' esistente Set fld = ACAT.Tables("Tabella1").Columns("NuovoCampo") 'sistemo le proprietà del campo ' With fld ' .Name = "NuovoCampo" ' .Type = adCurrency ' .NumericScale = 4 Dim pp As Property For Each pp In fld.Properties Debug.Print pp.Name & " --> " & pp.Value Next ' End With 'imposto la tbb ' Set TB = ACAT.Tables("Tabella1") ' TB.Columns.Append fld Fine: DBConn.Close Exit Sub Errore: Debug.Print Err.Number; Err.Description Resume Fine End Subfai un po' di tutto.
Se ne capisci di VB6 :master: noterai che puoi leggere le proprietà di un campo esistente (cosi' com'è ora i codice) oppure creare con stringa (come dicevi inizialmente) oppure creare un campo e le relative proprietà.
Fa tutto tramite il riferimento alla DLL ADOX![]()
p.s. la foto è la tua?![]()

fai un po' di tutto.
Rispondi quotando