IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

[VBA] Position sur n enregistrement


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    Je recherche le moyen de me positionner sur le n enregistrement d'une table quelqu'un connait il une formule ?

    genre rechdom(champ, table, N° d'enregistrement)

    et une méthode en sql qqn connait ? pour se positionner sur le n enregistrement ???

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut

    sur gotorecord

  3. #3
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Je ne sais pas comment utiliser cette commande, pouvez vous m'aider ?

    Je voudrais recupérer la valeur du champs NUMMAT pour la table MATLOC à la 2nd ligne de cette table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim oDb As DAO.Database
    Set oDb = CurrentDb
    Set oRstClient = oDb.OpenRecordset("VIRGILE_MATLOC", dbOpenTable)
    oRstVIRGILE_MATLOC.Move 2
    Je ne sais pas comment récupérer la valeur du champs NUMMAT de la table VIRGILE_MATLOC

    Merci pour l'aide !

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim oDb As DAO.Database
    Set oDb = CurrentDb
    Set oRstClient = oDb.OpenRecordset("VIRGILE_MATLOC", dbOpenTable)
    oRstClient.Move 1
    Variable = oRstClient![NomChamp]
    Attention, tu as utilisé oRstVIRGILE_MATLOC alors qu'il n'est pas déclaré. C'est oRstClient qu'il faut que tu utilises.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Merci pour l'aide je m'en suis sortie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim oDb As DAO.Database
    Dim Valeur As String
    Set oDb = CurrentDb()
    Set oRstValeur = oDb.OpenRecordset("VIRGILE_MATLOC")
    oRstValeur.Move 0
    Valeur = oRstValeur![MCDMAT]
     
    MsgBox ("" & Valeur & "")

  6. #6
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Dim oDb As DAO.Database
    Set oDb = CurrentDb()
    Set oRstValeur = oDb.OpenRecordset("VIRGILE_MATLOC")
    Dim N As Integer
    Dim Valeur As String
    Dim NbLigne As Integer
    Dim MAT As String
    NbLigne = DCount("[MCDMAT]", "VIRGILE_MATLOC")
     
    N = 0
    Do Until N = NbLigne
        oRstValeur.Move N
        MAT = oRstValeur![MCDMAT]
        N = N + 1
        MsgBox ("" & N & " / " & MAT & "")
    Loop
    La propriété move ne fonctionne pas bien ici, il ne se positionne pas sur l'enregistrement souhaité !!??

    si je lui dit il me donne la bonne valeur par contre si je met comme dans le code il est à côté de la plaque ??? Il ne me parcours que 18 enregistrements en plus ??

  7. #7
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Comment ça "à coté de la plaque" ??

    Quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        MsgBox ("" & N & " / " & MAT & "")
    Tu affiches : N + 1 et MAT correspond à l'enregistrement N.
    Tu devrais incrémenter après ton MsgBox pour vérifier ton résultat

  8. #8
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    249
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 249
    Points : 94
    Points
    94
    Par défaut
    J'ai compris mon erreur, voici la correction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    N = 0
    Do Until N = NbLigne - 1
        oRstValeur.Move 1
        MAT = oRstValeur![MCDMAT]
        MsgBox ("" & N & " / " & MAT & "")
        N = N + 1
    Loop
    Merci pour l'aide !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/12/2007, 10h28
  2. Réponses: 4
    Dernier message: 15/04/2007, 23h30
  3. Réponses: 2
    Dernier message: 02/03/2007, 17h56
  4. [VBA] Renseignements sur boite de dialogue "enregistrer sous"
    Par p'tite Sandrine dans le forum Access
    Réponses: 40
    Dernier message: 22/02/2007, 10h53
  5. Réponses: 1
    Dernier message: 06/07/2006, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo