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] Besoin d acceder a un record et a des donnees precises de ce record


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut [Résolu][VBA] Besoin d acceder a un record et a des donnees precises de ce record
    Bonjour,

    je me permets de vous faire part de mon probleme concernant une boucle for qui doit balayer une base de donnee ligne par ligne (enfin.. enregistrement par enregistrement) et comparer la valeur d'un certains champ avec celle d un argument afin d engager ou non diverses operations, mais je n arrive pas a mettre la main sur une donnee d un record.

    La base sur laquelle la fonction travaille est "Fehlerart_Montage_database".

    J ai pourtant regarder en VBA sur google ainsi que dans la FAQ mais je n ai pas pu trouver mon bonheur... J ai l impression qu il faille faire cela en SQL mais je n ai vraiment pas de connaissances la dedans... Savez vous si je peux m en sortir uniquement en restant dans du VBA.

    J ai essayé plusieurs syntaxes differentes pour acceder aux donnees, mais rien n y a fait, j'ai ecrit pour l exemple une syntaxe, bien entendu erronée, (en fait comme si je travaillais avec un tableau) afin de montrer au mieux mon besoin. Le probleme dès le if où j essaye de lire la donnee numero 4 du reocrd numero k :

    PS: l indice "i" est initialisé et incrementé ailleurs dans ma fonction, et "tableau" est declaré comme suit: Dim tableau(1 To 20, 1 To 7) As Variant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For k = 1 To taille_fehlerart_database
     
          If MontWie = Fehlerart_Montage_database(k, 4) Then
     
          tableau(i, 1) = Fehlerart_Montage_database(k, 2) '** fehlerart
          tableau(i, 2) = Fehlerart_Montage_database(k, 7) '** fehlerursache1
          tableau(i, 3) = Fehlerart_Montage_database(k, 8) '** Fehlerauswirckung1
          tableau(i, 4) = Fehlerart_Montage_database(k, 9) '** B1
     
    ect ect....
    Je vous remercie par avance pour vos propositions.

    Sebastien

  2. #2
    Membre émérite Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    849
    Détails du profil
    Informations personnelles :
    Âge : 69

    Informations forums :
    Inscription : Février 2005
    Messages : 849
    Par défaut
    Salut,

    On parle bien d'une base Access ?
    si oui, quel est le nom de la table sur laquelle tu veux travailler ?

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut
    La base qui m interesse s appelle : Fehlerart_Montage_database

    par ailleurs, je travaille sur access 2003.

    Merci par avance,

    sebastien

    PS: en PJ, le descriptif de ma base

  4. #4
    Membre émérite Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    849
    Détails du profil
    Informations personnelles :
    Âge : 69

    Informations forums :
    Inscription : Février 2005
    Messages : 849
    Par défaut
    Donc Fehlerart_Montage_database n'est pas une base de données, mais une Table appartenant à une base de données.

    Tu peux parcourir ta base avec DAO

    1ere chose à faire dans VBA, dans le menu outils/réferences, cocher la référence à Microsoft DAO3.x Object Library
    Puis après faire un code dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim MaBd as Database
    DimRst as Recordset
    Set MaBd=CurrentDb
    Set Rst =MaBd.OpenRecordset("Fehlerart_Montage_database", DbOpenDynaset)
    Rst.Move First
    Do While NOT rst.EOF
       If Rst!NomDuChampAComparer=TonArgument then
             ' Action à réaliser
        Endif
        Rst.MoveNext
    Loop

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Par défaut
    Tout d abord, un grand merci!

    Et puis par ailleurs, toute mes excuses pour mon erreur entre base de donnee et table... vivement le week end...

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

Discussions similaires

  1. [A-07] Projet VBA besoin d'aide
    Par antoine974 dans le forum IHM
    Réponses: 8
    Dernier message: 30/11/2008, 06h59
  2. VBA: besoin d'aide pour macro boursière
    Par DonaldTron dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/11/2007, 15h52
  3. Programme VBA : besoin d'aide svp
    Par antoine21 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/06/2007, 22h44
  4. Mon appli Access/Vba: besoin de recul
    Par kilimanjaro dans le forum Access
    Réponses: 4
    Dernier message: 02/11/2005, 11h06

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