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

Requêtes et SQL. Discussion :

Requete SQL et variable VBA [AC-97]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut Requete SQL et variable VBA
    Bonjour,

    A partir d'une base A, je lance la création d'une base B mensuellement dans un répertoire différent de A.
    Le nom de B est basé sur une date (ex: 2010_02.mdb)

    Dans cette base B, il y a une table tbl_mdb_date avec un champ mdbdate.

    Je voudrai à partir de la base A et après la création de B, insérer dans le champ mdbdate la valeur de la variable qui correspond au nom de la base B sans le .mdb (ex:2010/02)

    Voici mon code qui ne fonctionne pas au niveau de la requête Sql, une erreur de syntaxe dont je n'arrive pas à me dépatouiller:

    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
    MDB_VIDE = "C:\Base\PBR\Structure\MDB_VIDE.mdb" 
    MDB_DEFAUT = "PBR_" + Format$(Date - 28, "yyyy") + "_" + Format$(Date - 28, "mm")
    MSG3 = "Donnez le nom de la base mensuelle à créer." & Chr$(13) & Chr$(13) & "Exemple : PBR_2010_02 pour la base Février 2010." & Chr$(13) & Chr$(13) & "Ne mettez pas d'extension de fichier."
    MDB_ENTREE = InputBox(MSG3, "Choix du nom du fichier", MDB_DEFAUT) 
    If MDB_ENTREE = "" Then
    GoTo FIN_MDB_MOIS
    End If
     
    MDB_MOIS = "C:\Bases\PBR\Mdbs\" + MDB_ENTREE + ".mdb"
    DBEngine.CompactDatabase MDB_VIDE, MDB_MOIS
    MsgBox "Base mensuelle créée ! Le fichier " & MDB_MOIS & " a été créé", 64, "Fin de procédure"
    FIN_MDB_MOIS:
     
    ' pour avoir le nom de la base créée sous forme de date:
    DATE_MDB_1 = Left$(MDB_ENTREE, 8)
    DATE_MDB = Right$(DATE_MDB_1, 4) & "/" & Right$(MDB_ENTREE, 2)
     
    SQL_DATE_MDB = "INSERT INTO tbl_mdb_date (mdbdate) IN MDB_MOIS VALUES (DATE_MDB);"
    DoCmd.RunSQL (SQL_DATE_MDB)

    Merci par avance de votre aide.

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    La valeur à insérer étant une chaîne de caractère il faut qu'elle soit encadrée par des guillemets simples ou doubles.

    Exemple avec des guillemets simples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL_DATE_MDB = "INSERT INTO tbl_mdb_date (mdbdate) IN MDB_MOIS VALUES ('" & DATE_MDB & "');"
    Si DATE_MDB contient par exemple 2010/02, SQL_DATE_MDB contiendra
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO tbl_mdb_date (mdbdate) IN MDB_MOIS VALUES ('2010/02');
    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut
    Merci beaucoup, on approche mais:

    j'ai encore une erreur d'exécution 3024 dans le Sql:
    fichier 'c:\Documents & Settings\Administrateur\Mes Documents\MDB_MOIS' introuvable.

    Que va-t-il chercher là alors que j'ai bien défini le chemin d'accès du fichier ?

  4. #4
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    J'avais pas fait attention qu'il y avait le chemin de la base externe.
    Même principe : on sort la variable de la chaîne de caractères pour la concaténer.
    Le chemin vers la base externe (après IN) doit être encadré par des guillemets simples.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL_DATE_MDB = "INSERT INTO tbl_mdb_date (mdbdate) IN '" & MDB_MOIS & "' VALUES ('" & DATE_MDB & "');"
    +A

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Par défaut
    Chapeau, ça fonctionne!
    Je te remercie beaucoup, je croyais avoir compris les tutos sql, apparament non.
    Je n'aurais jamais pensé à utiliser les ' et " ensemble, persuadé que les " n'étaient que pour le texte.

    Encore merci, je continue mon petit développement...

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

Discussions similaires

  1. Remplacer une partie de chaine par une variable
    Par JPaul94300 dans le forum VBA Access
    Réponses: 6
    Dernier message: 04/02/2009, 18h52
  2. requete sql avec variable
    Par stefon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/08/2006, 17h29
  3. requete sql avec variable
    Par Mihalis dans le forum Bases de données
    Réponses: 15
    Dernier message: 07/04/2006, 11h17
  4. Aide requete SQL ou fonction VBA
    Par nykola7 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/03/2006, 18h51
  5. Prob de requete sql et variable
    Par agent-zaizai dans le forum ASP
    Réponses: 11
    Dernier message: 21/10/2003, 17h54

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