nitro81
Messages postés23Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention17 avril 2008
-
10 avril 2008 à 09:21
nitro81
Messages postés23Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention17 avril 2008
-
10 avril 2008 à 11:26
Bonjour à tous,
J'ai fais un code pour importer des données Excel dans une table Access. Ce code marche parfaitement. Et maintenant, je voudrai effectué un test pour savoir si un enregistrement est déjà présent dans ma table, auquel cas, je met à jour ma ligne Access, sinon je la créée.
Je n'arrive pas à faire un code qui marche. Quelqu'un peut-il m'aider svp ??
Mon code :
If ???? (condition qui dit si ma ligne n'est pas présente)
cSQL = "INSERT INTOnom_table (colonne1, colonne2) VALUES ('" & Req(1) & "', '"& Req(2) &"')"
DoCmd.RunSQL cSQL 'execution de la requete SQL
Else
cSQL = "UPDATE nom_table SET colonne2='" & Req(2) & "' WHERE colonne1='" & Req(1) & "'"
DoCmd.RunSQL cSQL 'execution de la requete SQL
End if
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 avril 2008 à 09:52
Re,
Dim rs As Recordset
Dim sql As String sql " SELECT colonne1 FROM nom_table WHERE colonne1 ' " & Req(1) & " ' "
Set rs = CurrentDb.openRecordset(sql)
MsgBox (rs("colonne1").Value) 'tu as ici la valeur
rs .Close
Set rs = Nothing
, ----
[code.aspx?ID=41455 By Renfield]
nitro81
Messages postés23Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention17 avril 2008 10 avril 2008 à 11:26
J'ai toujours un problème en fait. En effet, la valeur de la table est nulle quand l'enregistrement n'est pas le même ( pour la requete toto ) et dès que je compare la valeur dans ma boucle If, ça me met l'erreur : "aucun enregistrement en cours"
Si quelqu'un peut m'aider une nouvelle fois. Merci d'avance.
Mon code :
Req(1) = .Range("E" & i).Value
toto = "SELECT * FROM nom_table WHERE colonne1='" & Req(1) & "'"
Set rs = CurrentDb.OpenRecordset(toto)
If (rs("colonne1").Value <> Req(1)) Then
cSQL = "INSERT INTO nom_table (colonne1, colonne2) VALUES ('" & Req(1) & "', 'tata')"
DoCmd.RunSQL cSQL 'execution de la requete SQL
Else
cSQL = "UPDATE nom_table SET colonne2='maj' WHERE colonne1='" & Req(1) & "'"
DoCmd.RunSQL cSQL 'execution de la requete SQL
End If