NogGeenGuru
Gebruiker
- Lid geworden
- 5 aug 2015
- Berichten
- 130
Beste forumleden,
Via Excel wil ik graag data toevoegen aan een Access DB.
Excel wordt hierbij gebruikt als invoerveld.
om dit te proberen heb ik een testtabel aangemaakt (A, genaamd).
Tabel A bestaat uit twee velden X (autoincrement) en Y (varchar(255)).
in Excel heb ik de volgende macro:
Wanneer ik deze query vanuit Acces uitvoer gaat alles goed!
Excel verteld mij dat een parameter mist, waarschijnlijk doelt Excel op kolom X.
Ik heb natuurlijk even gezocht maar ik kan nergens vinden hoe ik via Excel VBA een autoincrement veld kan vullen.
Heeft iemand hier een antwoord op?
EDIT: oplossing gevonden!
Query moet worden:
Via Excel wil ik graag data toevoegen aan een Access DB.
Excel wordt hierbij gebruikt als invoerveld.
om dit te proberen heb ik een testtabel aangemaakt (A, genaamd).
Tabel A bestaat uit twee velden X (autoincrement) en Y (varchar(255)).
in Excel heb ik de volgende macro:
Code:
Sub ExportDataToAccess()
Dim cn As Object
Dim strQuery As String
Dim Y As String
Dim myDB As String
'Initialize Variables
Name = ActiveSheet.Range("A1")
myDB = "<Locatie van mijn DB>.accdb"
Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = myDB
.Open
End With
strQuery = "INSERT INTO A ([Y]) " & _
"VALUES (" & Y & "); "
cn.Execute strQuery
cn.Close
Set cn = Nothing
End Sub
Wanneer ik deze query vanuit Acces uitvoer gaat alles goed!
Excel verteld mij dat een parameter mist, waarschijnlijk doelt Excel op kolom X.
Ik heb natuurlijk even gezocht maar ik kan nergens vinden hoe ik via Excel VBA een autoincrement veld kan vullen.
Heeft iemand hier een antwoord op?
EDIT: oplossing gevonden!
Query moet worden:
Code:
"INSERT INTO A ([Y]) VALUES ('" & Name & "'); "
Laatst bewerkt: