A voir également:
- [ACCESS]Problème requête avec variables
- Access denied - Forum Bbox Bouygues
- Requete http - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- You don't have permission to access this resource ✓ - Forum Internet / Réseaux sociaux
- Exemple base de données access à télécharger gratuit - Forum Access
5 réponses
LatelyGeek
Messages postés
1758
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
5 janvier 2023
549
30 mai 2008 à 19:31
30 mai 2008 à 19:31
C'est que la syntaxe de ton SQL n'est pas bonne. Le " après Quantité* ferme le premier " et donc Access ne peut pas évaluer la suite.
LatelyGeek
Messages postés
1758
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
5 janvier 2023
549
31 mai 2008 à 20:24
31 mai 2008 à 20:24
Pardon, je tilte tard, c'est surtout que tu ne peux pas "lancer" un SELECT avec RunSQL (Qui EXECUTE les requêtes actions.
C'est possible que tu enregistres le SELECT comme une requête? Tu pourrais le lancer avec un DoCmd.OpenQuery, qui lui, fonctionne parfaitement.
C'est possible que tu enregistres le SELECT comme une requête? Tu pourrais le lancer avec un DoCmd.OpenQuery, qui lui, fonctionne parfaitement.
Le problème est que j'ai déjà essayé de cette manière... j'ai crée une requête, j'y ai collé le code ci-desus et j'ai lié le formulaire avec OpenQuery.. mais ca ne marche pas... je pense qu'il n'aime pas la syntaxe avec les variables... y a un moyen de lui faire passer la pillule?
Merci
Cam'
Merci
Cam'
bonjour,
Tu peux créer une requête avec la méthode CreateQueryDef.
J'explique, d'abord tu crée une requête manuellement, peut importe ce que tu mets dedans, l'important c'est qu'elle existe, on l'appellera Requête1
Voici le code pour créer une requête:
Salut.
Tu peux créer une requête avec la méthode CreateQueryDef.
J'explique, d'abord tu crée une requête manuellement, peut importe ce que tu mets dedans, l'important c'est qu'elle existe, on l'appellera Requête1
Voici le code pour créer une requête:
Dim dbs As Database, qdf As QueryDef, stDocName As String
Set dbs = CurrentDb
stDocName = "SELECT DISTINCT NOMENCLATURE.Quantite*" & test2 & " AS QuantiteTotale, PRODUIT.NomProd, NOMENCLATURE.Quantite*" & test2 & "*PRODUIT.CoutProd AS CoutTotal, PRODUIT.StockProd-NOMENCLATURE.Quantite*" & test2 & " AS StockFinal, PRODUIT.SSProd, IIf(PRODUIT.StockProd-NOMENCLATURE.Quantite*" & test2 & " <PRODUIT.SSProd,1,0) AS Commande, IIf(PRODUIT.SSProd-PRODUIT.StockProd+NOMENCLATURE.Quantite*" & test2 & ">0,PRODUIT.SSProd-PRODUIT.StockProd+NOMENCLATURE.Quantite*" & test2 & ",0) AS QuantiteACommander, PRODUIT.LotEconomique " & _
"FROM PRODUIT, NOMENCLATURE " & _
"WHERE ((PRODUIT.IdProd=NOMENCLATURE.IdEnfant) AND ((NOMENCLATURE.IdEnfant) In (SELECT DISTINCT NOMENCLATURE.IdEnfant FROM NOMENCLATURE, PRODUIT WHERE PRODUIT.IdProd = " & test & " AND PRODUIT.IdProd = NOMENCLATURE.IdParent;)));"
dbs.QueryDefs.Delete ("Requête1") ' effacer requête existante
Set qdf = dbs.CreateQueryDef("Requête1", stDocName) ' recréer requête avec variables
DoCmd.OpenQuery "Requête1"
Salut.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
31 mai 2008 à 15:34
Je vois pas ce qu'il faut que je mette...
merci de l'aide
Cam'