Importer une table venant d'une base Access protégée par mot de passe en vba

Résolu/Fermé
ZyX - 9 nov. 2018 à 15:01
 zyx - 12 nov. 2018 à 00:33
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
A voir également:

2 réponses

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
Modifié le 10 nov. 2018 à 09:41
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)
0
En effet sans créer le workspace mais en utilisant opendatabase(…) je suis arrivé à mes fins vendredi AM

Merci
0