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 :

FindFirst Visual Basic Access 2010


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 8
    Points
    8
    Par défaut FindFirst Visual Basic Access 2010
    Bonjour,
    Je suis dans un formulaire DDP, dans le champ DDP1.
    Je veux vérifier que la valeur de DDP1 existe également dans le champ COM d'une table COM1.
    J'ai essayé dans tous les sens la méthode Findfirst mais je n'y arrive pas.
    Voici une version toute simple qui ne marche pas :

    Dim MaBase As Database
    Dim rst As RECORDSET

    Set MaBase = CurrentDb
    Set rst = MaBase.OpenRecordset("COM1")

    rst.FindFirst "[COM] = 'Forms!DDP!DDP1'"

    If rst.NoMatch = True Then
    MsgBox "Le dossier suivant n'existe pas en commande : " & Forms!DDP!DDP1
    Exit Sub
    End If

    Le programme ne trouve pas la valeur recherchée dans la table COM1 même si cette valeur s'y trouve. Lorsque je remplace 'Forms!DDP!DDP1' par le texte qui lui correspond, par exemple '121040/A2', cela fonctionne.
    J'ai essayé de multiples façons de faire (strCriteria, etc.) rien ne fonctionne.

    Pourriez-vous m'aider ou me conseiller ? (Faut-il utiliser Seek ? Comment ?)
    Merci d'avance, bien cordialement, Richard
    (Je programme occasionnellement en Visual Basic sous Access mais je ne suis pas un spécialiste, donc il me faut si possible une réponse assez simple/claire...)

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Je dirais que la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst.FindFirst "[COM] = 'Forms!DDP!DDP1'"
    n'est pas bonne à ce niveau .

    Il faudrait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst.FindFirst "[COM] =" & Forms!DDP!DDP1
    si Forms!DDP!DDP1 est numérique.

    Ne pas oublier d'utiliser les ' et " si Forms!DDP!DDP1 est du texte.

    Quand tu mets effectivement "[COM]=Valeur", ça marche comme étant une expression.

    Bonne continuation.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/09/2011, 19h20
  2. connexion BD Oracle avec Visual Basic Express 2010
    Par hello_world88 dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/05/2011, 17h18
  3. [AC-2007] Zone de liste avec visual basic access
    Par billiejoe dans le forum IHM
    Réponses: 3
    Dernier message: 14/12/2010, 17h08
  4. Publication projet Visual Basic Express 2010
    Par Gilles57-H-G dans le forum VB.NET
    Réponses: 3
    Dernier message: 27/11/2010, 17h13
  5. [AC-2002] Message 1004 Visual Basic - Access 2002
    Par volganne dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/03/2010, 13h39

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