1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 16
    Points : 10
    Points
    10

    Par défaut Création d'une base de données à partir d'un script SQL

    Bonjour,

    Ma question est simple:
    J'ai fait ma modélisation d'une base de données et j'ai mon script SQL qui permet de créer cette base.
    Mon problème est que je ne vois pas comment exécuter ce script sous Access 2010 dont je dispose !

    Quelqu'un pourrait me dire à partir de quel menu on peut créer une nouvelle base à partir d'un script SQL ?

    Bien merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    10 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 10 057
    Points : 15 413
    Points
    15 413

    Par défaut

    Bonjour.

    Autant que je sache il n'existe pas d'interpréteur de script SQL dans Access.
    La plus part du temps on utilise l'interface de Access pour créer ou modifier les tables et l'ensemble des objets.
    Sinon on utilise une combinaison de SQL et de VBA pour exécuter ce SQL.

    Tu peux peut-être en bricoler un avec le code VBA suivant ... sans garantie.

    Suppose que tes instructions de script sont dans une table tblSCript, un enregistrement par instruction exécutable. Cette table a un seul champ [SQL] de type Memo.
    On pourrait aussi prendre un fichier texte, le principe reste le même et avec un fichier texte lié, la syntaxe doit être la même.

    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
     
    private sub ExecuterScript()
     
    dim db as dao.database:set db=currentdb
    dim r as dao.recordset:set r=db.openrecordset("tblScript", dbOpenDynaset)
     
    do while not r.eof
       call db.execute(r![SQL], dbFailOnerror)
       r.movenext
    loop
     
    r.close:set r=nothing
    db.close:set db=nothing
    msgbox "Fini !"
     
    end sub
    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.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 16
    Points : 10
    Points
    10

    Par défaut

    Salut,

    Bien merci pour ce retour.
    J'avoue que j'ai du mal à avaler le fait que Microsoft n'ait pas prévu un interpréteur SQL pour Access !!! C'est complétement stupide ...

    N'étant pas super doué en VBA, est-ce qu'il faudrait intégrer ton code VBA dans une macro Excel pour l'exécuter ?

    Merci encore une fois.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    10 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 10 057
    Points : 15 413
    Points
    15 413

    Par défaut

    Bonjour.

    C'est complétement stupide ...
    En Access tu n'es pas supposé aller jouer dans le SQL, il n'y a qu'à voir la piètre qualité de l'éditeur de SQL fourni.
    Moi-même j'évite autant que je peux. L'interface de conception en glisser/déplacer et saisie via des écrans de propriétés est, je trouves, beaucoup plus agréable que de taper du SQL.

    N'étant pas super doué en VBA, est-ce qu'il faudrait intégrer ton code VBA dans une macro Excel pour l'exécuter ?
    Le code que j'ai fourni est à mettre dans un module dans une base Access.
    Si tu veux faire cela depuis Excel c'est possible mais plus compliqué.

    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.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 16
    Points : 10
    Points
    10

    Par défaut

    Bonjour,

    Comme indiqué ci-dessus, j'ai besoin d'utiliser un fichier texte (script SQL) contenant l'ensemble des commandes de création de ma nouvelle base avec tout ce qui va avec: tables, vues, etc.
    Quelles sont les adaptations à faire au niveau de ton code ? Est-ce qu'il faut juste remplacer "tblScript" par le nom complet du fichier SQL ?

    Merci encore une fois.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    10 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 10 057
    Points : 15 413
    Points
    15 413

    Par défaut

    Bonjour.

    Je pense que si tu définis ton fichier texte comme une table attachée de ta BD le code devrait marcher directement.

    Les étapes seraient :
    1. Créer un BD vide qui va servir à accueillir tes objets.
    2. Attacher ton fichier texte comme une table liée.
    3. Créer un module et y copier le code.
    4. Adapter le code (le nom de la table, nom des champs) à ta réalité.
    5. Exécuter le code.


    sinon il faut changer la méthode de lecture et le code est un peu plus complexe.

    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.

Discussions similaires

  1. Création d'une base de donné a partir des fichier CSV
    Par lefi0528 dans le forum PHP & SGBD
    Réponses: 9
    Dernier message: 12/01/2016, 19h42
  2. Réponses: 5
    Dernier message: 03/09/2012, 10h56
  3. Création d'une base de données à partir d'une autre
    Par chh2008 dans le forum Débuter
    Réponses: 0
    Dernier message: 21/06/2010, 09h43
  4. Réponses: 8
    Dernier message: 13/01/2010, 10h34
  5. créer une base de donnée à partir d'un script
    Par illegalsene dans le forum MS SQL-Server
    Réponses: 4
    Dernier message: 26/08/2005, 14h08

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