Un database di Access (.accdb) da VBA in Word e aggiungere tabelle con relazioni
utilizzando il motore di database di Access. Ecco un esempio di come potresti farlo:
Sub CreaDatabaseAccess()
Dim accessApp As Object
Dim accessDB As Object
Dim accessTable1 As Object
Dim accessTable2 As Object
Dim accessRelation As Object
' Crea un nuovo oggetto Access.Application
Set accessApp = CreateObject("Access.Application")
accessApp.Visible = True ' Mostra Access
' Crea un nuovo database di Access
Set accessDB =
accessApp.DBEngine.CreateDatabase("C:\Path\To\Your\Database.accdb",
DB_LANG_GENERAL)
' Crea la prima tabella
Set accessTable1 = accessDB.CreateTableDef("Tabella1")
With accessTable1
' Aggiungi campi alla tabella
.Fields.Append .CreateField("ID", DB_LONG)
.Fields.Append .CreateField("Nome", DB_TEXT)
' Imposta la chiave primaria
.Fields("ID").Attributes = DB_AUTOINCR_FIELD
.Fields("Nome").Size = 255 ' Dimensione del campo Nome
End With
' Aggiungi la tabella al database
accessDB.TableDefs.Append accessTable1
' Crea la seconda tabella
Set accessTable2 = accessDB.CreateTableDef("Tabella2")
With accessTable2
' Aggiungi campi alla tabella
.Fields.Append .CreateField("ID", DB_LONG)
.Fields.Append .CreateField("Tabella1_ID", DB_LONG)
.Fields.Append .CreateField("Valore", DB_TEXT)
' Imposta la chiave primaria
.Fields("ID").Attributes = DB_AUTOINCR_FIELD
.Fields("Tabella1_ID").Required = True
.Fields("Valore").Size = 255 ' Dimensione del campo Valore
End With
' Aggiungi la tabella al database
accessDB.TableDefs.Append accessTable2
' Crea una relazione tra le tabelle
Set accessRelation = accessDB.CreateRelation("Relazione1")
With accessRelation
.Table = "Tabella1"
.ForeignTable = "Tabella2"
.Fields.Append .CreateField("ID")
.ForeignFields.Append .CreateField("Tabella1_ID")
End With
' Aggiungi la relazione al database
accessDB.Relations.Append accessRelation
' Chiudi e salva il database di Access
accessDB.Close
accessApp.Quit
' Rilascia le risorse
Set accessRelation = Nothing
Set accessTable2 = Nothing
Set accessTable1 = Nothing
Set accessDB = Nothing
Set accessApp = Nothing
End Sub
Assicurati di modificare il percorso del database di Access
("C:\Path\To\Your\Database.accdb") nel codice in modo che corrisponda al percorso
desiderato sul tuo sistema. Questo codice crea un nuovo database di Access con
due tabelle e una relazione tra di esse. Puoi espandere questo esempio
aggiungendo più campi alle tabelle o creando più relazioni secondo le tue esigenze
specifiche.