Le processus ne peut pas accéder au fichier
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 :
Citation:
La base de données a été crée avec succès.
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:
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.
Ç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 :(
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 |