Critères pour requête Access 2003
Dernière réponse : dans Programmation
Bonjour,
Je souhaite pouvoir afficher le dernier enregistrement ajouté grâce à une requête paramétrée multitables.
Lorsque dans le champ "critère" de ma requête, j'écris : [N° de BSDD ?]
Une boîte de dialogue s'ouvre, me proposant de renseigner le numéro de bordereau et la requête me renvoie le bon et l'unique résultat.
Peut-on envisager d'automatiser cette phase en indiquant à la requête de ne choisir et de n'afficher que le numéro et les champs du dernier BSDD enregistré.
Sur une requête mono table = aucun problème (en utilisant la fonction "dernier")
mais sur ma requête multi tables, elle me renvoie tous les numéros de la table.
En espérant avoir été suffisamment clair pour vous permettre de m'éclairer
Cordialement,
Je souhaite pouvoir afficher le dernier enregistrement ajouté grâce à une requête paramétrée multitables.
Lorsque dans le champ "critère" de ma requête, j'écris : [N° de BSDD ?]
Une boîte de dialogue s'ouvre, me proposant de renseigner le numéro de bordereau et la requête me renvoie le bon et l'unique résultat.
Peut-on envisager d'automatiser cette phase en indiquant à la requête de ne choisir et de n'afficher que le numéro et les champs du dernier BSDD enregistré.
Sur une requête mono table = aucun problème (en utilisant la fonction "dernier")
mais sur ma requête multi tables, elle me renvoie tous les numéros de la table.
En espérant avoir été suffisamment clair pour vous permettre de m'éclairer
Cordialement,
Autres pages sur : criteres requete access 2003
Lassé par la pub ? Créez un compte
zeb a dit :
Bonjour,Tu as un problème de VB ou de SQL ?
Ou bien n'utilises-tu ni l'un ni l'autre et te contentes-tu de faire des formulaires avec Access ?
Bonjour Zeb,
Effectivement, je débute sur Access et j'utilise beaucoup l'assistant. cette requête a été conçue en mode création.
Cependant, j'appréhende petit à petit le VBA et le SQL.
S'il est possible grâce à du code VB ou SQL d'obtenir ce que je veux je suis preneur
Cordialement,
Pour les formulaires Access, je t'invite à poster (ou as demander à faire déplacer) ton topic dans la cat' Windows. Ce n'est que de l'utilisation d'un logiciel. On s'éloigne fortement de la programmation.
En revanche, les problèmes SQL ont leur place ici. Et on peut t'y aider.
Quel est le code de ta requête ?
Comment le critère "Dernier enregistré" est-il déterminable ? (Un champ "date d'enregistrement" existe-t-il ?)
(Attention, pour publier ton code, utilise la balise [code], conformément au règlement.)
En revanche, les problèmes SQL ont leur place ici. Et on peut t'y aider.
Quel est le code de ta requête ?
Comment le critère "Dernier enregistré" est-il déterminable ? (Un champ "date d'enregistrement" existe-t-il ?)
(Attention, pour publier ton code, utilise la balise [code], conformément au règlement.)
Zeb,
Voici la séquence SQL de ma requête :
Il existe un numéro unique [NumBSDD] sur lequel j'aimerai que la requête me renvoie uniquement la ligne du dernier enregistrement ou le numéro le plus élévé (syntaxe du numéro BSDD = F-0110-XXX : 0110 pour janvier 2010)
Cordialement,
Voici la séquence SQL de ma requête :
SELECT T_sortie.NumBSDD, T_sortie.[Date de sortie], T_prod.Code_Prod, T_prod.NomProd, T_prod.NumRue, T_prod.Voie, T_prod.NomRue, T_prod.CPProd, T_prod.VilleProd, T_prod.TelProd, T_prod.FaxProd, T_prod.MelProd, T_prod.NomContact, T_prod.PrénomContact, T_regroup.Code_reg, T_regroup.NomReg, T_regroup.NumRue, T_regroup.Voie, T_regroup.NomRue, T_regroup.CPReg, T_regroup.VilleReg, T_regroup.TelReg, T_regroup.FaxReg, T_regroup.MelReg, T_regroup.NomContact, T_regroup.PrénomContact, T_coll.Code_coll, T_coll.NomColl, T_coll.NumRue, T_coll.Voie, T_coll.NomRue, T_coll.CPColl, T_coll.VilleColl, T_coll.TelColl, T_coll.FaxColl, T_coll.MelColl, T_coll.NomContact, T_coll.PrénomContact, T_coll.Récépissé, T_coll.Département, T_coll.LimiteVal, T_coll.ModeTransport, T_dechet.NomD, T_dechet.RubriqueD, Sum(T_ent.poids) AS SommeDepoids, T_dechet.Consistance1, T_dechet.Consistance2, T_dechet.Consistance3, T_sortie.QtéEst, T_sortie.QtéRéelle, T_CAP.CAP, T_dechet.CodeDR1, T_dechet.CodeDR2, T_dechet.CodeONU, T_dechet.ADR, T_sortie.TypeCondi, T_sortie.NbColis FROM T_regroup INNER JOIN ((T_condi INNER JOIN T_Ref_regroup ON T_condi.N°_Condi = T_Ref_regroup.N°_Condi) INNER JOIN (T_prod INNER JOIN (((T_coll INNER JOIN T_dechet ON T_coll.Code_coll = T_dechet.Code_coll) INNER JOIN T_ent ON T_dechet.Code_dechet = T_ent.Code_dechet) INNER JOIN (T_CAP INNER JOIN T_sortie ON T_CAP.Code_dechet = T_sortie.Code_dechet) ON T_dechet.Code_dechet = T_sortie.Code_dechet) ON T_prod.Code_Prod = T_dechet.Code_prod) ON (T_Ref_regroup.Code_Ref_regroup = T_sortie.Code_Ref_regroup) AND (T_Ref_regroup.Code_Ref_regroup = T_ent.Code_Ref_regroup)) ON T_regroup.Code_reg = T_dechet.Code_reg GROUP BY T_sortie.NumBSDD, T_sortie.[Date de sortie], T_prod.Code_Prod, T_prod.NomProd, T_prod.NumRue, T_prod.Voie, T_prod.NomRue, T_prod.CPProd, T_prod.VilleProd, T_prod.TelProd, T_prod.FaxProd, T_prod.MelProd, T_prod.NomContact, T_prod.PrénomContact, T_regroup.Code_reg, T_regroup.NomReg, T_regroup.NumRue, T_regroup.Voie, T_regroup.NomRue, T_regroup.CPReg, T_regroup.VilleReg, T_regroup.TelReg, T_regroup.FaxReg, T_regroup.MelReg, T_regroup.NomContact, T_regroup.PrénomContact, T_coll.Code_coll, T_coll.NomColl, T_coll.NumRue, T_coll.Voie, T_coll.NomRue, T_coll.CPColl, T_coll.VilleColl, T_coll.TelColl, T_coll.FaxColl, T_coll.MelColl, T_coll.NomContact, T_coll.PrénomContact, T_coll.Récépissé, T_coll.Département, T_coll.LimiteVal, T_coll.ModeTransport, T_dechet.NomD, T_dechet.RubriqueD, T_dechet.Consistance1, T_dechet.Consistance2, T_dechet.Consistance3, T_sortie.QtéEst, T_sortie.QtéRéelle, T_CAP.CAP, T_dechet.CodeDR1, T_dechet.CodeDR2, T_dechet.CodeONU, T_dechet.ADR, T_sortie.TypeCondi, T_sortie.NbColis ORDER BY T_sortie.NumBSDD DESC;
Il existe un numéro unique [NumBSDD] sur lequel j'aimerai que la requête me renvoie uniquement la ligne du dernier enregistrement ou le numéro le plus élévé (syntaxe du numéro BSDD = F-0110-XXX : 0110 pour janvier 2010)
Cordialement,
9 tables, 57 champs dont 56 clauses de regroupements. Non, mais ça va pas, hein ?! Un bon conseil : apprends le SQL et sers-t-en. Le problème, c'est qu'ensuite, tu ne voudras plus utiliser Access.
Il faut que tu trouves un champ sur lequel tu peux prendre le plus grand (date, numéro). Ton numéro BSDD ne peut pas convenir, parce que, par ordre alpha-numérique, Janvier 2011 (0111) est précédent à Février 2010 (0210). La clause ORDER BY n'indique donc pas l'ordre que tu cherches.
Si tu reviens sur la syntaxe de ton numéro BSDD, en inversant le mois et l'année, par exemple, tu pourrais ajouter une clause WHERE à la place de la clause ORDER BY :
Evidemment, le plus élégant est d'avoir un champ [Date d'enregistrement] et de reprendre la même syntaxe.
Si tu prévois de te lancer dans l'étude du SQL et la conception de bases de données, commence par prendre de bonnes habitudes. La colonne REC_DATE (ou toute autre combinaison avec les premières lettres des mots DATE, RECORD ou ENREGISTREMENT) est un grand classique. Tu as remarqué, je n'utilise pas de nom avec des caractères particuliers. Que des lettres, des chiffres et le soulignement. Surtout pas d'espace, ni de lettre accentuée. C'est une autre bonne habitude à prendre. Access le permet, mais c'est une hérésie. J'ai l'habitude d'utiliser des abréviations tirées de l'anglais, pour la concision de cette langue et l'absence d'accent. Si je le conseille, par contre, loin de moi l'idée de l'imposer.
Il faut que tu trouves un champ sur lequel tu peux prendre le plus grand (date, numéro). Ton numéro BSDD ne peut pas convenir, parce que, par ordre alpha-numérique, Janvier 2011 (0111) est précédent à Février 2010 (0210). La clause ORDER BY n'indique donc pas l'ordre que tu cherches.
Si tu reviens sur la syntaxe de ton numéro BSDD, en inversant le mois et l'année, par exemple, tu pourrais ajouter une clause WHERE à la place de la clause ORDER BY :
WHERE T_sortie.NumBSDD = max( T_sortie.NumBSDD )
Evidemment, le plus élégant est d'avoir un champ [Date d'enregistrement] et de reprendre la même syntaxe.
Si tu prévois de te lancer dans l'étude du SQL et la conception de bases de données, commence par prendre de bonnes habitudes. La colonne REC_DATE (ou toute autre combinaison avec les premières lettres des mots DATE, RECORD ou ENREGISTREMENT) est un grand classique. Tu as remarqué, je n'utilise pas de nom avec des caractères particuliers. Que des lettres, des chiffres et le soulignement. Surtout pas d'espace, ni de lettre accentuée. C'est une autre bonne habitude à prendre. Access le permet, mais c'est une hérésie. J'ai l'habitude d'utiliser des abréviations tirées de l'anglais, pour la concision de cette langue et l'absence d'accent. Si je le conseille, par contre, loin de moi l'idée de l'imposer.
Merci Zeb,
Même pour un néofite, tous ces champs et ces clauses c'est assez effrayant, je te l'accorde !!
Cette requête multitable doit me permettre de fusionner un publipostage avec des infos contenues sur plusieurs tables (est-ce une bonne méthode ??)
Il me fallait une appli rapide à concevoir car utilisable très bien bientôt.
Je compte l'améliorer en utilisant le SQL associé au PHP, est-ce une bonne idée selon toi, sachant que mon application sera dans premier temps utilisée que par moi et sur seul poste. On peut imaginer aprés rendre la base de donnée accessible à d'autres par l'internet.
As tu des conseils (livres, tuto à me conseiller pour apprendre pas à pas le langage SQL?)
Construit-on vraiment les tables de la même manière que sur access ?
Cordialement,
Même pour un néofite, tous ces champs et ces clauses c'est assez effrayant, je te l'accorde !!
Cette requête multitable doit me permettre de fusionner un publipostage avec des infos contenues sur plusieurs tables (est-ce une bonne méthode ??)
Il me fallait une appli rapide à concevoir car utilisable très bien bientôt.
Je compte l'améliorer en utilisant le SQL associé au PHP, est-ce une bonne idée selon toi, sachant que mon application sera dans premier temps utilisée que par moi et sur seul poste. On peut imaginer aprés rendre la base de donnée accessible à d'autres par l'internet.
As tu des conseils (livres, tuto à me conseiller pour apprendre pas à pas le langage SQL?)
Construit-on vraiment les tables de la même manière que sur access ?
Cordialement,
Ce n'est pas au néophyte que cette requête doit faire peur. Celui-ci ne sait pas à quoi s'attendre, alors 50 ou 500 champs, qu'importe.
Non, c'est à l'initié. M'enfin ! As-tu vraiment besoin de tout ça d'un coup ? J'en doute.
Découpe tes besoins en problème simple. Fais des sous-requêtes. Parce que tu as n-1 clauses de regroupement sur 50, je me doute que tu t'es gouré quelque part.
--------------------------------------------------------------
Relis bien ton cours SQL, surtout à la page clauses WHERE et GROUP BY.
Il faut supprimer la clause ORDER BY parce qu'elle ne sert plus à rien, et mettre la clause WHERE avant la clause GROUP BY.
Euh, et si en réfléchissant un peu plus, tu utilisais plutôt au lieu de la clause WHERE, une clause HAVING après la clause GROUP BY...
Non, c'est à l'initié. M'enfin ! As-tu vraiment besoin de tout ça d'un coup ? J'en doute.
Découpe tes besoins en problème simple. Fais des sous-requêtes. Parce que tu as n-1 clauses de regroupement sur 50, je me doute que tu t'es gouré quelque part.
--------------------------------------------------------------
Relis bien ton cours SQL, surtout à la page clauses WHERE et GROUP BY.
Il faut supprimer la clause ORDER BY parce qu'elle ne sert plus à rien, et mettre la clause WHERE avant la clause GROUP BY.
Euh, et si en réfléchissant un peu plus, tu utilisais plutôt au lieu de la clause WHERE, une clause HAVING après la clause GROUP BY...
Merci Zeb,
J'ai finalement utilisé ce code :
La clause "SELECT TOP 1" associée à "ORDER BY T_sortie.NumBSDD DESC" fonctionne parfaitement.
Tu ne m'a pas répondu quant à PHP/MySQL, dans mon cas est-ce utile ?
Merci encore, je reviendrais vers toi si j'ai d'autres questions.
Cordialement,
Pierre
J'ai finalement utilisé ce code :
SELECT TOP 1 T_sortie.NumBSDD, T_sortie.[Date de sortie], T_prod.Code_Prod, T_prod.NomProd, T_prod.CPProd, T_prod.VilleProd, T_prod.TelProd, T_prod.FaxProd, T_prod.MelProd, T_regroup.Code_reg, T_regroup.NomReg, T_regroup.CPReg, T_regroup.VilleReg, T_regroup.TelReg, T_regroup.FaxReg, T_regroup.MelReg, T_coll.Code_coll, T_coll.NomColl, T_coll.CPColl, T_coll.VilleColl, T_coll.TelColl, T_coll.FaxColl, T_coll.MelColl, T_coll.Récépissé, T_coll.Département, T_coll.LimiteVal, T_coll.ModeTransport, T_dechet.NomD, T_dechet.RubriqueD, Sum(T_ent.poids) AS SommeDepoids, T_dechet.Consistance1, T_dechet.Consistance2, T_dechet.Consistance3, T_sortie.QtéEst, T_sortie.QtéRéelle, T_CAP.CAP, T_dechet.CodeDR1, T_dechet.CodeDR2, T_dechet.CodeONU, T_dechet.ADR, T_sortie.TypeCondi, T_sortie.NbColis FROM T_regroup INNER JOIN ((T_condi INNER JOIN T_Ref_regroup ON T_condi.N°_Condi = T_Ref_regroup.N°_Condi) INNER JOIN (T_prod INNER JOIN (((T_coll INNER JOIN T_dechet ON T_coll.Code_coll = T_dechet.Code_coll) INNER JOIN T_ent ON T_dechet.Code_dechet = T_ent.Code_dechet) INNER JOIN (T_CAP INNER JOIN T_sortie ON T_CAP.Code_dechet = T_sortie.Code_dechet) ON T_dechet.Code_dechet = T_sortie.Code_dechet) ON T_prod.Code_Prod = T_dechet.Code_prod) ON (T_Ref_regroup.Code_Ref_regroup = T_sortie.Code_Ref_regroup) AND (T_Ref_regroup.Code_Ref_regroup = T_ent.Code_Ref_regroup)) ON T_regroup.Code_reg = T_dechet.Code_reg GROUP BY T_sortie.NumBSDD, T_sortie.[Date de sortie], T_prod.Code_Prod, T_prod.NomProd, T_prod.CPProd, T_prod.VilleProd, T_prod.TelProd, T_prod.FaxProd, T_prod.MelProd, T_regroup.Code_reg, T_regroup.NomReg, T_regroup.CPReg, T_regroup.VilleReg, T_regroup.TelReg, T_regroup.FaxReg, T_regroup.MelReg, T_coll.Code_coll, T_coll.NomColl, T_coll.CPColl, T_coll.VilleColl, T_coll.TelColl, T_coll.FaxColl, T_coll.MelColl, T_coll.Récépissé, T_coll.Département, T_coll.LimiteVal, T_coll.ModeTransport, T_dechet.NomD, T_dechet.RubriqueD, T_dechet.Consistance1, T_dechet.Consistance2, T_dechet.Consistance3, T_sortie.QtéEst, T_sortie.QtéRéelle, T_CAP.CAP, T_dechet.CodeDR1, T_dechet.CodeDR2, T_dechet.CodeONU, T_dechet.ADR, T_sortie.TypeCondi, T_sortie.NbColis, T_prod.NumRue, T_prod.Voie, T_prod.NomRue, T_prod.NomContact, T_prod.PrénomContact, T_regroup.NumRue, T_regroup.Voie, T_regroup.NomRue, T_regroup.NomContact, T_regroup.PrénomContact, T_coll.NumRue, T_coll.Voie, T_coll.NomRue, T_coll.NomContact, T_coll.PrénomContact ORDER BY T_sortie.NumBSDD DESC;
La clause "SELECT TOP 1" associée à "ORDER BY T_sortie.NumBSDD DESC" fonctionne parfaitement.
Tu ne m'a pas répondu quant à PHP/MySQL, dans mon cas est-ce utile ?
Merci encore, je reviendrais vers toi si j'ai d'autres questions.
Cordialement,
Pierre
zeb a dit :
Ton numéro BSDD ne peut pas convenir, parce que, par ordre alpha-numérique, Janvier 2011 (0111) est précédent à Février 2010 (0210). La clause ORDER BY n'indique donc pas l'ordre que tu cherches.En prenant le premier d'un tri erroné, tu restes dans l'erreur. Je me donne la peine de te proposer des solutions et de les justifier. Tu ne les appliques pas, c'est ton droit. Mais pourquoi t'enfonces-tu dans cette voix que je t'ai dit ne pas être la bonne ? Utilise une clause HAVING.
Bien bien mea culpa !!
Pour que ma numérotation recommence à -001 chaque année, sais-tu comment je pourrais m'y prendre ?
Ci-joint le code de mon Autonumber :
Est-ce que :
saurait convenir
Cordialement
Pour que ma numérotation recommence à -001 chaque année, sais-tu comment je pourrais m'y prendre ?
Ci-joint le code de mon Autonumber :
Function AutoNumber( _ ByVal strTable As String, _ ByVal strField As String, _ Optional ByVal strFormat As String = "", _ Optional ByVal intDigits As Integer = 4, _ Optional ByVal dtDate As Date = #1/1/100#) ' Quelques variables... On Error GoTo AutoNumberErr Dim varMarkers As Variant, varMark As Variant Dim strCriteria As String Dim strNum As String, lngNum As Long, strPart As String ' Quelques retraitements... If dtDate = #1/1/100# Then dtDate = Now() strField = "[" & strField & "]" strFormat = Replace(strFormat, "'", "''") ' Marqueurs à remplacer varMarkers = Array("YYYY", "YY", "Q", "MM", "WW", "DD") For Each varMark In varMarkers ' Formater la date et l'injecter dans le template strPart = Format(dtDate, varMark, vbMonday, vbFirstFourDays) strFormat = Replace(strFormat, "[" & varMark & "]", _ Format(strPart, String(Len(varMark), "0"))) Next ' On cherche la valeur maximale déjà employée dans la table strCriteria = strField & " LIKE '" & strFormat & "*'" strNum = Nz(DMax(strField, strTable, strCriteria), "") ' On crée le nouveau numéro lngNum = IIf(strNum = "", 1, Val(Mid(strNum, Len(strFormat) + 1)) + 1) strFormat = strFormat & Format(lngNum, String(intDigits, "0")) ' Valeur finale AutoNumber = strFormat Exit Function AutoNumberErr: msgbox "Erreur : " & Err.Description, vbCritical AutoNumber = "" Exit Function End Function
Est-ce que :
If Year(Date) > strnum / 100000 Then strnum = Year(Date) * 100000 + 1 Else strnum = strnum+ 1
saurait convenir
Cordialement
Bonjour Zeb,
En fait, la syntaxe associée au champ est la suivante :
La syntaxe de ligne est-elle toujours correcte ?
Je teste ça très vite !!
Mon problème avec le code, c'est de savoir bien le placer !!
Cordialement,
En fait, la syntaxe associée au champ est la suivante :
Private Sub Form_BeforeUpdate(Cancel As Integer) If IsNull(Me.[NumBSDD]) Then Me.[NumBSDD] = AutoNumber("T_sortie", "NumBSDD", "F-[YY][MM]-", 3) End If End Sub
La syntaxe de ligne est-elle toujours correcte ?
Je teste ça très vite !!
Mon problème avec le code, c'est de savoir bien le placer !!
Cordialement,
Zeb,
J'ai réussi à automatiser mon publipostage grâce au code qui suit. Cependant, je ne sais pas le paramétrer pour qu'il utilise le numéro de BSDD de l'enregistrement actif comme critère dans la requête sur laquelle le publipostage est basé.
En gros, je suis dans mon formulaire "sortie", sur l'enregistrement N° F-1001-002", j'ai un bouton de commande :
comment peut-il mettre à jour ma requête R_BSDD1 avec comme critère NumBSDD actif (F-1001-002) sans que celà soit visible à l'écran et lancer la fusion seulement sur cet enregistrement ?
waouh !!
le code :
J'ai réussi à automatiser mon publipostage grâce au code qui suit. Cependant, je ne sais pas le paramétrer pour qu'il utilise le numéro de BSDD de l'enregistrement actif comme critère dans la requête sur laquelle le publipostage est basé.
En gros, je suis dans mon formulaire "sortie", sur l'enregistrement N° F-1001-002", j'ai un bouton de commande :
comment peut-il mettre à jour ma requête R_BSDD1 avec comme critère NumBSDD actif (F-1001-002) sans que celà soit visible à l'écran et lancer la fusion seulement sur cet enregistrement ?
waouh !!
le code :
Sub Publipostage_Vers_Imprimante() Dim wdApp As Word.Application Dim strCheminDoc As String Dim strSQL As String ' Chemin du document Word à ouvrir strCheminDoc = "J:\BSDD_annexes.doc" ' Instruction SQL permettant d'extraire les clients strSQL = "SELECT * FROM [R_BSDD1]" ' Démarrer Word Set wdApp = New Word.Application With wdApp ' Ouvrir le document de publipostage .Documents.Open strCheminDoc ' Paramétrer le publipostage With .ActiveDocument.MailMerge .OpenDataSource Name:=CurrentProject.FullName, _ SQLStatement:=strSQL, _ ReadOnly:=True ' Diriger le publipostage vers un nouveau document ' plutôt que vers l'imprimante .Destination = wdSendToPrinter ' Lancer la fusion .Execute End With ' Quitter Word .Quit SaveChanges:=wdDoNotSaveChanges End With ' Libérer les objets Set wdApp = Nothing End Sub
Spoiler
T'es min coin, hein ??
T'es min coin, hein ??
/private: KSD45, regarde mieux mon profil. Euch chuis Picard, nin Tchimi. ![[:zeb:1] [:zeb:1]]()
Pour en revenir à ton problème, il faut ajouter une clause WHERE NumBSDD = à ta requête. J'avoue ne plus connaître suffisamment Access pour te dire quoi faire. Sinon de chercher du coté de CurrentRecord ou de récupérer NumBSDD dans un champ du formulaire.
![[:zeb:1] [:zeb:1]](http://m.bestofmedia.com/sfp/design/usr/fr/smilies/9a/19/zeb:1.gif)
Pour en revenir à ton problème, il faut ajouter une clause WHERE NumBSDD = à ta requête. J'avoue ne plus connaître suffisamment Access pour te dire quoi faire. Sinon de chercher du coté de CurrentRecord ou de récupérer NumBSDD dans un champ du formulaire.
En effet, j'ai déjà mis une clause HAVING basée sur mon formulaire :
Mon problème c'est pour associer la requête puis le publipostage dans une procédure du type:
quand je clique sur ce bouton, ouvrir le formulaire F_Question, prendre par défaut le NumBSDD de l'enregistrement actif ou entrer un autre numéro, mettre à jour la requête puis lancer la fusion word !!
Cordialement,
Pierre
HAVING (((T_sortie.NumBSDD)=[forms]![F_question]![NumBSDD]) AND ((T_ent.[Select])=Yes))
Mon problème c'est pour associer la requête puis le publipostage dans une procédure du type:
quand je clique sur ce bouton, ouvrir le formulaire F_Question, prendre par défaut le NumBSDD de l'enregistrement actif ou entrer un autre numéro, mettre à jour la requête puis lancer la fusion word !!
Cordialement,
Pierre
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumAccess : Requête SQL, fonction SYSDATE
- Forum[access]requete selection a partir d'un formulaire
- ForumMS Access: lien entre une requete et un formulaire
- ForumAccess : utiliser le résultat d'une requête sans l'afficher
- ForumAccess requete mise a jour & ajout / generalité
- Forumaccess: excution d'une requête sous vba et recup' dans un contrôl
- ForumCondition if dans une requete sql dans access
- ForumRequête dans Access pour afficher un nombre de caractère précis!
- ForumACCESS : Requête calcul SQL
- Voir plus