VBA erreur de Syntaxe (opérateur absent) dans l'expression de requête 'PopID ='
Le code suivant génère une erreur lorsque vous tentez de l'exécuter, je présume que j'ai réussi à réellement se connecter à la base de données et j'ai une cellule sélectionné, de sorte que vous ne savez pas ce qui manque.
ERREUR:
Erreur de syntaxe (opérateur absent) dans l'expression de requête 'PopID ='.
Idéalement, je voudrais être en mesure d'énumérer les quatre cellules qui irait dans les quatre colonnes dans l'accès ajoutant chaque fois que la macro est lancée
Const TARGET_DB = "testdb.accdb"
Sub AlterOneRecord() 'not working yet
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Dim MyConn
Dim lngRow As Long
Dim lngID As String
Dim j As Long
Dim sSQL As String
'determine the ID of the current record and define the SQL statement
lngRow = ActiveCell.Row
lngID = Cells(lngRow, 1).Value
sSQL = "SELECT * FROM tblPopulation WHERE PopID = " & lngID
Set cnn = New ADODB.Connection
MyConn = ThisWorkbook.path & Application.PathSeparator & TARGET_DB
With cnn
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;"
.Open MyConn
End With
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseServer
rst.Open Source:=sSQL, _
ActiveConnection:=cnn, _
CursorType:=adOpenKeyset, _
LockType:=adLockOptimistic
'Load contents of modified record from Excel to Access.
'do not load the ID again.
For j = 2 To 7
rst(Cells(1, j).Value) = Cells(lngRow, j).Value
Next j
rst.Update
' Close the connection
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
End Sub
Je trouve ça étrange avec eux à la fois être M$ des produits que ce n'est pas bien documentée ou vraiment, vraiment facile à réaliser. Peut-être que je vais à ce sujet dans le mauvais sens.
Comment ai-je pu faire elle contient les cellules A1 et B2 par exemple?
Vous devez vous connecter pour publier un commentaire.
Vous besoin de citer des chaînes
lngID
ne contient aucune valeur.