Programmazione: creare una tabella con chiave primaria attraverso Visual Basic
Nel precedente tutorial abbiamo visto come collegare i dati contenuti in tabelle ad un database esterno con Visual Basic.
In questo articolo vediamo come invece, sempre
con l'aiuto di Visual Basic, creare una tabella con
relativa chiave primaria.
L'esempio che potete scaricare prevede una maschera con
un pulsante che sull'evento Su clic
esegue il codice che riporto sotto e crea una tabella
chiamata Test_ADO di esempio.
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", , "Crea tabella"
'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
Come
nell'esempio precedente anche qui dobbiamo verificare
che i riferimenti alla libreria Microsoft ADOX 2.7 o superiori
siano corretti: dal Visual
Basic (dove inserite la routine) andate su
Strumenti e poi Riferimenti e
spuntare i riferimenti di Fig.1
Fig.1
Buon lavoro.