Tuning Max
Messages postés314Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention31 août 2006
-
25 juil. 2005 à 12:22
gillestang
Messages postés58Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention10 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)) ; "
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 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
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 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...
gillestang
Messages postés58Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention10 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.