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 résolution erreur '3464'


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Problème résolution erreur '3464'
    Bonjour à tous,

    Je cherche à faire quelque chose de relativement simple sur access et tout fonctionne parfaitement dans mon code lors de l'exécution sauf l'ouverture de la requête à la fin.

    Je n'arrive pas à comprendre pourquoi, peut être quelqu'un peut il m'aider?

    Merci d'avance, ci joint 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub LaunchPoche2_Click()
    
    Dim DAR As Date
    Dim Periode As String
    Dim Poche As String
    Dim QryModele As DAO.QueryDef
    Dim db As DAO.Database
    Dim strSQLModele As String
    
    
        Periode = Forms("Reporting_Portefeuilles").Controls("ListePeriode").Value
        Poche = Forms("Reporting_Portefeuilles").Controls("ListePoche").Value
        DAR = Forms("Reporting_Portefeuilles").Controls("ListeDate").Value
    
    
            If IsNull(DAR) = True Then
                MsgBox "La date d'arrêté est mal renseignée"
                Exit Sub
            End If
            If IsNull(Periode) = True Then
                MsgBox "La période est mal renseignée"
                Exit Sub
            End If
            If IsNull(Poche) = True Then
                MsgBox "La poche est mal renseignée"
                Exit Sub
            End If
    
    
        'Utilisation du code de la requête maquette et remplacement par les élément de variable sélectionnés
        Set db = CurrentDb
        Set QryModele = db.QueryDefs("Maquette Reporting Poches")
        strSQLModele = QryModele.SQL
    
    
    'Effectue le remplacement du critere par la valeur
    strSQLModele = Replace(strSQLModele, "1J", Periode)
    strSQLModele = Replace(strSQLModele, "10/10/2010", DAR)
    strSQLModele = Replace(strSQLModele, "XXXX", Poche)
    
    db.QueryDefs("Reporting Poches").SQL = strSQLModele
    
    'Ouvre la requête
    DoCmd.OpenQuery "Reporting Poches" 'erreur à ce niveau la
    
    
    End Sub

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rom22950 bonjour,

    ligne 32 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set QryModele = db.QueryDefs("Maquette Reporting Poches")
    ligne 41 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    db.QueryDefs("Reporting Poches").SQL = strSQLModele
    ligne 44 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenQuery "Reporting Poches" 'erreur à ce niveau la
    Le nom n'est pas le même

    jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Salut!

    Merci pour ta réponse rapide, oui en effet ce n'est pas le même mais mon cahier des charge est donné comme ça, ci joint un exemple de code "similaire" qui lui, fonctionne parfaitement...

    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
    30
    31
    Private Sub LaunchPoche_Click()
     
    Dim DAR As Date
    Dim Periode As String
    Dim QryModele As DAO.QueryDef
    Dim db As DAO.Database
    Dim strSQLModele As String
     
    DAR = Forms("Reporting_Portefeuilles").Controls("ListeDate").Value
    Periode = Forms("Reporting_Portefeuilles").Controls("ListePeriode").Value
    If IsNull(DAR) = True Then
        MsgBox "La date d'arrêté est mal renseignée"
        Exit Sub
    End If
    If IsNull(Periode) = True Then
        MsgBox "La période est mal renseignée"
        Exit Sub
    End If
    'Utilisation du code de la requête maquette et remplacement par les élément de variable sélectionnés
    '
    Set db = CurrentDb
    Set QryModele = db.QueryDefs("Maquette Reporting Portefeuilles")
    strSQLModele = QryModele.SQL
    'Effectue le remplacement du critere par la valeur
    strSQLModele = Replace(strSQLModele, "1J", Periode)
    strSQLModele = Replace(strSQLModele, "10/10/2010", DAR)
    db.QueryDefs("Reporting Portefeuilles").SQL = strSQLModele
    'Ouvre la requête
    DoCmd.OpenQuery "Reporting Portefeuilles"
     
    End Sub
    Je n'arrive pas à trouver pourquoi cela ne fonctionne pas correctement, c'est pourtant pas un code bien compliqué...

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    rom22950,

    Donc il s'agit en premier lieu d'un problème de conception de code à la base (à corriger dans les 2 cas)

    Tu dois avoir dans ton exemple une requête Reporting_Portefeuilles présente dans ton volet de navigation, alors que la requête Reporting Poches elle n'existe pas !

    Jimbolion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

Discussions similaires

  1. [Smarty] Problème résolution erreurs smarty
    Par Lelahel7854 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 17/04/2015, 15h07
  2. Réponses: 2
    Dernier message: 22/05/2006, 10h59
  3. Recherche multicritère erreur '3464' DCount()
    Par alex.a dans le forum Access
    Réponses: 8
    Dernier message: 18/05/2006, 13h57
  4. Problème avec l'erreur 3464 sur access
    Par somalien10 dans le forum Access
    Réponses: 10
    Dernier message: 16/05/2006, 09h30
  5. Erreur 3464 probleme genant
    Par el_quincho dans le forum Access
    Réponses: 4
    Dernier message: 03/04/2006, 15h13

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