Aide VB BD :)

Résolu
cs_kcin Messages postés 63 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 26 novembre 2012 - 8 nov. 2004 à 09:12
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 9 nov. 2004 à 09:23
Bonjour, je suis actuellement en train de développer un prog de gestion de base de donnée, et il y a un truc que j'arrive pas à faire... C'est au moment de la création de la base, j'arrive pas à ce qu'elle se crée dans un endroit spécifique grâce à mon drive, dir et file. La création se passe bien mais le fichier se met dans le dossier où se situe le programme.

Comment faire ? Merci d'avance.

PS : Je m'excuse si la question à déjà été posée....

Kcin

7 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
8 nov. 2004 à 22:30
Pour créer ta database tu n'a pas besoin de ton FileList, bien sinon remplace la ligne :

Set db = CreateDatabase(TxtNomBd, dbLangGeneral, Format)


par :

Set db = CreateDatabase(Dir1.Path & "" & TxtNomBd, dbLangGeneral, Format)


C'est tout.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
3
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
8 nov. 2004 à 22:31
Par contre je te conseil de mettre une ligne qui vérifie si la base éxiste déjà sinon tu aura une erreur.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
3
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
8 nov. 2004 à 11:11
Peux tu fournir le code ?

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_kcin Messages postés 63 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 26 novembre 2012
8 nov. 2004 à 14:36
Bien sur voilà :

Option Explicit

Private Sub CmdAnnuler_Click()

Unload FrmCreaBD
FrmAccueil.Show

End Sub

Private Sub CmdValider_Click()

Dim db As Database
Dim Format

If TxtNomBD.Text = "" Then
    MsgBox "Vous devez saisir un nom de fichier", vbInformation, "Erreur"
End If
    
If CmbFormatBD.Text = "Format Access 95 & 97" Then
    Format = dbVersion30
End If

Set db = CreateDatabase(TxtNomBD, dbLangGeneral, Format)
MsgBox db.Name 
C'est à ce niveau :)
MsgBox Dir1.Path
MsgBox "Votre nouveau fichier : " & TxtNomBD & " a bien été créé", vbInformation, "Nouveau fichier créé"
Fichier = TxtNomBD
Unload FrmCreaBD
'FrmAccueil.Show

End Sub

Private Sub Dir1_Change()

Dim i As Integer

i = 0

List1.Clear
  File1.Path = Dir1.Path
For i = 0 To File1.ListCount
   NomFichier = File1.List(i)
   If NomFichier <> "" Then
   List1.AddItem NomFichier
    End If
Next

End Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

Private Sub Form_Load()

Dim i As Integer

i = 0

CmbFormatBD.Text = "Format Access 2000"

File1.Path = Dir1.Path
For i = 0 To File1.ListCount
   NomFichier = File1.List(i)
   If NomFichier <> "" Then
   NomFichier = Left(NomFichier, Len(NomFichier) - 4)
   List1.AddItem NomFichier
    End If
Next

End Sub


Kcin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TheLordFreddy Messages postés 157 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 3 février 2005 2
8 nov. 2004 à 16:59
slt,
si tu veux tu pourai contorner le probleme en déplaçant le fichier
filecopy app.Path & "" & TxtNomBD, "c:\TonChemin" & TxtNomBD
-------------------------------------------
Ne vous fiez pas à l'apparence...
0
cs_kcin Messages postés 63 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 26 novembre 2012
9 nov. 2004 à 07:57
Meric bien,

Concernant la ligne de vérif, je pensais la mettre mais après.... mais merci quand meme de me le rappeler...

Kcin
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
9 nov. 2004 à 09:23
Tu ne pourra pas mettre la ligne de vérif après car VB plantera directement sur la ligne qui créer la base de donnée, Il faut pour cela que tu utilise le :

On Error Goto toto   'Dès qu'il y a une erreur alors on va à 'toto'
Set db = CreateDatabase(Dir1.Path & "" & TxtNomBd, dbLangGeneral, Format)   'Création de la base
On error Goto 0   'Annulation de la gestion d'erreur
.
.
.       Ici la suite du code
.
.
Exit Sub  'Force la sortie du code afin de ne pas éxécuter le code qui est à l'étiquette 'toto'

toto:    'Etiquette 'toto'
    Select Case Err.Number   'Triage selon le code erreur
        Case 3204   'Si l'erreur c'est l'erreur N°3204
            realcontinu = MsgBox("! Base déjà éxistante !" & Chr(13) & Chr(13) & "Voulez-vous continuer ?", vbQuestion + vbYesNo, "TOTOTOTOTO")   'Demande si l'on continu ou pas
        Case Else    'Pour tout autre code erreur autre que 3204
            realcontinu = MsgBox("Erreur N° " & Err.Number & Chr(13) & "Description : " & Err.Description & Chr(13) & Chr(13) & "Voulez-vous continuer ?", vbQuestion + vbYesNo, "TOTOTOTOTO")
    End Select   'Fin du triage
    If realcontinu = 6 Then Resume   'Si l'on a accepter de continuer alors on reviens là où on était dans le script.


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
Rejoignez-nous