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

Access Discussion :

Création de DB en VBA


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2012
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Création de DB en VBA
    Bonjour à toutes et tous,

    Je reviens aujourd'hui avec une nouvelle difficulté à vous soumettre!

    Mon problème du jour: je créé une DB en VBA à l'aide de createdatabase, jusque-là tout va bien. Là où ça se complique, c'est quand j'importe manuellement des tables et formulaires provenant d'une DB tierce: ces tables et form ne se comportent pas comme dans la DB initiale: dans la nouvelle DB, elles apparaissent dans des fenêtres "indépendantes" alors qu'elles ne sont pas configurées comme tel.

    Comment puis-je faire pour que les tables/requêtes/formulaires/états... se comportent graphiquement comme dans la DB initiale.

    Voici le code que j'utilise:
    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
     
    Sub creatDB()
     
    Dim wrkDefault As Workspace
    Dim dbsNew As Database
     
    Set wrkDefault = DBEngine.Workspaces(0)
     
    If Dir("NewDB.accdb") <> "" Then Kill "NewDB.accdb"
     
    Set dbsNew = wrkDefault.CreateDatabase("NewDB.accdb", dbLangGeneral, dbVersion120)
     
    dbsNew.Close
     
    End Sub

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Il faut régler les options de cette nouvelle base pour qu'elle utilise le système à onglet.

    Via VBA ça doit être avec SetOptions. (cf Google)

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2012
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Ok,

    Je n'avais pas vu setOptions, je vais étudier le problème!

    merci Loufab, je teste ça asap et je vous tiens au courant!

    Titom

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2012
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Bonjour à toutes et tous!

    Tout d'abord merci Loufab de m'avoir mis sur la voie avec setOption, mais après de nombreux essais (crises de nerfs, jurons et autres douceurs...) j'ai trouvé une solution qui convient.

    En fait, je n'utilise pas setOption mais la méthode Properties avec "Append" comme dans l'exemple ci-dessous:

    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
     
    Sub creatDB()
     
    Dim wrkDefault As Workspace
    Dim dbsNew As Database
     
    Set wrkDefault = DBEngine.Workspaces(0)
     
    If Dir("NewDB.accdb") <> "" Then Kill "NewDB.accdb"
     
    Set dbsNew = wrkDefault.CreateDatabase("NewDB.accdb", dbLangGeneral, dbVersion120)
     
    dbsNew.Properties.Append dbsNew.CreateProperty("UseMDIMode", dbByte, 0)
    dbsNew.Properties.Append dbsNew.CreateProperty("Themed Form Controls", dbBoolean, True)
    dbsNew.Properties.Append dbsNew.CreateProperty("CheckTruncatedNumFields", dbBoolean, True)
    dbsNew.Properties.Append dbsNew.CreateProperty("Picture Property Storage Format", dbLong, 0)
     
    End Sub
    le UseMDIMode permet de configurer la DB sur l'option "Documents à onglet" et de les afficher.
    Le "Themed Form Controls" permet d'avoir des controles comme avec une DB que l'on créé manuellement
    Le "CheckTruncatedNumFields" permet d'activer le champs "vérifier les nombres tronqués"
    Et enfin le "Picture Property Storage Format" permet de configurer "Format de stockage des propriétés d'images" sur l'option "Conserver el format d'image source (taille réduite)"

    Voilà!

    Bonne journée à toutes et tous!

    Titom

Discussions similaires

  1. Création de label par VBA (excel)
    Par WagaSeb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2006, 14h46
  2. Création formulaire uniquement en VBA
    Par AlvinTheMaker dans le forum IHM
    Réponses: 2
    Dernier message: 31/07/2006, 19h45
  3. Création base mySql depuis VBA
    Par LostIN dans le forum Access
    Réponses: 4
    Dernier message: 18/07/2006, 20h34
  4. problème de création de requète sous VBA
    Par Golork dans le forum Access
    Réponses: 4
    Dernier message: 02/06/2006, 14h35
  5. Création de formulaire en VBA - Plantage
    Par Shansson dans le forum Access
    Réponses: 2
    Dernier message: 18/04/2006, 15h48

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