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()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 rienLe 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 : 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
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
Partager