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 :

Problème code VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 34
    Par défaut Problème code VBA
    Bonjour,

    J'ai le code Visual Basic ci dessous que j'ai appliqué à un formulaire.

    Ce que je voudrais faire c'est qu'après la fermeture de ce fomulaire un autre formulaire s'ouvre directement.

    J'ai essayé DoCmd.OpenForm (z) mais cela ne marche pas.

    (z) faisant référence à mon formulaire qui doit s'ouvrir après la fermeture de l'autre formulaire.

    Merci d'avance pour vos réponses.





    Private Sub Valider_Click()
    On Error GoTo err
    Dim Db As DAO.Database
    Dim QryModele As DAO.QueryDef
    Dim strSQLModele As String
    Set Db = CurrentDb
    Set QryModele = Db.QueryDefs("Requête61 pour formulaire61 pour formualire72")
    strSQLModele = QryModele.SQL
    'Effectue le remplacement du critere par la valeur
    strSQLModele = Replace(strSQLModele, "[saisir le nom salarié]", Chr(34) & Nz(Nom) & Chr(34))
    'Si la requête existe déjà alors
    If TesteExistenceRequete("rt") Then
    'alors modifier le code de la requête
    Db.QueryDefs("rt").SQL = strSQLModele
    'Sinon
    Else
    'Créer la nouvelle requête
    Db.CreateQueryDef "rt", strSQLModele
    End If
    'Ferme le formulaire
    DoCmd.Close acForm, Me.Name
    Exit Sub
    err:
    MsgBox "Une erreur est survenue", vbCritical, "Sélection nom"
    End Sub

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Sub Valider_Click()
    'On Error GoTo err
    Dim Db As DAO.Database
    Dim QryModele As DAO.QueryDef
    Dim strSQLModele As String
        Set Db = CurrentDb
        Set QryModele = Db.QueryDefs("Requête61 pour formulaire61 pour formualire72")
        strSQLModele = QryModele.SQL
        'Effectue le remplacement du critere par la valeur
        strSQLModele = Replace(strSQLModele, "[saisir le nom salarié]", Chr(34) & Nz(Nom) & Chr(34))
        'Si la requête existe déjà alors
        If TesteExistenceRequete("rt") Then
            'alors modifier le code de la requête
            Db.QueryDefs("rt").SQL = strSQLModele
            'Sinon
        Else
            'Créer la nouvelle requête
            Db.CreateQueryDef "rt", strSQLModele
        End If
        DoCmd.OpenForm z
        'Ferme le formulaire
        DoCmd.Close acForm, Me.Name
        Exit Sub
    err:
        MsgBox "Une erreur est survenue", vbCritical, "Sélection nom"
    End Sub
    Ca le fait pas ?
    [Access] Les bases du débogage => ici

  3. #3
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Moi j'utilise la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "MonFormulaire"
    P.S : Tu peux utiliser la balise [CODE] (clic sur le # dans la barre d'outils d'édition) pour présenter ton code, ça sera mieux qu'en vert fluo

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 34
    Par défaut
    Kloun, j'ai déja appliqué ce code au même endroit que toi pour DoCmd.OpenForm (z) mais cela ne marche pas.

    Cette commande ne réagit pas.
    Peut être que ce bout de code est mal placé dans mon code.

    Je vais faire des tentatives mais si vous avez des idées, je suis preneur

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Je ne vois aucun endrois où Z est renseigné dans ton code mais probablement que le code ne passe même pas par là car tu aurais un message d'erreur disant qu'il ne trouve pas le formulaire demandé.

    Fait une execution pas à pas de ton code tu devrais localiser facilement le problème.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 34
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Je ne vois aucun endrois où Z est renseigné dans ton code mais probablement que le code ne passe même pas par là car tu aurais un message d'erreur disant qu'il ne trouve pas le formulaire demandé.

    Fait une execution pas à pas de ton code tu devrais localiser facilement le problème.

    A+
    Je ne l'ai pas mis marot_r car cela ne marchait pas mais je l'ai mis à cet endroit là avant (en rouge)

    J'ai en fait appliqué ce code :

    Private Sub Valider_Click()
    On Error GoTo err
    Dim Db As DAO.Database
    Dim QryModele As DAO.QueryDef
    Dim strSQLModele As String
    Set Db = CurrentDb
    Set QryModele = Db.QueryDefs("Requête61 pour formulaire61 pour formualire72")
    strSQLModele = QryModele.SQL

    'Effectue le remplacement du critere par la valeur
    strSQLModele = Replace(strSQLModele, "[saisir le nom salarié]", Chr(34) & Nz(Nom) & Chr(34))

    'Si la requête existe déjà alors
    If TesteExistenceRequete("rt") Then

    'alors modifier le code de la requête
    Db.QueryDefs("rt").SQL = strSQLModele

    'Sinon
    Else

    'Créer la nouvelle requête
    Db.CreateQueryDef "rt", strSQLModele
    End If
    DoCmd.OpenForm (z)
    'Ferme le formulaire
    DoCmd.Close acForm, Me.Name
    Exit Sub
    err:
    MsgBox "Une erreur est survenue", vbCritical, "Sélection nom"
    End Sub

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

Discussions similaires

  1. [XL-2007] Problème code VBA
    Par Jay29 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/10/2009, 16h41
  2. Problème Code VBA, ajout non désiré sur bouton
    Par vivicente dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/06/2008, 17h33
  3. Problème code vba
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2008, 12h03
  4. Problème code VBA :)
    Par Freygolow dans le forum Access
    Réponses: 4
    Dernier message: 17/05/2007, 15h43

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