Requete et formulaire

Fermé
FlyingAlex - Modifié par FlyingAlex le 25/11/2010 à 08:53
Gaunts Messages postés 1125 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 18 mars 2012 - 25 nov. 2010 à 11:27
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

3 réponses

Gaunts Messages postés 1125 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 18 mars 2012 116
25 nov. 2010 à 09:03
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.
1
Oui plus ca va, et plus je me dis que ca va devoir se faire comme ca.... je cherche comment faire en ce moment meme mais pas simple du tout. L'idee est pourtant simple, mais pas moyen de mettre un code dessus

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
0
Gaunts Messages postés 1125 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 18 mars 2012 116
Modifié par Gaunts le 25/11/2010 à 09:25
Re.
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.MoveFirst
puis
Enr.MoveNext
. Si tu as toujours des questions sur ce qu'il faudra faire n'hésite pas
0
En fait, ce que je veux, c'est recuperer la valeur la plus importante de la colonne, lui ajouter un et pui la rentrer dans le textbox. Si tu vois comment faire sans requete, tu me sauve je crois....
0
Gaunts Messages postés 1125 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 18 mars 2012 116
Modifié par Gaunts le 25/11/2010 à 09:37
Tu peux essayer ça?
Private 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 Sub   
Pas 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
0
Alors ca bug. Message : Compile error : User - defined type non defined pour Enr As DAO.Recordset2
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
25 nov. 2010 à 08:51
Bonjour,

Tu travailles avec quoi ?

Xavier
0
Bonjour Xavier

Je suis sur Access
0
Gaunts Messages postés 1125 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 18 mars 2012 116
25 nov. 2010 à 11:27
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
0