Requete et formulaire
FlyingAlex
-
Gaunts Messages postés 1390 Statut Membre -
Gaunts Messages postés 1390 Statut Membre -
Bonjour,
J'ai effectue la requête suivante :
SELECT Max([Master Table].[Part Number]+1) AS [Part NumberOfMax]
FROM [Master Table];
Qui me permet de prendre la plus grande valeur d'une colonne d'une table et de lui ajouter 1.
Le but est que cette valeur apparaisse ensuite dans mon formulaire, et pas moyen d'y arriver (je ne peux pas passer par la table car la requête est elle même définie grâce a la table).
La seule chose que j'arrive a faire est d'insérer un sous formulaire dans le formulaire avec la valeur en question, mais je suis bloqué la.
Je pense que la méthode ouvrir le formulaire, ouvrir le sous formulaire, copier la valeur de la textbox du sous formulaire, la mettre dans la textbox voulue et le tout en cacher est un peu bourrin, si vous avez des idées je suis (très) preneur. J'ai deja regarder pour effectuer la requete sous vba mais ca m'a l'air compliqué...
Merci
FlyingAlex
PS : désolé du manque d'accent, clavier américain
Edit : je suis sur Access
J'ai effectue la requête suivante :
SELECT Max([Master Table].[Part Number]+1) AS [Part NumberOfMax]
FROM [Master Table];
Qui me permet de prendre la plus grande valeur d'une colonne d'une table et de lui ajouter 1.
Le but est que cette valeur apparaisse ensuite dans mon formulaire, et pas moyen d'y arriver (je ne peux pas passer par la table car la requête est elle même définie grâce a la table).
La seule chose que j'arrive a faire est d'insérer un sous formulaire dans le formulaire avec la valeur en question, mais je suis bloqué la.
Je pense que la méthode ouvrir le formulaire, ouvrir le sous formulaire, copier la valeur de la textbox du sous formulaire, la mettre dans la textbox voulue et le tout en cacher est un peu bourrin, si vous avez des idées je suis (très) preneur. J'ai deja regarder pour effectuer la requete sous vba mais ca m'a l'air compliqué...
Merci
FlyingAlex
PS : désolé du manque d'accent, clavier américain
Edit : je suis sur Access
A voir également:
- Requete et formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Récupérer compte hotmail sans formulaire - Forum Hotmail / Outlook.com
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
3 réponses
Salut,
Si j'ai bien compris tu veux afficher cette valeur dans une textbox?
Si c'est le cas je pense qu'il faudra passer par du vba.
Si j'ai bien compris tu veux afficher cette valeur dans une textbox?
Si c'est le cas je pense qu'il faudra passer par du vba.
Re,
On s'est embêtés pour rien, voila une méthode beaucoup plus simple:
https://forums.commentcamarche.net/forum/affich-19935390-access-lien-entre-query-et-formulaire#4
Je ne connaissais pas la fonction
On s'est embêtés pour rien, voila une méthode beaucoup plus simple:
https://forums.commentcamarche.net/forum/affich-19935390-access-lien-entre-query-et-formulaire#4
Je ne connaissais pas la fonction
J'essaie des truc du genre
Dim Enr As Recordset
Set Enr = CurrentDb.OpenRecordset("SELECT Max([Master Table].[Part Number]+1) AS [NewPN] FROM [Master Table]")
Mais ca ne donne rien
Tu travailles sous quelle version d'access?
Openrecordset n'effectue pas une requête SQL, elle ne prend en paramètre que la table qu'elle va ouvrir.
Pour effectuer une requête SQL, il faut utiliser DoCmd.Runsql "ta_requête".
Dans ton cas, il faudra parcourir la table en VBA, et récupérer la valeur manuellement pour l'assigner à ton champ texte.
Pour te déplacer dans une table:
Dim Enr As DAO.Recordset2 set Enr = Currentdb.OpenRecordset("Master Tabe") Enr.MoveFirstpuis . Si tu as toujours des questions sur ce qu'il faudra faire n'hésite pasPrivate Sub Form_Load() Dim Enr As dao.Recordset2 Dim max As Integer Set Enr = CurrentDb.OpenRecordset("Master Table") max = 0 Enr.MoveFirst While (Enr.EOF = False) If (Enr.[Part Number] > max) Then max = Enr.[Part Number] End If Enr.MoveNext Wend Me.zoneTexte.Value = max + 1 End SubPas testé.Me.zoneTexte.Value
Remplace zoneTexte par le nom de ta textbox.
Pareil avec le nom de la table et du champ j'ai utilisé "Master Table" et "Part Number" ici