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 :

DoCmd.OpenForm et condition where


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 11
    Points
    11
    Par défaut DoCmd.OpenForm et condition where
    Bonjour,
    J'utilise access 2000 sous XP.
    Avec la méthode docmd.openform, j'ai essayé d'utiliser dans conditionwhere quelquechose de la forme :
    toto = 1 and titi = 2
    Le premier paramètre est bien reconnu, pour le second access ouvre une fenêtre demandant la valeur du 2ème paramètre .

    Y a t il un moyen de passer 2 paramètres ?

    Merci d'avance pour votre aide.

    Laurence

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il faudrait que tu nous mettes la ligne complète pour voir ce que tu as écris.

    Starec

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 11
    Points
    11
    Par défaut
    Bonsoir,
    Voici le code en question :
    On stocke la valeur de la "requête" dans le tag d'un bouton (le bouton se situe dans un sous formulaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim strsql As String
       strsql = Forms![f_test].cmd_autre.Tag
       Debug.Print strsql
        DoCmd.OpenForm "f_change_test", , "t_test", strsql
    résultat du debug.print:
    t_test_a = 0 and t_test_b = 3

    Ca fonctionne à condition que je saisisse 3 après qu'access m'ait demandé de saisir le paramètre manquant.

    Merci

    Laurence

  4. #4
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    2 questions :
    1. Es-tu sûre de stocker la valeur de la requête, et non pas la requête elle-même ?
    2. Est-ce normal d'avoir un filtre + 1 condition WHERE ?


    J'ai du mal à comprendre ta logique . Pourquoi n'essayerais-tu pas quelque chose de plus conventionnel du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "f_change_test", , , "toto = 1 And titi = 2"
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "f_change_test", , , "toto =" & MaVariable1 & " And titi =" & MaVariable2
    Gabout

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    merci pour votre aide,
    L'erreur venait de l'absence de guillemet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim strsql As String
       strsql = "" & Forms![f_test].cmd_autre.Tag & ""
       DoCmd.OpenForm "f_change_test", , "t_test", strsql
    Ce code permet de contourner le point faible des sous-formulaires : il est impossible d'identifier un enregistrement d'un sous-formulaire pour par exemple afficher le détail de cet enregistrement.
    Sur l'évènement current du sous-formulaire, j'initialise le tag du bouton avec les paramètres.
    Sur clique du bouton j'ouvre un nouveau formulaire qui affiche le détail de l'enregistrement sélectionné.

    Laurence

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/04/2008, 11h00
  2. Docmd.openform avec plusieurs conditions
    Par Pwouaro dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/02/2008, 09h55
  3. export docmd.OutputTo avec une condition Where
    Par pifou25 dans le forum VBA Access
    Réponses: 5
    Dernier message: 28/01/2008, 12h23
  4. Réponses: 5
    Dernier message: 23/03/2007, 09h58
  5. Syntaxe dans Where (docmd.openform)
    Par fredpeca dans le forum Access
    Réponses: 24
    Dernier message: 09/01/2007, 13h44

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