J'ai une base de données Access protégée par mot de passe. J'arrive à
effacer les tables contenue dans la base données X.mdb. Je voudrai après
avoir effacer les tables, efffacer la base de données X.mdb mais j'ai un
message d'erreur "Permission refusée" !
Après avoir effacer les tables, je ferme ma connection et ensuite
j'utilise Kill App.Path & \"X.mdb" et je reçois l'erreur "Permission
refusée" Voici un extrait du code :
Set cnnTout = New Connection
cnnTout.CursorLocation = adUseClient
cnnTout.Provider = "Microsoft.jet.OLEDB.4.0"
cnnTout.ConnectionString = cheminbase 'Remplacer ici par l'adresse
de la base
cnnTout.Properties("Jet OLEDB:Database password") = "1234"
cnnTout.Open
Set rsTout = cnnTout.OpenSchema(adSchemaTables)
' on remplit la collection
With rsTout
If .RecordCount > 0 Then
Set colTables = New Collection
.MoveFirst
Do Until .EOF
colTables.Add .Fields("TABLE_NAME").Value
.MoveNext
Loop
End If
' on parcourt la collection pour effacer les tables
For X = 1 To colTables.Count
Dim nomTable As String
nomTable = colTables.Item(X)
If Mid(nomTable, 1, 2) <> "MS" Then
cnnTout.Execute "DROP TABLE " & nomTable
End If
Next
.Close
Set cnnTout = Nothing
Kill App.Path & "\Inventaire.mdb" ----------> ERREUR "Permission
refusée"
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Castagnetti
Bonjour Jacques,
dans ton code :
With rsTout .... .... .Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission End With
Tu fermes bien ton objet recordset .... ca c'est ok, Tu liberes bien ton objet connexion, MAIS tu ne fermes pas ta connexion !!!! Voici ce que je ferai :
With rsTout .... .... .Close End With cnnTout.Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> Là ce devrait fonctionner.
Cordialement Laurent.
"Jacques" a écrit dans le message de news:
Bonjour,
J'ai une base de données Access protégée par mot de passe. J'arrive à effacer les tables contenue dans la base données X.mdb. Je voudrai après avoir effacer les tables, efffacer la base de données X.mdb mais j'ai un message d'erreur "Permission refusée" !
Après avoir effacer les tables, je ferme ma connection et ensuite j'utilise Kill App.Path & "X.mdb" et je reçois l'erreur "Permission refusée" Voici un extrait du code :
Set cnnTout = New Connection cnnTout.CursorLocation = adUseClient cnnTout.Provider = "Microsoft.jet.OLEDB.4.0" cnnTout.ConnectionString = cheminbase 'Remplacer ici par l'adresse de la base cnnTout.Properties("Jet OLEDB:Database password") = "1234" cnnTout.Open Set rsTout = cnnTout.OpenSchema(adSchemaTables) ' on remplit la collection With rsTout If .RecordCount > 0 Then Set colTables = New Collection .MoveFirst Do Until .EOF colTables.Add .Fields("TABLE_NAME").Value .MoveNext Loop End If ' on parcourt la collection pour effacer les tables For X = 1 To colTables.Count Dim nomTable As String nomTable = colTables.Item(X) If Mid(nomTable, 1, 2) <> "MS" Then cnnTout.Execute "DROP TABLE " & nomTable End If Next .Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission refusée" End With
Merci de vos réponses
Bonjour Jacques,
dans ton code :
With rsTout
....
....
.Close
Set cnnTout = Nothing
Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission
End With
Tu fermes bien ton objet recordset .... ca c'est ok,
Tu liberes bien ton objet connexion, MAIS tu ne fermes pas ta connexion !!!!
Voici ce que je ferai :
With rsTout
....
....
.Close
End With
cnnTout.Close
Set cnnTout = Nothing
Kill App.Path & "Inventaire.mdb" ----------> Là ce devrait fonctionner.
Cordialement
Laurent.
"Jacques" <jac_be@hotmail.com> a écrit dans le message de news:
O3ZJvkHoDHA.2964@tk2msftngp13.phx.gbl...
Bonjour,
J'ai une base de données Access protégée par mot de passe. J'arrive à
effacer les tables contenue dans la base données X.mdb. Je voudrai après
avoir effacer les tables, efffacer la base de données X.mdb mais j'ai un
message d'erreur "Permission refusée" !
Après avoir effacer les tables, je ferme ma connection et ensuite
j'utilise Kill App.Path & "X.mdb" et je reçois l'erreur "Permission
refusée" Voici un extrait du code :
Set cnnTout = New Connection
cnnTout.CursorLocation = adUseClient
cnnTout.Provider = "Microsoft.jet.OLEDB.4.0"
cnnTout.ConnectionString = cheminbase 'Remplacer ici par l'adresse
de la base
cnnTout.Properties("Jet OLEDB:Database password") = "1234"
cnnTout.Open
Set rsTout = cnnTout.OpenSchema(adSchemaTables)
' on remplit la collection
With rsTout
If .RecordCount > 0 Then
Set colTables = New Collection
.MoveFirst
Do Until .EOF
colTables.Add .Fields("TABLE_NAME").Value
.MoveNext
Loop
End If
' on parcourt la collection pour effacer les tables
For X = 1 To colTables.Count
Dim nomTable As String
nomTable = colTables.Item(X)
If Mid(nomTable, 1, 2) <> "MS" Then
cnnTout.Execute "DROP TABLE " & nomTable
End If
Next
.Close
Set cnnTout = Nothing
Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission
refusée"
End With
With rsTout .... .... .Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission End With
Tu fermes bien ton objet recordset .... ca c'est ok, Tu liberes bien ton objet connexion, MAIS tu ne fermes pas ta connexion !!!! Voici ce que je ferai :
With rsTout .... .... .Close End With cnnTout.Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> Là ce devrait fonctionner.
Cordialement Laurent.
"Jacques" a écrit dans le message de news:
Bonjour,
J'ai une base de données Access protégée par mot de passe. J'arrive à effacer les tables contenue dans la base données X.mdb. Je voudrai après avoir effacer les tables, efffacer la base de données X.mdb mais j'ai un message d'erreur "Permission refusée" !
Après avoir effacer les tables, je ferme ma connection et ensuite j'utilise Kill App.Path & "X.mdb" et je reçois l'erreur "Permission refusée" Voici un extrait du code :
Set cnnTout = New Connection cnnTout.CursorLocation = adUseClient cnnTout.Provider = "Microsoft.jet.OLEDB.4.0" cnnTout.ConnectionString = cheminbase 'Remplacer ici par l'adresse de la base cnnTout.Properties("Jet OLEDB:Database password") = "1234" cnnTout.Open Set rsTout = cnnTout.OpenSchema(adSchemaTables) ' on remplit la collection With rsTout If .RecordCount > 0 Then Set colTables = New Collection .MoveFirst Do Until .EOF colTables.Add .Fields("TABLE_NAME").Value .MoveNext Loop End If ' on parcourt la collection pour effacer les tables For X = 1 To colTables.Count Dim nomTable As String nomTable = colTables.Item(X) If Mid(nomTable, 1, 2) <> "MS" Then cnnTout.Execute "DROP TABLE " & nomTable End If Next .Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission refusée" End With
Merci de vos réponses
Enzo
Bonjour Jacques,
remet l'heure de ton Pc à l'heure (à jour !).
"Jacques" a écrit dans le message de news:
Bonjour,
J'ai une base de données Access protégée par mot de passe. J'arrive à effacer les tables contenue dans la base données X.mdb. Je voudrai après avoir effacer les tables, efffacer la base de données X.mdb mais j'ai un message d'erreur "Permission refusée" !
Après avoir effacer les tables, je ferme ma connection et ensuite j'utilise Kill App.Path & "X.mdb" et je reçois l'erreur "Permission refusée" Voici un extrait du code :
Set cnnTout = New Connection cnnTout.CursorLocation = adUseClient cnnTout.Provider = "Microsoft.jet.OLEDB.4.0" cnnTout.ConnectionString = cheminbase 'Remplacer ici par l'adresse de la base cnnTout.Properties("Jet OLEDB:Database password") = "1234" cnnTout.Open Set rsTout = cnnTout.OpenSchema(adSchemaTables) ' on remplit la collection With rsTout If .RecordCount > 0 Then Set colTables = New Collection .MoveFirst Do Until .EOF colTables.Add .Fields("TABLE_NAME").Value .MoveNext Loop End If ' on parcourt la collection pour effacer les tables For X = 1 To colTables.Count Dim nomTable As String nomTable = colTables.Item(X) If Mid(nomTable, 1, 2) <> "MS" Then cnnTout.Execute "DROP TABLE " & nomTable End If Next .Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission refusée" End With
Merci de vos réponses
Bonjour Jacques,
remet l'heure de ton Pc à l'heure (à jour !).
"Jacques" <jac_be@hotmail.com> a écrit dans le message de
news:O3ZJvkHoDHA.2964@tk2msftngp13.phx.gbl...
Bonjour,
J'ai une base de données Access protégée par mot de passe. J'arrive à
effacer les tables contenue dans la base données X.mdb. Je voudrai après
avoir effacer les tables, efffacer la base de données X.mdb mais j'ai un
message d'erreur "Permission refusée" !
Après avoir effacer les tables, je ferme ma connection et ensuite
j'utilise Kill App.Path & "X.mdb" et je reçois l'erreur "Permission
refusée" Voici un extrait du code :
Set cnnTout = New Connection
cnnTout.CursorLocation = adUseClient
cnnTout.Provider = "Microsoft.jet.OLEDB.4.0"
cnnTout.ConnectionString = cheminbase 'Remplacer ici par l'adresse
de la base
cnnTout.Properties("Jet OLEDB:Database password") = "1234"
cnnTout.Open
Set rsTout = cnnTout.OpenSchema(adSchemaTables)
' on remplit la collection
With rsTout
If .RecordCount > 0 Then
Set colTables = New Collection
.MoveFirst
Do Until .EOF
colTables.Add .Fields("TABLE_NAME").Value
.MoveNext
Loop
End If
' on parcourt la collection pour effacer les tables
For X = 1 To colTables.Count
Dim nomTable As String
nomTable = colTables.Item(X)
If Mid(nomTable, 1, 2) <> "MS" Then
cnnTout.Execute "DROP TABLE " & nomTable
End If
Next
.Close
Set cnnTout = Nothing
Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission
refusée"
End With
J'ai une base de données Access protégée par mot de passe. J'arrive à effacer les tables contenue dans la base données X.mdb. Je voudrai après avoir effacer les tables, efffacer la base de données X.mdb mais j'ai un message d'erreur "Permission refusée" !
Après avoir effacer les tables, je ferme ma connection et ensuite j'utilise Kill App.Path & "X.mdb" et je reçois l'erreur "Permission refusée" Voici un extrait du code :
Set cnnTout = New Connection cnnTout.CursorLocation = adUseClient cnnTout.Provider = "Microsoft.jet.OLEDB.4.0" cnnTout.ConnectionString = cheminbase 'Remplacer ici par l'adresse de la base cnnTout.Properties("Jet OLEDB:Database password") = "1234" cnnTout.Open Set rsTout = cnnTout.OpenSchema(adSchemaTables) ' on remplit la collection With rsTout If .RecordCount > 0 Then Set colTables = New Collection .MoveFirst Do Until .EOF colTables.Add .Fields("TABLE_NAME").Value .MoveNext Loop End If ' on parcourt la collection pour effacer les tables For X = 1 To colTables.Count Dim nomTable As String nomTable = colTables.Item(X) If Mid(nomTable, 1, 2) <> "MS" Then cnnTout.Execute "DROP TABLE " & nomTable End If Next .Close Set cnnTout = Nothing Kill App.Path & "Inventaire.mdb" ----------> ERREUR "Permission refusée" End With