Soucis de requête VBA (access) et Recordset

Résolu
Bonjour à tous,

J'espère que quelqu'un aura pitié d'un pauvre homme qui galère a réalisé une requete.
J'ai potassé bcp de forum et de tutoriels mais tout se mélange dans ma tête, a force de voir des choses vrai et fausses, je ne sais plus du tout ou j'en suis.

je tente actuellement de réaliser une requete sur ma table (invoices), pour récupérer l'id de la dernière invoices ajoutée, ou de la plus grande mais toujours rien...
je veux le stocker dans ma variable W_IdInvoice.

voila a quoi ressemble le code :

Public Function SubForm()

Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field

Set db = CurrentDb

Dim W_IdInvoice As String


W_RQT = "SELECT max(IDInvoice) from Invoices"

Set rst = db.OpenRecordset(W_RQT, dbOpenForwardOnly, dbReadOnly)

W_IdInvoice = rst.Fields(IDInvoice)

End Function


en pas à pas j'obtient l'erreur "élément non trouvé dans la collection"erreur 3265

j'oublie fatalement quelque chose, mais ou et quoi?

merci d'avance a ceux qui pourraient m'aider
Configuration: Windows Vista
Firefox 3.0.3

5 réponses

  1. merci ca passe, mais je ne me souviens plus comment on fait pour mettre une variable dans une msgbox
    (j'aimerai l'afficher pour vérifier le contenu de ma variable)
    ;-)
    0
    1. merci a tous ca fonctionne, a charge de revanche si jepeux vous aider....
      0
      1. Bonjour,

        As-tu essayé ça :

        W_IdInvoice = rst.Fields(0)


        ;o)
        -1
        1. Tu fais

          W_IdInvoice = rst.Fields(0)
          MsgBox W_IdInvoice


          ;o)
          -1
          1. Hello,

            Tu n'es vraiment pas loin d'obtenir ton resultat.
            Changes ta synthaxe par:
            W_IdInvoice = rst.Fields("IDInvoice")
            ou
            W_IdInvoice = rst.Fields(0)

            Bonne continuation

            -1
            1. ???
              -1