Importer une table venant d'une base Access protégée par mot de passe en vba
Résolu
ZyX
-
zyx -
zyx -
je cherche à créer en vba des tables modèle (vide) en important des tables venant d'une base Access protégée par un mot de passe...
j'ai créé une boucle qui importe les tables et je voudrais que ma routine import les tables sans me demander le mot de passe à chaque import.
ci-dessous la fonction appelée par ma routine
Function DupliQ_Table(ByVal NomTab As String, ByVal NouvTab As String)
Dim BdSource, ModePass As String
Dim TbleModel As String
Dim strConnect As String
Dim oDb As DAO.Database
Dim oTbl As DAO.TableDef
' Base de données contenant le modèle de table
' si Base en cours
'BdSource = CurrentProject.FullName
ModePass = "SsapU"
'vvvv Base externe
BdSource = "\\Access\DATA\BDD_1.accdb" '
'BdSource = " " & BdSource & ";UID=A05236; pwd=" & ModePass & "; "
'BdSource = BdSource & "; pwd=" & ModePass
' Nom de la table modèle
TbleModel = NomTab '
' Nom de la table à créer : NouvTab
' Détruire la table à créer si elle existe déjà
On Error Resume Next
DoCmd.DeleteObject acTable, strNouvelleTable '
On Error GoTo 0
' Définit la chaîne de connexion permettant la liaison
strConnect = "MS Access;pwd=" & ModePass & ";DATABASE= " & BdSource & " "
' Dupliquer la table modèle (structure uniquement)
DoCmd.TransferDatabase acImport, "Microsoft Access", BdSource, _
acTable, TbleModel, nouvtab, True, True ' Pwd = "SsapU" ', Password = "SsapU" '
End Function
j'ai créé une boucle qui importe les tables et je voudrais que ma routine import les tables sans me demander le mot de passe à chaque import.
ci-dessous la fonction appelée par ma routine
Function DupliQ_Table(ByVal NomTab As String, ByVal NouvTab As String)
Dim BdSource, ModePass As String
Dim TbleModel As String
Dim strConnect As String
Dim oDb As DAO.Database
Dim oTbl As DAO.TableDef
' Base de données contenant le modèle de table
' si Base en cours
'BdSource = CurrentProject.FullName
ModePass = "SsapU"
'vvvv Base externe
BdSource = "\\Access\DATA\BDD_1.accdb" '
'BdSource = " " & BdSource & ";UID=A05236; pwd=" & ModePass & "; "
'BdSource = BdSource & "; pwd=" & ModePass
' Nom de la table modèle
TbleModel = NomTab '
' Nom de la table à créer : NouvTab
' Détruire la table à créer si elle existe déjà
On Error Resume Next
DoCmd.DeleteObject acTable, strNouvelleTable '
On Error GoTo 0
' Définit la chaîne de connexion permettant la liaison
strConnect = "MS Access;pwd=" & ModePass & ";DATABASE= " & BdSource & " "
' Dupliquer la table modèle (structure uniquement)
DoCmd.TransferDatabase acImport, "Microsoft Access", BdSource, _
acTable, TbleModel, nouvtab, True, True ' Pwd = "SsapU" ', Password = "SsapU" '
End Function
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, peux-tu utiliser la coloration syntaxique quand tu partages du code?
as-tu essayé:Dim wrkAcc As Workspace Set wrkAcc = CreateWorkspace("", "admin", "", dbUseJet) Set odb = wrkAcc.OpenDatabase(BdSource, False, True, ";PWD=" & ModePass) -
En effet sans créer le workspace mais en utilisant opendatabase(…) je suis arrivé à mes fins vendredi AM
Merci