Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Zone de texte avec requête

12 réponses
Avatar
Animatrix
Salut à tous !!

J'aimerais pouvoir insérer comme valeur dans une zone de texte le résultat
d'une requête (qui ne me retourne qu'un résultat).

Seulement, le résultat obtenu est #Nom

Comment faire ?


Sinon, j'ai aussi pensé à créer une zone de liste, mais je n'arrive pas à
sélectionner le 1er enregistrement.

Toutefois, je préférerais utiliser qu'une seule zone de texte.

Merci

10 réponses

1 2
Avatar
3stone
Salut,

"Animatrix"
| J'aimerais pouvoir insérer comme valeur dans une zone de texte le résultat
| d'une requête (qui ne me retourne qu'un résultat).
|
| Seulement, le résultat obtenu est #Nom


C'est normal... une requête ne peut effectivement pas être la source d'une
zone de texte - cela est destiné à recevoir la valeur d'un champ !

Mais, si la requête ne ramène qu'une valeur, on peut utiliser une
fonction de domaine... et on mettra comme source du TextBox :

= Dlookup("NomDuChamp" ; "NomDeLaRequête")

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Animatrix
Merci.

Par contre, comment l'écrire en VB ?

Private Sub Numcl_BeforeUpdate(Cancel As Integer)

=Dlookup(Numcl,Numclient)

End Sub

N'est pas bon.
J'aimerais simplement que l'événement se fasse au chargement du formulaire.
Comment faire ?



Salut,

"Animatrix"
| J'aimerais pouvoir insérer comme valeur dans une zone de texte le résultat
| d'une requête (qui ne me retourne qu'un résultat).
|
| Seulement, le résultat obtenu est #Nom


C'est normal... une requête ne peut effectivement pas être la source d'une
zone de texte - cela est destiné à recevoir la valeur d'un champ !

Mais, si la requête ne ramène qu'une valeur, on peut utiliser une
fonction de domaine... et on mettra comme source du TextBox :

= Dlookup("NomDuChamp" ; "NomDeLaRequête")

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
RaphK34
Salut, sur l'évènement de ton choix, par exemple sur entree dans Numcl:
Me.Numcl=Dlookup("NumCl","NumClient")
si NumCl est le champs dans la table et NumClient la table.
Pense à regarder l'aide sur Dlookup qui est bien renseignée.
Tu peux tester aussi dnas le fenetre d'execution de la fenetre VBA via
l'instruction:
Debug.Print Dlookup("NumCl","NumClient")

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Animatrix" a écrit dans le message de
news:
Merci.

Par contre, comment l'écrire en VB ?

Private Sub Numcl_BeforeUpdate(Cancel As Integer)

=Dlookup(Numcl,Numclient)

End Sub

N'est pas bon.
J'aimerais simplement que l'événement se fasse au chargement du
formulaire.
Comment faire ?



Salut,

"Animatrix"
| J'aimerais pouvoir insérer comme valeur dans une zone de texte le
résultat
| d'une requête (qui ne me retourne qu'un résultat).
|
| Seulement, le résultat obtenu est #Nom


C'est normal... une requête ne peut effectivement pas être la source
d'une
zone de texte - cela est destiné à recevoir la valeur d'un champ !

Mais, si la requête ne ramène qu'une valeur, on peut utiliser une
fonction de domaine... et on mettra comme source du TextBox :

= Dlookup("NomDuChamp" ; "NomDeLaRequête")

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)







Avatar
Animatrix
Justement j'ai un problème avec l'événement.
J'aimerais dire lors du chargement du formulaire.

Private Sub Numcl_BeforeUpdate(Cancel As Integer)

Me.Numcl = DLookup("NumCl", "NumClient")

End Sub

Car cela ne renvoi rien.

Pour info, ma requête :
SELECT N°
FROM Client
WHERE Num_secu=Formulaires!Ajouter_client!Num_secu And
Nom=Formulaires!Ajouter_client!Nom;
Avatar
RaphK34
Re,
Là tu n'es pas sur le chargement de ton form, mais sur le "Avant Mise à
Jour" de ton contrôle !

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Animatrix" a écrit dans le message de
news:
Justement j'ai un problème avec l'événement.
J'aimerais dire lors du chargement du formulaire.

Private Sub Numcl_BeforeUpdate(Cancel As Integer)

Me.Numcl = DLookup("NumCl", "NumClient")

End Sub

Car cela ne renvoi rien.

