Bonjour à tous,
J'ai un autre petit problème avec mon programme :
La première fois que j’exécute cette procédure j'obtiens :Si j’exécute une deuxième fois la même procédure pour recréer le même fichier, j'obtiens l’erreur suivante au moment ou le code exécute : mon_fichier.Delete()Citation:
La base de données a été crée avec succès.
Ça fait un moment que j'essaye de savoir qu'est ce qui bloque l’accès au fichier et je n'y comprends plus rien :(Citation:
Le processus ne peut pas accéder au fichier 'D:\Projets VB2010\X-Project\X-Project\AppFiles\Base ADOX2.mdb', car il est en cours d'utilisation par un autre processus.
Si vous pouvait m'aider à comprendre ce qui se passe, ça me serait d'un grand secours.
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
34
35
36
37
38
39
40
41
42
43
44 Imports ADOX Module ADO_X Dim Catalog As ADOX.Catalog Dim Connstr As String Public Sub CreateBaseADOX() Dim SaveFileDialog As New SaveFileDialog Dim strFilePathName As String = Nothing With SaveFileDialog 'On spécifie l'extension de fichiers visibles .Filter = "All Files (*.*)|*.*|Fichiers mdb (*.mdb) | *.mdb" .FilterIndex = 2 'On affiche et teste le retour du dialogue If .ShowDialog = Windows.Forms.DialogResult.OK Then 'On récupère le nom du fichier strFilePathName = .FileName Else : Exit Sub End If End With If strFilePathName.EndsWith(".mdb") Then Else strFilePathName = strFilePathName & ".mdb" End If Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & strFilePathName & ";Jet OLEDB:Database Password=" & PASSWORDdb & ";" ' & "Jet OLEDB:Engine Type=5" Catalog = New ADOX.Catalog Try Dim mon_fichier As New System.IO.FileInfo(strFilePathName) If mon_fichier.Exists Then mon_fichier.Delete() Catalog.Create(Connstr) 'Call CreateBase() MsgBox("La base de données a été crée avec succés", MsgBoxStyle.Information) Catch ex As Exception MsgBox("Echec lors de la création de la base de données", vbCritical) End Try Catalog = Nothing End Sub
