Requête SQL sous VB

Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 - 25 juil. 2005 à 12:22
gillestang Messages postés 58 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 10 juin 2011 - 7 nov. 2009 à 12:23
Au secour !!!!!!!!!!!
Voilà, j'ai besoin de faire une requête SQL sous VB mais il semble qu'il y a des erreurs dans ma syntaxe. Le problème et que j'ai beau chercher, je ne trouve pas où! Si quelqu'un pouvait m'aider, je vous en remercie par avance.



voici mon code :

StrChaineSQL = " INSERT INTO tblLocalisations ( RefBat, Etage, Bureau, Position, PositionNorm, CreerPar, DateCreation, Actif ) " & _
" SELECT tblFicheTransfert.BatArr, tblFicheTransfert.EtagArr, tblFicheTransfert.BurArr, tblFicheTransfert.PosArr, tblFicheTransfert.PosNormArr, '" & Environ("username") & "' As Expr2, '" & Now() & "' As Expr3, -1 AS Expr1 " & _ " FROM tblFicheTransfert LEFT JOIN tblLocalisations ON (tblFicheTransfert.PosArr tblLocalisations.Position) AND (tblFicheTransfert.BurArr tblLocalisations.Bureau) AND (tblFicheTransfert.EtagArr = tblLocalisations.Etage) AND (tblFicheTransfert.BatArr = tblLocalisations.RefBat) " & _
" WHERE (((tblFicheTransfert.RefTransf)=[Formulaires]![frmDossTransferts]![RefTransf]) AND ((tblFicheTransfert.BatArr) Is Not Null) AND ((tblFicheTransfert.EtagArr) Is Not Null) AND ((tblFicheTransfert.BurArr) Is Not Null) AND ((tblFicheTransfert.PosArr) Is Not Null) AND ((tblLocalisations.RefBat) Is Null) AND ((tblLocalisations.Etage) Is Null) AND ((tblLocalisations.Travee) Is Null) AND ((tblLocalisations.Bureau) Is Null) AND ((tblLocalisations.Position) Is Null)) ; "

CurrentDb.Execute StrChaineSQL

Le message d'erreur est :


" Trop peu de paramètres. 1 attendu."

7 réponses

Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
25 juil. 2005 à 12:28
Salut,

C'est que ne nom de paramettre que tu as à inserer (
RefBat, Etage, Bureau, Position, PositionNorm, CreerPar, DateCreation, Actif ) ne correspond pas au nombre de valeurs que tu affectes ... genre une en moins, ou une en trop..



un compte vit fait semble te donner 8 champs à reseigner et 9 valeurs ... sauf erreur de ma part


Comment tu fais pour mettre 9 boites dans 8 cartons ?



++

Zlub
0
franck7593 Messages postés 25 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 17 août 2005
25 juil. 2005 à 14:37
On pli les boites ?
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
25 juil. 2005 à 14:41
Salut,

Même pas ... t'apprends à compter et tu vois que 8 boites rentrent dans 8 cartons ... :)

++

Zlub
0
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
25 juil. 2005 à 14:46
Non j'ai bien la même quantité de champs selectionnés et de champs de destination. A savoir 8
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
25 juil. 2005 à 15:13
Salut,

J'ai vu ... voir mon post de 14:41:50 ...

++

Zlub
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
26 juil. 2005 à 04:20
Salut,

Déjà fais du ménage
das les parenthese parcequ'Access est bien sympas mais faut qu'il
arrete de tout parenthéser... limite s'il fait pas lettre par lettre
....



Ensuite c'est possible que tu autorises la saisie d'une valeur nulle ou vide dans une table et pas dans l'autre...



Tu devrais faire un Debug.print StrChaineSQL et vérifier que la requête est bonne...

++

Zlub
0
gillestang Messages postés 58 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 10 juin 2011
7 nov. 2009 à 12:23
Bonjour j'ai regardé votre code SQL deux truc ont attiré mon attention je les mets en gras

StrChaineSQL = " INSERT INTO tblLocalisations ( RefBat, Etage, Bureau, Position, PositionNorm, CreerPar, DateCreation, Actif ) " & _
" SELECT tblFicheTransfert.BatArr, tblFicheTransfert.EtagArr, tblFicheTransfert.BurArr, tblFicheTransfert.PosArr, tblFicheTransfert.PosNormArr, '" & Environ("username") & "' As Expr2, '" & Now() & "' As Expr3, -1 AS Expr1 " & _
" FROM tblFicheTransfert LEFT JOIN tblLocalisations ON (tblFicheTransfert.PosArr tblLocalisations.Position) AND (tblFicheTransfert.BurArr tblLocalisations.Bureau) AND (tblFicheTransfert.EtagArr = tblLocalisations.Etage) AND (tblFicheTransfert.BatArr = tblLocalisations.RefBat) " & _
" WHERE (((tblFicheTransfert.RefTransf)=[Formulaires]![frmDossTransferts]![RefTransf]) AND ((tblFicheTransfert.BatArr) Is Not Null) AND ((tblFicheTransfert.EtagArr) Is Not Null) AND ((tblFicheTransfert.BurArr) Is Not Null) AND ((tblFicheTransfert.PosArr) Is Not Null) AND ((tblLocalisations.RefBat) Is Null) AND ((tblLocalisations.Etage) Is Null) AND ((tblLocalisations.Travee) Is Null) AND ((tblLocalisations.Bureau) Is Null) AND ((tblLocalisations.Position) Is Null)) ; "

CurrentDb.Execute StrChaineSQL

la syntaxe est " ......... " & var & ".........."
tu as dans var ( Environ("username") ) je pense que les cotes que tu as dans var peuvent être une source d'erreur.

a ce niveau là aussi je pense qu'il y a problème "' As Expr3, -1 AS Expr1 " & _ je crois que tu devais mettre : "' As Expr3, -1 AS Expr1 '"
et enfin cette expression ( ; ") pas de point virgule en VB à la fin de la requette je pense.
0