Pour info, ma requête :
SELECT N°
FROM Client
WHERE Num_secu=Formulaires!Ajouter_client!Num_secu And
Nom=Formulaires!Ajouter_client!Nom;



Avatar
Animatrix
Et justement je ne vois pas comment faire, c'est pour ca que je demande.
Par contre, dans la fenêtre d'éxecution, si je tapes Debug.Print
Dlookup("NumCl","NumClient")

J'obtiens une erreur d'exécution '2471'

L'expression entrée comme paramètre de requête est à l'origine de l'erreur
suivante : "Numcl"

:(


Re,
Là tu n'es pas sur le chargement de ton form, mais sur le "Avant Mise à
Jour" de ton contrôle !

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Animatrix" a écrit dans le message de
news:
Justement j'ai un problème avec l'événement.
J'aimerais dire lors du chargement du formulaire.

Private Sub Numcl_BeforeUpdate(Cancel As Integer)

Me.Numcl = DLookup("NumCl", "NumClient")

End Sub

Car cela ne renvoi rien.

Pour info, ma requête :
SELECT N°
FROM Client
WHERE Num_secu=Formulaires!Ajouter_client!Num_secu And
Nom=Formulaires!Ajouter_client!Nom;








Avatar
RaphK34
Re,
comment s'appelle la table ou la requête dans laquelle se trouve la valeur
et comment s'appel le champs de la table/Requête ?
Et essaye de remplacer
Numcl_BeforeUpdate(Cancel As Integer)
par:
Form_Load()

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Animatrix" a écrit dans le message de
news:
Et justement je ne vois pas comment faire, c'est pour ca que je demande.
Par contre, dans la fenêtre d'éxecution, si je tapes Debug.Print
Dlookup("NumCl","NumClient")

J'obtiens une erreur d'exécution '2471'

L'expression entrée comme paramètre de requête est à l'origine de l'erreur
suivante : "Numcl"

:(


Re,
Là tu n'es pas sur le chargement de ton form, mais sur le "Avant Mise à
Jour" de ton contrôle !

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Animatrix" a écrit dans le message
de
news:
Justement j'ai un problème avec l'événement.
J'aimerais dire lors du chargement du formulaire.

Private Sub Numcl_BeforeUpdate(Cancel As Integer)

Me.Numcl = DLookup("NumCl", "NumClient")

End Sub

Car cela ne renvoi rien.

Pour info, ma requête :
SELECT N°
FROM Client
WHERE Num_secu=Formulaires!Ajouter_client!Num_secu And
Nom=Formulaires!Ajouter_client!Nom;










Avatar
Animatrix
Nom de la requête : Numclient
Le champs de la requête N°
La zone de texte Numcl


Re,
comment s'appelle la table ou la requête dans laquelle se trouve la valeur
et comment s'appel le champs de la table/Requête ?
Et essaye de remplacer
Numcl_BeforeUpdate(Cancel As Integer)
par:
Form_Load()



Avatar
RaphK34
Re,
As tu lu l'aide de Dlookup ?
la bonne syntaxe est:
Me.NumClient = Dlookup("N°","NumClient")

Il vaut mieux éviter les caractères spéciaux pour tes appélations, ça évite
les erreurs potentielles ...

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Animatrix" a écrit dans le message de
news:
Nom de la requête : Numclient
Le champs de la requête N°
La zone de texte Numcl


Re,
comment s'appelle la table ou la requête dans laquelle se trouve la
valeur
et comment s'appel le champs de la table/Requête ?
Et essaye de remplacer
Numcl_BeforeUpdate(Cancel As Integer)
par:
Form_Load()






Avatar
Pierre CFI
bonjour
oui, mais si c'est directement la source d'un controle
il faut un point virgule

--
Pierre CFI

*************************************************
"RaphK34" a écrit dans le message de news:

Re,
As tu lu l'aide de Dlookup ?
la bonne syntaxe est:
Me.NumClient = Dlookup("N°","NumClient")

Il vaut mieux éviter les caractères spéciaux pour tes appélations, ça
évite les erreurs potentielles ...

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"Animatrix" a écrit dans le message
de news:
Nom de la requête : Numclient
Le champs de la requête N°
La zone de texte Numcl


Re,
comment s'appelle la table ou la requête dans laquelle se trouve la
valeur
et comment s'appel le champs de la table/Requête ?
Et essaye de remplacer
Numcl_BeforeUpdate(Cancel As Integer)
par:
Form_Load()










1 2