AIde SQL ACCESS

cs_papaours Messages postés 20 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 10 septembre 2003 - 9 sept. 2003 à 17:30
cs_papaours Messages postés 20 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 10 septembre 2003 - 10 sept. 2003 à 09:41
salut bon mon bout de code me sort trop peu de parametre 3 attendus.
JE NE PIGES PAS;
MERCI.

Public XLS As Object
Sub Macro1()
Dim DB1 As Database, dbs As Database
Dim Sql As String
Set XLS = CreateObject("Excel.application")
D1 = "Z:\Alex\William\Base"
D2 = "Appareil.xls"
Set DB1 = OpenDatabase("Z:\Alex\William\Fourre_tout\Copie de Classeur2.mdb")
Set dbs = CurrentDb
With XLS
.Workbooks.Open D1 & D2
i = 2
Do While .Cells(i, 1) <> ""

iANALYSEUR = Cells(i, 1)
iNUMERO = Cells(i, 2)
iNuméro = Cells(i, 3)
Sql = "INSERT INTO Appareil0 (ANALYSEUR, NUMERO, Numéro) values (iANALYSEUR,iNUMERO,iNuméro);"
DB1.Execute Sql '****pd ici

i = i + 1
Loop
End With
XLS.Quit
dbs.Close
DB1.Close

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 sept. 2003 à 20:40
C'est clair !
Ta requète n'est pas bonne :
Tu mets iANALYSEUR, iNUMERO et iNuméro dans les guillemets : Il comprend qu'il s'agit de texte, pas de valeurs de variables.
Transforme :
Sql = "INSERT INTO Appareil0 (ANALYSEUR, NUMERO, Numéro) values (" & CStr(iANALYSEUR) & "," & CStr(iNUMERO) & "," & CStr(iNuméro) & ");"
A condition que tes 3 variables soient numériques.

De plus, dans l'exécution, ajoute une variable après :
DB1.Execute Sql, Nb
Nb te donnera le nombre de record écrit.
Bien sûr, là, il faut que Nb = 1 sinon, cela voudrait dire que le Insert s'est mal déroulé -> action à prévoir ?

Vala
Jack
0
cs_papaours Messages postés 20 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 10 septembre 2003
10 sept. 2003 à 09:41
oui tu as raison pour mes variables.
mais en faisant ca
Sql = "INSERT INTO Appareil0 (ANALYSEUR, NUMERO) values (" & iANALYSEUR & "," & iNUMERO & ");"

il me sort trop peu de variable 1 attendu
qué za quo?
0
Rejoignez-nous