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 :

Executer Action suivant Variables


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 33
    Points
    33
    Par défaut Executer Action suivant Variables
    Bonjour à tous,

    Après lecture des différentes discussion, j'ai essayé plusieurs choses, mais je n'arrive pas à comprendre.

    Mon problème est le suivant. J'ai un formulaire de sélection où je saisi dans un champ indépendant un numéro. Je veux ensuite (en cliquant sur un bouton) trouver si ce numéro existe dans une table. En fonction du résultat (existe ou existe pas) je veux éxécuter des actions différentes

    voici le code

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub Commande7_Click()
    On Error GoTo Err_Commande7_Click
     
     Dim stDocName As String
     Dim stLinkCriteria As String
     Dim q As QueryDef
     Dim Q1 As String
     Dim NbEnregistrements As Long
     
     Q1 = "SELECT [n° Bon Consigne] from Mouvement where [n° Bon consigne] = Me![NB1];"
    Set q = CurrentDb.CreateQueryDef("TrouverBon", Q1)
     
     NbEnregistrements = DCount("*", "TrouverBon")
     
    if NbEnregistrements = 1 then
       stDocName = "Req list mvt"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
     
    else   
      msgbox "Désolé ce numéro n'existe pas"
    end if
     
    Exit_Commande7_Click:
        Exit Sub
     
    Err_Commande7_Click:
        MsgBox Err.Description
        Resume Exit_Commande7_Click
    End Sub
    ça ne marche pas. J'ai un message d'erreur l'objet trouverBon existe déjà.
    Merci de votre aide

  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 : 45
    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,

    Commençons par le début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Q1 = "SELECT [n° Bon Consigne] from Mouvement where [n° Bon consigne] = Me![NB1];"
    Là je doute que cela fonctionne.
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Q1 = "SELECT [n° Bon Consigne] from Mouvement where [n° Bon consigne] = " & Me![NB1]
    Ensuite, Si la requête existe : supprime là avant de la recréer.


  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 33
    Points
    33
    Par défaut
    merci pour ton aide rapide
    je vais parcourir le tuto.
    En revanche je ne comprends pas pourquoi il faut supprimer une requête avant de la recréer.

    S'agit-il d'un problème d'initialisation ? Pourquoi ne pas stocker la requête dans une variable (je croyais l'avoir fait) et initialiser la variable à 0 ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 33
    Points
    33
    Par défaut
    Après lecture tu tuto mais surtout lecture du forum Requete et SQL
    j'ai trouvé comment faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        Dim Q1 As String
        Dim NbEnregistrements As Long
        Dim rs As DAO.Recordset
     
     
    Q1 = "SELECT [n° Bon Consigne] from Mouvement where [n° Bon consigne] = " & Me![NB1]
    Set rs = CurrentDb.OpenRecordset(Q1)
    rs.MoveLast
    NbEnregistrements = rs.RecordCount
    et là je capte bien si il y a un numéro de Bon ou pas. Seul souci c'est que par défaut s'il n'y a pas d'enregistrement j'ai un message formaté du type Aucun enregistrement en cours. J'aurais voulu pouvoir maîtriser l'erreur pour mettre un autre message. Je vais chercher.

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

Discussions similaires

  1. ouverture fichier suivant variable
    Par cchampion2fr dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2008, 14h13
  2. Action suivant la chaine de caractères trouvée
    Par dcogez dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/05/2008, 08h53
  3. Execution action .do - Invalid path
    Par devAd dans le forum Struts 1
    Réponses: 3
    Dernier message: 20/03/2007, 09h40
  4. Réponses: 5
    Dernier message: 11/05/2006, 11h46
  5. Drag & Drop sur un JPanel et actions suivant le drop
    Par ceres02 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 03/03/2006, 21h46

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