Critère sur la fonction DLookup

Le
Jacques
Bonjour,

Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.

Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '"=
&
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if

Merci pour votre aide

Salutations
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry (ze Titi)
Le #6316751
Hello Jacques !

Quel est le rapport entre ta question et le code collé en dessous ?
Si tu veux faire un compte, utilise plutôt la fonction DCount qui
fonctionne de la même façon que le DLookup mais qui te renvoit le
compte de lignes correspond au critère passé en paramètre.

Par contre, j'aimerais bien que tu développes cette histoire de "savoir
si le champ Montant de la tbl Chèques est > 0 ou vide". Nulle part dans
ton code il n'est fait mention de cette table, c'est ça que je ne
comprends pas...

En ce jour mémorable du lundi 10/09/2007, tu as émis l'idée suivante:
Bonjour,

Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.

Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if

Merci pour votre aide

Salutations


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Jacques
Le #6316341
On 10 sep, 13:31, Jacques
Bonjour,

Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.

Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if

Merci pour votre aide

Salutations


Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.

Salutations

Fabien
Le #6316331
Bonjour
Quel est le lien entre la table TblAdhérent et TblChèques?
En prenant l'hypothése que le lien c'est le N° de famille tu peux faire

Dim A as Variant
A = DLookup("[NuméroFamille]", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") <>"" Then
A=Dlookup("[Montant]","Tbl_Cheques","[NuméroFamille]="&A)
If Nz(A,0)>0 then
msgbox "Existe et montant >0"
else
Msbox "existe et Montant=0"
end if
else
msgbox "N'existe pas"
end if


On 10 sep, 13:31, Jacques
Bonjour,

Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.

Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if

Merci pour votre aide

Salutations


Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.

Salutations





Michel_D
Le #6316321
Bonjour,

Comme te l'a suggéré Thierry, un Dcount serait surement plus approprié.

Dim A as Variant
A = DCount("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if A > 0 Then
msgbox "Existe"
' Mettre ici un DLookup pour récupérer le montant de la tbl Chèques
' ayant un lien je suppose avec [NomAdhérent]
else
msgbox "N'existe pas"
end if


"Jacques" On 10 sep, 13:31, Jacques
Bonjour,

Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.

Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if

Merci pour votre aide

Salutations


Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.

Salutations

Jacques
Le #6392441
On 11 sep, 14:59, Fabien
Bonjour
Quel est le lien entre la table TblAdhérent et TblChèques?
En prenant l'hypothése que le lien c'est le N° de famille tu peux fai re

Dim A as Variant
A = DLookup("[NuméroFamille]", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") <>"" Then
A=Dlookup("[Montant]","Tbl_Cheques","[NuméroFamille]="&A)
If Nz(A,0)>0 then
msgbox "Existe et montant >0"
else
Msbox "existe et Montant=0"
end if
else
msgbox "N'existe pas"
end if




On 10 sep, 13:31, Jacques
Bonjour,

Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèq ues
est > 0 ou vide.

Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if

Merci pour votre aide

Salutations


Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.

Salutations- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Bonsoir,

A = DLookup("NomAdhérent", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'and [Regroup]=cmbRegroup")

If Nz(A, "") <> "" Then
A = DLookup("[Montant]", "[Tbl Chèques]", "[NomAdhérentC]='" & A &
"'")

If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True

Else
Me.lblMessage1.Visible = False

End If

Pourquoi lorsque j'exécute ce code je n'arrive pas à rendre visible ou
invisible mon etiquette lblMessage lorsque je choisi l'enregistrement
« 35 ou 36 de FOURNIER » par contre pour « DURAND qui n'a pas
d'homonyme j'y arrive.

Le lien entre la tbl Adhérent et la tbl Chèques est le Champ
RéfAdhérent.

Les valeurs de ma table Adhérents :
Réf Adhérent---------NomAdhérent--------Regroup
21-----------------------FOURNIER----------1
35-----------------------FOURNIER----------10
36-----------------------FOURNIER----------10
37-----------------------DURAND------------10
38-----------------------DURAND------------10

Les valeurs de ma table Chèques :
Réfchèques----Réf Adhérent----NomAdhérentC----Regroup--Montant
1----------------21------------------
FOURNIER-------1------------39,00
2----------------35------------------
FOURNIER-------10-----------76,00
3----------------37------------------
DURAND---------10-----------76,00

Merci pour votre aide

Salutations



Fabien
Le #6392401
On 11 sep, 14:59, Fabien
Bonjour
Quel est le lien entre la table TblAdhérent et TblChèques?
En prenant l'hypothése que le lien c'est le N° de famille tu peux faire

Dim A as Variant
A = DLookup("[NuméroFamille]", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") <>"" Then
A=Dlookup("[Montant]","Tbl_Cheques","[NuméroFamille]="&A)
If Nz(A,0)>0 then
msgbox "Existe et montant >0"
else
Msbox "existe et Montant=0"
end if
else
msgbox "N'existe pas"
end if




On 10 sep, 13:31, Jacques
Bonjour,
Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.
Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if
Merci pour votre aide
Salutations
Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.
Salutations- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -



Bonsoir,

A = DLookup("NomAdhérent", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'and [Regroup]=cmbRegroup")

If Nz(A, "") <> "" Then
A = DLookup("[Montant]", "[Tbl Chèques]", "[NomAdhérentC]='" & A &
"'")

If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True

Else
Me.lblMessage1.Visible = False

End If

Pourquoi lorsque j'exécute ce code je n'arrive pas à rendre visible ou
invisible mon etiquette lblMessage lorsque je choisi l'enregistrement
« 35 ou 36 de FOURNIER » par contre pour « DURAND qui n'a pas
d'homonyme j'y arrive.

Le lien entre la tbl Adhérent et la tbl Chèques est le Champ
RéfAdhérent.

Les valeurs de ma table Adhérents :
Réf Adhérent---------NomAdhérent--------Regroup
21-----------------------FOURNIER----------1
35-----------------------FOURNIER----------10
36-----------------------FOURNIER----------10
37-----------------------DURAND------------10
38-----------------------DURAND------------10

Les valeurs de ma table Chèques :
Réfchèques----Réf Adhérent----NomAdhérentC----Regroup--Montant
1----------------21------------------
FOURNIER-------1------------39,00
2----------------35------------------
FOURNIER-------10-----------76,00
3----------------37------------------
DURAND---------10-----------76,00

Merci pour votre aide

Salutations

Bonjour,

J'ai un peu de mal avec la logique de tes tables ;-)
Mais c'est effectivement trés étrange car si TxtNom="FOURNIER" alors le
1er Dlookup doit te retourner FOURNIER et le second Dlookup devrait te
retourner le 1er montant pour FOURNIER soit 39,00
Avec le debug ça donne quoi ? Si tu piste les données ?
En passant
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True

Else
Me.lblMessage1.Visible = False
Peut être simplifié en

Me.lblMessage1.Visible = Nz(A, 0) > 0
Ca répond pas a ta question je sais mais c'est plus 'joli' ;-)





Jacques
Le #6392291
On 20 sep, 08:53, Fabien



On 11 sep, 14:59, Fabien
Bonjour
Quel est le lien entre la table TblAdhérent et TblChèques?
En prenant l'hypothése que le lien c'est le N° de famille tu peux faire

Dim A as Variant
A = DLookup("[NuméroFamille]", "tbl Adhérents", "[NomAdhéren t] = '" &
Me.txtNom & "'")
if Nz(A, "") <>"" Then
A=Dlookup("[Montant]","Tbl_Cheques","[NuméroFamille]="&A)
If Nz(A,0)>0 then
msgbox "Existe et montant >0"
else
Msbox "existe et Montant=0"
end if
else
msgbox "N'existe pas"
end if




On 10 sep, 13:31, Jacques
Bonjour,
Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Ch èques
est > 0 ou vide.
Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if
Merci pour votre aide
Salutations
Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.
Salutations- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -



Bonsoir,

A = DLookup("NomAdhérent", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'and [Regroup]=cmbRegroup")

If Nz(A, "") <> "" Then
A = DLookup("[Montant]", "[Tbl Chèques]", "[NomAdhérentC]='" & A &
"'")

If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True

Else
Me.lblMessage1.Visible = False

End If

Pourquoi lorsque j'exécute ce code je n'arrive pas à rendre visible ou
invisible mon etiquette lblMessage lorsque je choisi l'enregistrement
« 35 ou 36 de FOURNIER » par contre pour « DURAND qui n'a pas
d'homonyme j'y arrive.

Le lien entre la tbl Adhérent et la tbl Chèques est le Champ
RéfAdhérent.

Les valeurs de ma table Adhérents :
Réf Adhérent---------NomAdhérent--------Regroup
21-----------------------FOURNIER----------1
35-----------------------FOURNIER----------10
36-----------------------FOURNIER----------10
37-----------------------DURAND------------10
38-----------------------DURAND------------10

Les valeurs de ma table Chèques :
Réfchèques----Réf Adhérent----NomAdhérentC----Regroup--Monta nt
1----------------21------------------
FOURNIER-------1------------39,00
2----------------35------------------
FOURNIER-------10-----------76,00
3----------------37------------------
DURAND---------10-----------76,00

Merci pour votre aide

Salutations


Bonjour,
J'ai un peu de mal avec la logique de tes tables ;-)
Mais c'est effectivement trés étrange car si TxtNom="FOURNIER" alor s le
1er Dlookup doit te retourner FOURNIER et le second Dlookup devrait te
retourner le 1er montant pour FOURNIER soit 39,00
Avec le debug ça donne quoi ? Si tu piste les données ?
En passant
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True

Else
Me.lblMessage1.Visible = False
Peut être simplifié en

Me.lblMessage1.Visible = Nz(A, 0) > 0
Ca répond pas a ta question je sais mais c'est plus 'joli' ;-)- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Bonjour Fabien,

Pour le premier "FOURNIER" celui qui a pour RéfAdhérent ! et regroup
=1 dans la tbl Adhérent, et RéfChèque =1 dans la tbl Chèques
Valeur = 39,00 donc ok.

Pour le deuxième et troisième 'FOURNIER"
Le premier Dlookup me donne bien 'FOURNIER, Mais le deuxième Dlookup
me donne rien.
Apparemment il ne tient pas compte du Regroup quiest de 1 pour le
premier 'FOURNIER' et de 10 pour le deuxième et troisième

Pour "DURAND" tous se passe normalement.

J'ai un peu de mal avec la logique de tes tables ;-)

La relation se fait par id qui s'appelle RéfAdhérent

L'adhérent qui a le regroup=1 a un enregistrement dans la tbl Chèque
de 39,00
ceux qui ont le même Nom et un regroup  ont un seul enregistrement
dans la tbl Chèques de 76,00

Merci pour ton aide.

Salutations





Fabien
Le #6392261
On 20 sep, 08:53, Fabien



On 11 sep, 14:59, Fabien
Bonjour
Quel est le lien entre la table TblAdhérent et TblChèques?
En prenant l'hypothése que le lien c'est le N° de famille tu peux faire
Dim A as Variant
A = DLookup("[NuméroFamille]", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") <>"" Then
A=Dlookup("[Montant]","Tbl_Cheques","[NuméroFamille]="&A)
If Nz(A,0)>0 then
msgbox "Existe et montant >0"
else
Msbox "existe et Montant=0"
end if
else
msgbox "N'existe pas"
end if
On 10 sep, 13:31, Jacques
Bonjour,
Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.
Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if
Merci pour votre aide
Salutations
Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.
Salutations- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -

Bonsoir,

A = DLookup("NomAdhérent", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'and [Regroup]=cmbRegroup")
If Nz(A, "") <> "" Then
A = DLookup("[Montant]", "[Tbl Chèques]", "[NomAdhérentC]='" & A &
"'")
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True
Else
Me.lblMessage1.Visible = False
End If
Pourquoi lorsque j'exécute ce code je n'arrive pas à rendre visible ou
invisible mon etiquette lblMessage lorsque je choisi l'enregistrement
« 35 ou 36 de FOURNIER » par contre pour « DURAND qui n'a pas
d'homonyme j'y arrive.
Le lien entre la tbl Adhérent et la tbl Chèques est le Champ
RéfAdhérent.
Les valeurs de ma table Adhérents :
Réf Adhérent---------NomAdhérent--------Regroup
21-----------------------FOURNIER----------1
35-----------------------FOURNIER----------10
36-----------------------FOURNIER----------10
37-----------------------DURAND------------10
38-----------------------DURAND------------10
Les valeurs de ma table Chèques :
Réfchèques----Réf Adhérent----NomAdhérentC----Regroup--Montant
1----------------21------------------
FOURNIER-------1------------39,00
2----------------35------------------
FOURNIER-------10-----------76,00
3----------------37------------------
DURAND---------10-----------76,00
Merci pour votre aide
Salutations
Bonjour,

J'ai un peu de mal avec la logique de tes tables ;-)
Mais c'est effectivement trés étrange car si TxtNom="FOURNIER" alors le
1er Dlookup doit te retourner FOURNIER et le second Dlookup devrait te
retourner le 1er montant pour FOURNIER soit 39,00
Avec le debug ça donne quoi ? Si tu piste les données ?
En passant
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True

Else
Me.lblMessage1.Visible = False
Peut être simplifié en

Me.lblMessage1.Visible = Nz(A, 0) > 0
Ca répond pas a ta question je sais mais c'est plus 'joli' ;-)- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Bonjour Fabien,

Pour le premier "FOURNIER" celui qui a pour RéfAdhérent ! et regroup
=1 dans la tbl Adhérent, et RéfChèque =1 dans la tbl Chèques
Valeur = 39,00 donc ok.

Pour le deuxième et troisième 'FOURNIER"
Le premier Dlookup me donne bien 'FOURNIER, Mais le deuxième Dlookup
me donne rien.
Apparemment il ne tient pas compte du Regroup quiest de 1 pour le
premier 'FOURNIER' et de 10 pour le deuxième et troisième

Pour "DURAND" tous se passe normalement.

J'ai un peu de mal avec la logique de tes tables ;-)

La relation se fait par id qui s'appelle RéfAdhérent

L'adhérent qui a le regroup=1 a un enregistrement dans la tbl Chèque
de 39,00
ceux qui ont le même Nom et un regroup  ont un seul enregistrement
dans la tbl Chèques de 76,00

Merci pour ton aide.

Salutations


Alors là c'est plus clair.

Le dlookup sur tblcheque te donnera toujours le premier enregistrement
dont le nom correspond a celui retourné par le dlookup sur Tbl adhérent.
Dlookup sur tbladhérent recherche s'il existe un nom dans la table dont
le nom est egale a celui saisi et dont le code de regroupement est egal
a cmbregroup.
Le second dlookup sut TblChéques recherche s'il existe dans la table
tblcheque un montant pour un enregistrement dont le champ Nomadhérent
est égale au NomSaisi.
Si le nom saisi est FOURNIER, le 1er Dlookup va 'répondre' FOURNIER a la
question NomAherent="FOURNIER" et Regroup
Le second dlookup va répondre 39,00 a la question NomAdhérent=FOURNIER.
C'est logique puisque tu ne lui précise pas le N° de regroupement.
Si tu veux qu'il te réponde 76,00 ajoute le Regroupement a ta question.
Dlookup("[Montant]","Tbl chéques","Nomadhérent='" & A & "' and
Regroup=cmbregroup")
Qu'en penses tu ?






Jacques
Le #6392151
On 20 sep, 10:47, Fabien



On 20 sep, 08:53, Fabien
On 11 sep, 14:59, Fabien
Bonjour
Quel est le lien entre la table TblAdhérent et TblChèques?
En prenant l'hypothése que le lien c'est le N° de famille tu peu x faire
Dim A as Variant
A = DLookup("[NuméroFamille]", "tbl Adhérents", "[NomAdhér ent] = '" &
Me.txtNom & "'")
if Nz(A, "") <>"" Then
A=Dlookup("[Montant]","Tbl_Cheques","[NuméroFamille]=" &A)
If Nz(A,0)>0 then
msgbox "Existe et montant >0"
else
Msbox "existe et Montant=0"
end if
else
msgbox "N'existe pas"
end if
On 10 sep, 13:31, Jacques
Bonjour,
Comment compléter mon DLookup, pour que lorsque le nomAdhére nt de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Ch èques
est > 0 ou vide.
Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhéren t] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if
Merci pour votre aide
Salutations
Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.
Salutations- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -

Bonsoir,

A = DLookup("NomAdhérent", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'and [Regroup]=cmbRegroup")
If Nz(A, "") <> "" Then
A = DLookup("[Montant]", "[Tbl Chèques]", "[NomAdhérentC]='" & A &
"'")
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True
Else
Me.lblMessage1.Visible = False
End If
Pourquoi lorsque j'exécute ce code je n'arrive pas à rendre visib le ou
invisible mon etiquette lblMessage lorsque je choisi l'enregistrement
« 35 ou 36 de FOURNIER » par contre pour « DURAND qui n'a pas
d'homonyme j'y arrive.
Le lien entre la tbl Adhérent et la tbl Chèques est le Champ
RéfAdhérent.
Les valeurs de ma table Adhérents :
Réf Adhérent---------NomAdhérent--------Regroup
21-----------------------FOURNIER----------1
35-----------------------FOURNIER----------10
36-----------------------FOURNIER----------10
37-----------------------DURAND------------10
38-----------------------DURAND------------10
Les valeurs de ma table Chèques :
Réfchèques----Réf Adhérent----NomAdhérentC----Regroup--Mon tant
1----------------21------------------
FOURNIER-------1------------39,00
2----------------35------------------
FOURNIER-------10-----------76,00
3----------------37------------------
DURAND---------10-----------76,00
Merci pour votre aide
Salutations
Bonjour,

J'ai un peu de mal avec la logique de tes tables ;-)
Mais c'est effectivement trés étrange car si TxtNom="FOURNIER" a lors le
1er Dlookup doit te retourner FOURNIER et le second Dlookup devrait te
retourner le 1er montant pour FOURNIER soit 39,00
Avec le debug ça donne quoi ? Si tu piste les données ?
En passant
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True

Else
Me.lblMessage1.Visible = False
Peut être simplifié en

Me.lblMessage1.Visible = Nz(A, 0) > 0
Ca répond pas a ta question je sais mais c'est plus 'joli' ;-)- Masq uer le texte des messages précédents -


- Afficher le texte des messages précédents -


Bonjour Fabien,

Pour le premier "FOURNIER" celui qui a pour RéfAdhérent ! et re group
=1 dans la tbl Adhérent, et RéfChèque =1 dans la tbl Chèques
Valeur = 39,00 donc ok.

Pour le deuxième et troisième 'FOURNIER"
Le premier Dlookup me donne bien 'FOURNIER, Mais le deuxième Dlookup
me donne rien.
Apparemment il ne tient pas compte du Regroup quiest de 1 pour le
premier 'FOURNIER' et de 10 pour le deuxième et troisième

Pour "DURAND" tous se passe normalement.

J'ai un peu de mal avec la logique de tes tables ;-)

La relation se fait par id qui s'appelle RéfAdhérent

L'adhérent qui a le regroup=1 a un enregistrement dans la tbl Chè que
de 39,00
ceux qui ont le même Nom et un regroup  ont un seul enregistreme nt
dans la tbl Chèques de 76,00

Merci pour ton aide.

Salutations


Alors là c'est plus clair.
Le dlookup sur tblcheque te donnera toujours le premier enregistrement
dont le nom correspond a celui retourné par le dlookup sur Tbl adhére nt.
Dlookup sur tbladhérent recherche s'il existe un nom dans la table dont
le nom est egale a celui saisi et dont le code de regroupement est egal
a cmbregroup.
Le second dlookup sut TblChéques recherche s'il existe dans la table
tblcheque un montant pour un enregistrement dont le champ Nomadhérent
est égale au NomSaisi.
Si le nom saisi est FOURNIER, le 1er Dlookup va 'répondre' FOURNIER a la
question NomAherent="FOURNIER" et Regroup
Le second dlookup va répondre 39,00 a la question NomAdhérent=FOURN IER.
C'est logique puisque tu ne lui précise pas le N° de regroupement.
Si tu veux qu'il te réponde 76,00 ajoute le Regroupement a ta question.
Dlookup("[Montant]","Tbl chéques","Nomadhérent='" & A & "' and
Regroup=cmbregroup")
Qu'en penses tu ?- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Re Bonjour Fabien,

J'ai essayé ta modification:
Dlookup("[Montant]","Tbl chéques","Nomadhérent='" & A & "' and
Regroup=cmbregroup")

Mais pour chaque "FOURNIER" il me répond 39,00.

Comment résoudre ce problème?

Salutations.







Fabien
Le #6392131
On 20 sep, 10:47, Fabien



On 20 sep, 08:53, Fabien
On 11 sep, 14:59, Fabien
Bonjour
Quel est le lien entre la table TblAdhérent et TblChèques?
En prenant l'hypothése que le lien c'est le N° de famille tu peux faire
Dim A as Variant
A = DLookup("[NuméroFamille]", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") <>"" Then
A=Dlookup("[Montant]","Tbl_Cheques","[NuméroFamille]="&A)
If Nz(A,0)>0 then
msgbox "Existe et montant >0"
else
Msbox "existe et Montant=0"
end if
else
msgbox "N'existe pas"
end if
On 10 sep, 13:31, Jacques
Bonjour,
Comment compléter mon DLookup, pour que lorsque le nomAdhérent de
la tbl Adhérents existe, savoir si le champ Montant de la tbl Chèques
est > 0 ou vide.
Dim A as Variant
A = DLookup("NuméroFamille", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'")
if Nz(A, "") = 1 Then
msgbox "Existe"
else
msgbox "N'existe pas"
end if
Merci pour votre aide
Salutations
Bonjour,

Ma question affiche 2 messages, et je n'arrive pas à acceder au
deuxième message quel est le problème si problème il y a.
Salutations- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -

Bonsoir,

A = DLookup("NomAdhérent", "tbl Adhérents", "[NomAdhérent] = '" &
Me.txtNom & "'and [Regroup]=cmbRegroup")
If Nz(A, "") <> "" Then
A = DLookup("[Montant]", "[Tbl Chèques]", "[NomAdhérentC]='" & A &
"'")
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True
Else
Me.lblMessage1.Visible = False
End If
Pourquoi lorsque j'exécute ce code je n'arrive pas à rendre visible ou
invisible mon etiquette lblMessage lorsque je choisi l'enregistrement
« 35 ou 36 de FOURNIER » par contre pour « DURAND qui n'a pas
d'homonyme j'y arrive.
Le lien entre la tbl Adhérent et la tbl Chèques est le Champ
RéfAdhérent.
Les valeurs de ma table Adhérents :
Réf Adhérent---------NomAdhérent--------Regroup
21-----------------------FOURNIER----------1
35-----------------------FOURNIER----------10
36-----------------------FOURNIER----------10
37-----------------------DURAND------------10
38-----------------------DURAND------------10
Les valeurs de ma table Chèques :
Réfchèques----Réf Adhérent----NomAdhérentC----Regroup--Montant
1----------------21------------------
FOURNIER-------1------------39,00
2----------------35------------------
FOURNIER-------10-----------76,00
3----------------37------------------
DURAND---------10-----------76,00
Merci pour votre aide
Salutations
Bonjour,

J'ai un peu de mal avec la logique de tes tables ;-)
Mais c'est effectivement trés étrange car si TxtNom="FOURNIER" alors le
1er Dlookup doit te retourner FOURNIER et le second Dlookup devrait te
retourner le 1er montant pour FOURNIER soit 39,00
Avec le debug ça donne quoi ? Si tu piste les données ?
En passant
If Nz(A, 0) > 0 Then
Me.lblMessage1.Visible = True
Else
Me.lblMessage1.Visible = False
Peut être simplifié en

Me.lblMessage1.Visible = Nz(A, 0) > 0
Ca répond pas a ta question je sais mais c'est plus 'joli' ;-)- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Bonjour Fabien,

Pour le premier "FOURNIER" celui qui a pour RéfAdhérent ! et regroup
=1 dans la tbl Adhérent, et RéfChèque =1 dans la tbl Chèques
Valeur = 39,00 donc ok.
Pour le deuxième et troisième 'FOURNIER"
Le premier Dlookup me donne bien 'FOURNIER, Mais le deuxième Dlookup
me donne rien.
Apparemment il ne tient pas compte du Regroup quiest de 1 pour le
premier 'FOURNIER' et de 10 pour le deuxième et troisième
Pour "DURAND" tous se passe normalement.
J'ai un peu de mal avec la logique de tes tables ;-)
La relation se fait par id qui s'appelle RéfAdhérent
L'adhérent qui a le regroup=1 a un enregistrement dans la tbl Chèque
de 39,00
ceux qui ont le même Nom et un regroup  ont un seul enregistrement
dans la tbl Chèques de 76,00
Merci pour ton aide.
Salutations
Alors là c'est plus clair.

Le dlookup sur tblcheque te donnera toujours le premier enregistrement
dont le nom correspond a celui retourné par le dlookup sur Tbl adhérent.
Dlookup sur tbladhérent recherche s'il existe un nom dans la table dont
le nom est egale a celui saisi et dont le code de regroupement est egal
a cmbregroup.
Le second dlookup sut TblChéques recherche s'il existe dans la table
tblcheque un montant pour un enregistrement dont le champ Nomadhérent
est égale au NomSaisi.
Si le nom saisi est FOURNIER, le 1er Dlookup va 'répondre' FOURNIER a la
question NomAherent="FOURNIER" et Regroup
Le second dlookup va répondre 39,00 a la question NomAdhérent=FOURNIER.
C'est logique puisque tu ne lui précise pas le N° de regroupement.
Si tu veux qu'il te réponde 76,00 ajoute le Regroupement a ta question.
Dlookup("[Montant]","Tbl chéques","Nomadhérent='" & A & "' and
Regroup=cmbregroup")
Qu'en penses tu ?- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Re Bonjour Fabien,

J'ai essayé ta modification:
Dlookup("[Montant]","Tbl chéques","Nomadhérent='" & A & "' and
Regroup=cmbregroup")

Mais pour chaque "FOURNIER" il me répond 39,00.

Comment résoudre ce problème?

Salutations.

D'où vient cmbregroup ? et que contient - il ?









Publicité
Poster une réponse
Anonyme