VBA Con Excel e Access

martedì 23 settembre 2008 - 16.44

logan1987 Profilo | Newbie

Ciao, ho la necessità di utilizzare del codice vba richiamato da excel per creare un db access di appoggio dove elaborare una grande quantità di dati ed eventualmente fare reportistica, per poi (probabilmente) reimportare il risultato dell'elaborazione in excel...

...qualcuno sa indicarmi qualche risorsa/materiale su cui posso fare riferimento per imparare al meglio come creare db access da vb, crearci una tabella con dei campi, popolarla (sempre da vba), elaborare ecc?

in pratica gestire dati in access da vba (richiamato da excel). grazie a tutti

Dainesi Profilo | Senior Member

>Ciao, ho la necessità di utilizzare del codice vba richiamato
>da excel per creare un db access di appoggio dove elaborare una
>grande quantità di dati ed eventualmente fare reportistica, per
>poi (probabilmente) reimportare il risultato dell'elaborazione
>in excel...
>
>...qualcuno sa indicarmi qualche risorsa/materiale su cui posso
>fare riferimento per imparare al meglio come creare db access
>da vb, crearci una tabella con dei campi, popolarla (sempre da
>vba), elaborare ecc?
>
>in pratica gestire dati in access da vba (richiamato da excel).
>grazie a tutti

La cosa è semplice, basta dichiarare come riferimento la libreria DAO (Data Access Object dove Access è proprio MS Access!) e programmare i suoi oggetti.

Ecco la routine che devi inserire e poi modificare secondo i tuoi desideri:

Public Sub CreaDB()

'Questa routine crea un DB Access nella root del disco C

Dim DB As DAO.Database
Dim TB As DAO.TableDef
Dim FD As DAO.Field
Dim ID As DAO.Index

'Creo il contenitore
Set DB = DAO.DBEngine.CreateDatabase("C:\DBTest.mdb", dbLangGeneral & ";pwd=123", dbVersion40)

'Creo le Tabelle
Set TB = DB.CreateTableDef("taClienti")
'Creo 3 campi
Set FD = TB.CreateField("ID_Cliente", dbLong)
TB.Fields.Append FD
Set FD = TB.CreateField("Cliente", dbText, 255)
TB.Fields.Append FD
Set FD = TB.CreateField("DataInserimento", dbDate)
TB.Fields.Append FD
'Creo un indice
Set ID = TB.CreateIndex
With ID
.Name = "idxCliente"
.Clustered = True
.Fields = "ID_Cliente"
.IgnoreNulls = False
.Primary = True
.Unique = True
End With
TB.Indexes.Append ID
DB.TableDefs.Append TB

End Sub
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5