Può essere utile
creare tabelle con relativa chiave primaria
utilizzando visual basic.
Questo esempio prevede una maschera con un tasto
che crea una tabella Test_ADO d'esempio.
Serve Access 2000
o XP (scaricate l'esempio per
Access 2000).
La routine è la
seguente:
Private Sub Comando0_Click()
'Questo esempio crea una tabella e dei
'campi nel database corrente
MsgBox "Se la tabella Test_ADO esiste già bisogna cancellarla", , "ISI s.r.l."
'Oggetti ADOx
Dim cat As ADOX.Catalog
Dim tbl As New ADOX.Table
Dim idx As ADOX.Index
'On Error GoTo Proc_Err
Set cat = New ADOX.Catalog
'Punta l'oggetto Catalog
'al database corrente
cat.ActiveConnection = CurrentProject.Connection
Set tbl = New ADOX.Table
'Crea la tabella
With tbl
.Name = "Test_ADO"
.ParentCatalog = cat
.Columns.Append "Test_ID", adInteger
'Imposta il campo
contatore
.Columns("Test_ID").Properties("Autoincrement") = True
.Columns.Append "Nome", adWChar, 25
.Columns.Append "Cognome", adWChar, 25
.Columns.Append "Telefono", adWChar, 50
End With
'Aggiunge la tabella al catalogo
cat.Tables.Append tbl
'Crea l'oggetto index
Set idx = New ADOX.Index
'Imposta l'indice
'per essere la chiave primaria e lo ordina
'in senso discendente
With idx
.Name = "PrimaryKey"
.Columns.Append "Test_ID"
.Columns("Test_ID").SortOrder = adSortDescending
.IndexNulls = adIndexNullsDisallow
.PrimaryKey = True
End With
'Aggiunge l'indice alla tabella
tbl.Indexes.Append idx
'Ripulisce
Set cat = Nothing
Proc_Exit:
Exit Sub
Proc_Err:
MsgBox Err.Description
Resume Proc_Exit
End Sub
|