Je sais que la question a déjà été posée mais je n'arrive pas à comprendre mon erreur
Dans une boucle je veux vérifier s'il existe des enregistrements dans une seconde table avec le même numéro de demande .
Table1 t_demande champ no_demande de type entier long
Table2 t_motifs_rejet champ ref_no_demande de type entier long.
J'obtiens le message 3061 Trop peu de paramètres. 1 attendu au niveau de la ligne
Set oRst2 = oDb.OpenRecordset("SELECT * FROM [T_MOTIFS_REJET] where ([ref_no_demande] = mno_demande)", dbOpenDynaset).
Lorsque j'utilise un numéro demande réel à la la place de la variable mno_demande ça fonctionne.
Merci pour votre aide.
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Public Function fnModifierDonnees() Dim gstrAppTitle Dim mno_demande As Long Dim mnbdroits As Double, mnbdroitsdem As Double Dim mplafond As Double, mlimite As Double Dim mnbdroitsattribuables As Double, mnbdroitsaccordes As Double Dim mcategorie As String, mpacage As String MsgBox "C'est parti pour 2 mn et 30 secondes...", vbInformation, gstrAppTitle gstrAppTitle = "Calcul des droits" DoCmd.Hourglass True On Error GoTo Err_Handler Dim oDb As DAO.Database Dim oRst1 As DAO.Recordset Dim oRst2 As DAO.Recordset Set oDb = CurrentDb 'On sélectionne tous les éléments de la table "t_demandeur" et on les ouvre en mode lecture et écriture Set oRst1 = oDb.OpenRecordset("SELECT * FROM [t_demandeur]", dbOpenDynaset) If (oRst1.RecordCount <> 0) Then oRst1.MoveLast 'Tant que lon est pas revenu au début de la table, on boucle While Not oRst1.BOF mno_demande = oRst1.Fields("no_demande").Value ' on vérifie s'il existe des enregistrements dans la table t_motif_rejets pour le no_demande considéré Set oRst2 = oDb.OpenRecordset("SELECT * FROM [T_MOTIFS_REJET] where ([ref_no_demande] = mno_demande)", dbOpenDynaset) If (oRst2.RecordCount = 0) Then 'VALORISATION DES VARIABLES SI PAS DE MOTIFS DE REJET ........
Partager