Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2008, 13h20   #1
Invité de passage
 
Inscription : juillet 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 4
Points : 1
Points : 1
Par défaut Batch pour créer une base vierge

Bonjour,
Je cherche un moyen, par batch, de créer une base MS Access vide.

J'ai trouvé quelque chose du genre :
Code :
1
2
 
"c:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" /newdb 'c:\test.mdb'
Le problème c'est qu'access s'ouvre et me demande le nom du fichier à créer.
Donc le "c:\test.mdb" ne passe pas en paramètre et ce n'est pas très pratique car c'est pour automatiser des programmes.

Il y aurait-il une solution pour créer de façon silencieuse une nouvelle base access ?

Une alternative serait d'avoir une base vierge quelque part et de la copier à l'endroit désiré mais c'est n'est pas portable comme solution.

Si quelqu'un à une solution , merci par avance.
daddyrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 20h40   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
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 : 3 941
Points : 6 283
Points : 6 283
Bonsoir,

En VBscript ça donnerait ça
Code vbs :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Const dbLangGeneral = ";LANGID=0x0409;CP=1252;COUNTRY=0"
Const dbVersion40 = 64
 
Dim acc
 
If WScript.Arguments.Count>0 Then
   NewBDD = WScript.Arguments(0)
Else
   NewBDD = "C:\NewBDD.mdb"
End If
 
Set acc = CreateObject("Access.Application")
acc.DBEngine.CreateDatabase NewBDD, dbLangGeneral, dbVersion40
acc.Quit
Set acc = Nothing
Si tu mets le code ci-dessus dans le fichier C:\Mes Documents\NouvBDD.vbs, par exemple,
tu peux créer un fichier batch avec :
Code :
WSCript "C:\Mes Documents\NewBDD.vbs" "C:\Mes Documents\Test 1.mdb"
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 01h00   #3
Membre Expert
 
Inscription : mars 2006
Messages : 1 331
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 1 331
Points : 1 460
Points : 1 460
Bonsoir,

Très bien. Ceci nous permet de faire du fonctionnel et de remplacer, en cas de besoin le traditionnel :
Code :
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
Private Sub CmdCreerBase_Click()
Dim dbNouve As Database
Dim strNouveDatabase As String
    On Error GoTo HandleErr
    strNouveDatabase = "C:\Mes Documents\Test 1.mdb"
    ' Vérifie l'existence de la base de données de sortie
    If Len(Dir(strNouveDatabase)) > 0 Then
        DoCmd.Hourglass False
        Beep
        If MsgBox("La base de données de sortie existe. L'écraser ?", _
         vbYesNo + vbQuestion) = vbYes Then
            Kill strNouveDatabase
        Else
            Exit Sub
        End If
    End If
 
    Set dbNouve = DBEngine.Workspaces(0). _
     CreateDatabase(strNouveDatabase, dbLangGeneral)
 
    dbNouve.Close
 
ExitHere:
    Exit Sub
 
HandleErr:
    Select Case Err
    Case Else
        MsgBox Err & ": " & Err.Description, , _
         "CreerNouveBase"
    End Select
    Resume ExitHere
End Sub
Cordialement.
__________________
Questions techniques par MP
Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry
francishop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 08h52   #4
Invité de passage
 
Inscription : juillet 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 4
Points : 1
Points : 1
MErci pour ces solutions.
Je vais tester.
daddyrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h18.


 
 
 
 
Partenaires

Hébergement Web