Vba access pb de connection bdd et pb requète - Page 2
Résolu
Précédent
- 1
- 2
-
G peut être trouver une alternative a sa je vais finalement combiner les deux tables (je supprime la table tarifs et l'insère dans la table Produit) et pour les dates et l'année je ferai un formulaire de mise a jour.
Parce que là je croi que sa ne va jamais marcher.
Merci quand pour ces aides; ça m'a aidé a mieux comprendre la combinaison vba sql.
Encore merci a vous pour votre réactiviter. -
Bonjour,
Pour mon sql en faite il suffit d'enlever le ".Text" qu'il y a dans les variables.
Maintenant il accepte mon sql.
Après il suffit que les variable soit du même format. Sa c'est autre chose. -
Bonjour,
G une erreur dans ma requète mais je ne sais pas où.
Enfin C le débeugueur de visual basic access 2007 qui me dit :
Erreur 3067: la requête doit être construite à partir d'au moins une table ou une requête source.
Voilà le code:
reqI = "INSERT INTO TblAncienTarifs (N°Produit, Année, DateActualisation, PrixHT, Remise, DateDébut, DateFin, Commentaire) VALUES (" & txtN°Pdt & ", (SELECT Année FROM TblProduit WHERE N°Produit= " & txtN°Pdt & ") , (SELECT DateActualisation FROM TblProduit WHERE N°Produit= " & txtN°Pdt & ") , (SELECT PrixHT FROM TblProduit WHERE N°Produit= " & txtN°Pdt & ") , (SELECT Remise FROM TblProduit WHERE N°Produit= " & txtN°Pdt & ") , (SELECT DateDébut FROM TblProduit WHERE N°Produit= " & txtN°Pdt & ") , (SELECT DateFin FROM TblProduit WHERE N°Produit= " & txtN°Pdt & ") , (SELECT Commentaire FROM TblProduit WHERE N°Produit= " & txtN°Pdt & "));"
Merci d'avance. -
J'insiste : on ne met pas un select dans un value, il faut contruire la chaine reqI avec des dlookup à la place des select...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
dlookup ne fonctionne pas pour récupérer les champs de type Numéro auto?
-
non sa ne marche pas il m'affiche:
erreur 2471:
L'expression entrée comme paramètre est à l'originede l'erreur suivante:<<N°Produit>>.
voilà mon code:
reqS1 = DLookup("N°Propduit", "TblProduit", "N°Produit = " & txtN°Pdt & " ")
reqS1 est déclarer en Variant.
Merci d'avance. -
non C bon cette ligne ne me servait à rien en faite.
Mon insert into marche mais bizarrement en faite il a du mal a rentré les dates (ex: au lieu de rentrée 01/01/2008, il rentre 00:00:43 or il est 8:33) ainsi que les variables string (au lieu de mettre rien il met 1,28652058432935E-03).
C'est vraiment bizarre.
Voilà mon code:
reqS2 = DLookup("Année", "TblProduit", "N°Produit = " & txtN°Pdt & "")
reqS3 = DLookup("DateActualisation", "TblProduit", "N°Produit = " & txtN°Pdt & " ")
reqS4 = DLookup("PrixHT", "TblProduit", "N°Produit = " & txtN°Pdt & " ")
reqS5 = DLookup("Remise", "TblProduit", "N°Produit = " & txtN°Pdt & " ")
reqS6 = DLookup("DateDébut", "TblProduit", "N°Produit = " & txtN°Pdt & " ")
reqS7 = DLookup("DateFin", "TblProduit", "N°Produit = " & txtN°Pdt & " ")
reqI = "INSERT INTO TblAncienTarifs (N°Produit, Année, DateActualisation, PrixHT, Remise, DateDébut, DateFin, Commentaire) VALUES (" & txtN°Pdt & ", " & reqS2 & ", " & reqS3 & ", " & reqS4 & ", " & reqS5 & ", " & reqS6 & ", " & reqS7 & ");"
Merci d'avance. -
Autant pour moi G complètement oublier de mettre la colone qu'est en string et G du mal a me rentré dans la tête les # pour les dates.
Sinn G fait les modifs et voilà le résultat:
Erreur 3346:
Le nombre de valeur de la requête doit coïncider avec le nombre de champs destination.
Voilà le code:
reqI = "INSERT INTO TblAncienTarifs (N°Produit, Année, DateActualisation, PrixHT, Remise, DateDébut, DateFin, Commentaire) VALUES (" & txtN°Pdt & ", " & reqS2 & ", #" & reqS3 & "#, " & reqS4 & ", " & reqS5 & ", #" & reqS6 & "#, #" & reqS7 & "#, '" & reqS1 & "');"
Et pour répondre a ta question la colonne est en texte. -
Je crois savoir.
que se passe t-il quand on veut insérer un nombre a virgule??
formalisme insert into:
INSERT INTO NomDeTable (Champ1, ...) VALUES (Val1, ...)
Or si une des valeur est avec une virgule je pense que sa pose problème:
ex: essayer d'insérer 0,13 (soit 13%) sa fera:
INSERT INTO NomDeTable (Champ1, Champ2) VALUES (Val1, 0,13)
!!!!!!
on veut insérer 2 valeur mais du fait du chffre a virgule il pense qu'on en rentre 3. Même si on rajoute un espace ça ne fonctionnera pas car il ne prend en compte les espace que quand il sont entre []. Mais cela n'a aucun sens pour les type numérique, on utilise ça uniquement dans le cas de données textes contenant des espaces (ex: [salut a tous]).
Comment faire pour insérer des chiffres a virgules??
Merci d'avance. -
c'est sa le problème mon champ est de type numérique et plus précisément pourcentage et de base il met les virgules.
Mais a mon avis si je mais:
INSERT INTO NomTable (Champ1, Champ2) VALUES ([Val1] ,[Val2])
Ça contredit ce que j'ai dit mais il y a que les cons qui ne change pas d'avis^^.
Qui ne tante rien a rien au point où j'en suis. -
Ça ne fonctionne toujours pas avec les []. Ça me dit qu'il manque une donnée.
-
ouf enfin sa marche a merveille.
Je te remercie Blux. -
il faut impérativement mettre des ' pour les nombres a virgule (dans le cas ou vous mettez des virgules) car sinon sa créer une erreur. G eu le même problème avec un update.
En tout cas encore merci.
Précédent
- 1
- 2