Connexion à Access protégé par password via Outlook
3 réponses
Yvan
Hello tout le monde !
Je plante là... je tente d'accéder à une table access pour mettre à jour une
combobox dans un formulaire Outlook. J'ai le code suivant mais j'obtiens un
message d'erreur:
"Impossible de lire les enregistrements; pas d'autorisation de lecture sur
'Liste_Articles_pr_Form_Rdv_Outlook'.
Voici mon code:
'-------------------------------------------------------------------------------
Sub Bouton_CherchArticle_click()
Dim rst
Dim dao
Dim wks
Dim dbs
Dim cbbox
Dim strOfficePath
Dim appAccess
Dim ArtArray (5000, 2)
'Pick up path to Access database directory from Access and Office
'version from Outlook
Set appAccess = Item.Application.CreateObject("Access.Application")
strOfficePath = appAccess.SysCmd(9)
' MsgBox "Access folder: " & strOfficePath
strVersion = Item.Application.Version
strDBPath = "C:\Documents and Settings\Magnin\Mes
documents\ACCESS\Apps4Biz\Tables_A4B_ak_mappage.mdb"
' MsgBox "DBName: " & strDBName
Set dbe = Application.CreateObject("DAO.DBEngine.36")
Set wks = dbe.Workspaces(0)
Set dbs = wks.OpenDatabase(strDBPath)
appAccess.Quit
msgbox "1"
Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook")
msgbox "2"
Set cbbox =
Item.GetInspector.ModifiedFormPages("Mouvements").Controls("ComboBox35")
'Assign Access data to an array of 3 columns and 100 rows
ArtArray(5000, 2) = rst.GetRows(1000)
cbbox.Column() = ArtArray(5000, 2)
End sub
'-------------------------------------------------------------------------------
Vous l'aurez compris, le message d'erreur survient entre la msgbox 1 et la
2...
Quelqu'un peut m'aider ? Je suis obligé de garder le groupe de travail
actuel pour ma base Access. Comme donc pourrais-je faire la connection en
donnant un user et un password ?
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
Michel_D
Voici deux exemples d'ouverture de base sécurisée au niveau utilisateur (Le fichier de groupe de travail étant ici 'SYSTEM.MDW')
DAO Sub DAOOpenSecuredDatabase() Dim wks As DAO.Workspace Dim db As DAO.Database DBEngine.SystemDB = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" Set wks = DBEngine.CreateWorkspace("", "Admin", "") Set db = wks.OpenDatabase(".Comptoir.mdb")
' tu insère ton code ici
db.Close wks.Close End Sub
ADO Sub ADOOpenSecuredDatabase() Dim cnn As New ADODB.connection cnn.Provider = "Microsoft.Jet.OLEDB.4.0;" cnn.Properties("Jet OLEDB:System database") = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" cnn.Open "Data Source=.Comptoir.mdb;User Idmin;Password=;" cnn.Close End Sub
"Yvan" a écrit dans le message de news:
Hello tout le monde !
Je plante là... je tente d'accéder à une table access pour mettre à jour une combobox dans un formulaire Outlook. J'ai le code suivant mais j'obtiens un message d'erreur:
"Impossible de lire les enregistrements; pas d'autorisation de lecture sur 'Liste_Articles_pr_Form_Rdv_Outlook'.
Voici mon code:
'------------------------------------------------------------------------------- Sub Bouton_CherchArticle_click()
Dim rst Dim dao Dim wks Dim dbs Dim cbbox Dim strOfficePath Dim appAccess Dim ArtArray (5000, 2)
'Pick up path to Access database directory from Access and Office 'version from Outlook Set appAccess = Item.Application.CreateObject("Access.Application") strOfficePath = appAccess.SysCmd(9) ' MsgBox "Access folder: " & strOfficePath strVersion = Item.Application.Version strDBPath = "C:Documents and SettingsMagninMes documentsACCESSApps4BizTables_A4B_ak_mappage.mdb" ' MsgBox "DBName: " & strDBName
Set dbe = Application.CreateObject("DAO.DBEngine.36")
Set wks = dbe.Workspaces(0) Set dbs = wks.OpenDatabase(strDBPath) appAccess.Quit
msgbox "1" Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook") msgbox "2" Set cbbox > Item.GetInspector.ModifiedFormPages("Mouvements").Controls("ComboBox35")
'Assign Access data to an array of 3 columns and 100 rows ArtArray(5000, 2) = rst.GetRows(1000)
cbbox.Column() = ArtArray(5000, 2)
End sub '-------------------------------------------------------------------------------
Vous l'aurez compris, le message d'erreur survient entre la msgbox 1 et la 2...
Quelqu'un peut m'aider ? Je suis obligé de garder le groupe de travail actuel pour ma base Access. Comme donc pourrais-je faire la connection en donnant un user et un password ?
Merci d'avance !
Voici deux exemples d'ouverture de base sécurisée au niveau utilisateur
(Le fichier de groupe de travail étant ici 'SYSTEM.MDW')
DAO
Sub DAOOpenSecuredDatabase()
Dim wks As DAO.Workspace
Dim db As DAO.Database
DBEngine.SystemDB = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"
Set wks = DBEngine.CreateWorkspace("", "Admin", "")
Set db = wks.OpenDatabase(".Comptoir.mdb")
' tu insère ton code ici
db.Close
wks.Close
End Sub
ADO
Sub ADOOpenSecuredDatabase()
Dim cnn As New ADODB.connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0;"
cnn.Properties("Jet OLEDB:System database") = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"
cnn.Open "Data Source=.Comptoir.mdb;User Idmin;Password=;"
cnn.Close
End Sub
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de news:8AB3B181-387B-43EB-ACE7-72739CCBB5EA@microsoft.com...
Hello tout le monde !
Je plante là... je tente d'accéder à une table access pour mettre à jour une
combobox dans un formulaire Outlook. J'ai le code suivant mais j'obtiens un
message d'erreur:
"Impossible de lire les enregistrements; pas d'autorisation de lecture sur
'Liste_Articles_pr_Form_Rdv_Outlook'.
Voici mon code:
'-------------------------------------------------------------------------------
Sub Bouton_CherchArticle_click()
Dim rst
Dim dao
Dim wks
Dim dbs
Dim cbbox
Dim strOfficePath
Dim appAccess
Dim ArtArray (5000, 2)
'Pick up path to Access database directory from Access and Office
'version from Outlook
Set appAccess = Item.Application.CreateObject("Access.Application")
strOfficePath = appAccess.SysCmd(9)
' MsgBox "Access folder: " & strOfficePath
strVersion = Item.Application.Version
strDBPath = "C:Documents and SettingsMagninMes
documentsACCESSApps4BizTables_A4B_ak_mappage.mdb"
' MsgBox "DBName: " & strDBName
Set dbe = Application.CreateObject("DAO.DBEngine.36")
Set wks = dbe.Workspaces(0)
Set dbs = wks.OpenDatabase(strDBPath)
appAccess.Quit
msgbox "1"
Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook")
msgbox "2"
Set cbbox > Item.GetInspector.ModifiedFormPages("Mouvements").Controls("ComboBox35")
'Assign Access data to an array of 3 columns and 100 rows
ArtArray(5000, 2) = rst.GetRows(1000)
cbbox.Column() = ArtArray(5000, 2)
End sub
'-------------------------------------------------------------------------------
Vous l'aurez compris, le message d'erreur survient entre la msgbox 1 et la
2...
Quelqu'un peut m'aider ? Je suis obligé de garder le groupe de travail
actuel pour ma base Access. Comme donc pourrais-je faire la connection en
donnant un user et un password ?
Voici deux exemples d'ouverture de base sécurisée au niveau utilisateur (Le fichier de groupe de travail étant ici 'SYSTEM.MDW')
DAO Sub DAOOpenSecuredDatabase() Dim wks As DAO.Workspace Dim db As DAO.Database DBEngine.SystemDB = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" Set wks = DBEngine.CreateWorkspace("", "Admin", "") Set db = wks.OpenDatabase(".Comptoir.mdb")
' tu insère ton code ici
db.Close wks.Close End Sub
ADO Sub ADOOpenSecuredDatabase() Dim cnn As New ADODB.connection cnn.Provider = "Microsoft.Jet.OLEDB.4.0;" cnn.Properties("Jet OLEDB:System database") = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" cnn.Open "Data Source=.Comptoir.mdb;User Idmin;Password=;" cnn.Close End Sub
"Yvan" a écrit dans le message de news:
Hello tout le monde !
Je plante là... je tente d'accéder à une table access pour mettre à jour une combobox dans un formulaire Outlook. J'ai le code suivant mais j'obtiens un message d'erreur:
"Impossible de lire les enregistrements; pas d'autorisation de lecture sur 'Liste_Articles_pr_Form_Rdv_Outlook'.
Voici mon code:
'------------------------------------------------------------------------------- Sub Bouton_CherchArticle_click()
Dim rst Dim dao Dim wks Dim dbs Dim cbbox Dim strOfficePath Dim appAccess Dim ArtArray (5000, 2)
'Pick up path to Access database directory from Access and Office 'version from Outlook Set appAccess = Item.Application.CreateObject("Access.Application") strOfficePath = appAccess.SysCmd(9) ' MsgBox "Access folder: " & strOfficePath strVersion = Item.Application.Version strDBPath = "C:Documents and SettingsMagninMes documentsACCESSApps4BizTables_A4B_ak_mappage.mdb" ' MsgBox "DBName: " & strDBName
Set dbe = Application.CreateObject("DAO.DBEngine.36")
Set wks = dbe.Workspaces(0) Set dbs = wks.OpenDatabase(strDBPath) appAccess.Quit
msgbox "1" Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook") msgbox "2" Set cbbox > Item.GetInspector.ModifiedFormPages("Mouvements").Controls("ComboBox35")
'Assign Access data to an array of 3 columns and 100 rows ArtArray(5000, 2) = rst.GetRows(1000)
cbbox.Column() = ArtArray(5000, 2)
End sub '-------------------------------------------------------------------------------
Vous l'aurez compris, le message d'erreur survient entre la msgbox 1 et la 2...
Quelqu'un peut m'aider ? Je suis obligé de garder le groupe de travail actuel pour ma base Access. Comme donc pourrais-je faire la connection en donnant un user et un password ?
Merci d'avance !
Michel_D
Autant pour moi, j'avais pas fait attention à "via Outlook", mais bon avec les exemples tu devrais pouvoir t'en sortir quand même. (regarder éventuellement l'aide sur "CreateWorkspace")
[...]
Set dbe = Application.CreateObject("DAO.DBEngine.36") dbe.SystemDB = "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" Set wks = dbe.CreateWorkspace("", "Admin", "") Set dbs = wks.OpenDatabase(strDBPath) msgbox "1" Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook") msgbox "2"
PS: Je n'ai pas testé.
"Michel_D" a écrit dans le message de news:f84nvq$2cl$
Voici deux exemples d'ouverture de base sécurisée au niveau utilisateur (Le fichier de groupe de travail étant ici 'SYSTEM.MDW')
DAO Sub DAOOpenSecuredDatabase() Dim wks As DAO.Workspace Dim db As DAO.Database DBEngine.SystemDB = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" Set wks = DBEngine.CreateWorkspace("", "Admin", "") Set db = wks.OpenDatabase(".Comptoir.mdb")
' tu insère ton code ici
db.Close wks.Close End Sub
ADO Sub ADOOpenSecuredDatabase() Dim cnn As New ADODB.connection cnn.Provider = "Microsoft.Jet.OLEDB.4.0;" cnn.Properties("Jet OLEDB:System database") = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" cnn.Open "Data Source=.Comptoir.mdb;User Idmin;Password=;" cnn.Close End Sub
"Yvan" a écrit dans le message de news:
Hello tout le monde !
Je plante là... je tente d'accéder à une table access pour mettre à jour une combobox dans un formulaire Outlook. J'ai le code suivant mais j'obtiens un message d'erreur:
"Impossible de lire les enregistrements; pas d'autorisation de lecture sur 'Liste_Articles_pr_Form_Rdv_Outlook'.
Voici mon code:
'------------------------------------------------------------------------------- Sub Bouton_CherchArticle_click()
Dim rst Dim dao Dim wks Dim dbs Dim cbbox Dim strOfficePath Dim appAccess Dim ArtArray (5000, 2)
'Pick up path to Access database directory from Access and Office 'version from Outlook Set appAccess = Item.Application.CreateObject("Access.Application") strOfficePath = appAccess.SysCmd(9) ' MsgBox "Access folder: " & strOfficePath strVersion = Item.Application.Version strDBPath = "C:Documents and SettingsMagninMes documentsACCESSApps4BizTables_A4B_ak_mappage.mdb" ' MsgBox "DBName: " & strDBName
Set dbe = Application.CreateObject("DAO.DBEngine.36")
Set wks = dbe.Workspaces(0) Set dbs = wks.OpenDatabase(strDBPath) appAccess.Quit
msgbox "1" Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook") msgbox "2" Set cbbox > > Item.GetInspector.ModifiedFormPages("Mouvements").Controls("ComboBox35")
'Assign Access data to an array of 3 columns and 100 rows ArtArray(5000, 2) = rst.GetRows(1000)
cbbox.Column() = ArtArray(5000, 2)
End sub '-------------------------------------------------------------------------------
Vous l'aurez compris, le message d'erreur survient entre la msgbox 1 et la 2...
Quelqu'un peut m'aider ? Je suis obligé de garder le groupe de travail actuel pour ma base Access. Comme donc pourrais-je faire la connection en donnant un user et un password ?
Merci d'avance !
Autant pour moi, j'avais pas fait attention à "via Outlook", mais bon
avec les exemples tu devrais pouvoir t'en sortir quand même.
(regarder éventuellement l'aide sur "CreateWorkspace")
[...]
Set dbe = Application.CreateObject("DAO.DBEngine.36")
dbe.SystemDB = "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"
Set wks = dbe.CreateWorkspace("", "Admin", "")
Set dbs = wks.OpenDatabase(strDBPath)
msgbox "1"
Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook")
msgbox "2"
PS: Je n'ai pas testé.
"Michel_D" <michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de news:f84nvq$2cl$1@news.rd.francetelecom.fr...
Voici deux exemples d'ouverture de base sécurisée au niveau utilisateur
(Le fichier de groupe de travail étant ici 'SYSTEM.MDW')
DAO
Sub DAOOpenSecuredDatabase()
Dim wks As DAO.Workspace
Dim db As DAO.Database
DBEngine.SystemDB = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"
Set wks = DBEngine.CreateWorkspace("", "Admin", "")
Set db = wks.OpenDatabase(".Comptoir.mdb")
' tu insère ton code ici
db.Close
wks.Close
End Sub
ADO
Sub ADOOpenSecuredDatabase()
Dim cnn As New ADODB.connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0;"
cnn.Properties("Jet OLEDB:System database") = _
"C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW"
cnn.Open "Data Source=.Comptoir.mdb;User Idmin;Password=;"
cnn.Close
End Sub
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de news:8AB3B181-387B-43EB-ACE7-72739CCBB5EA@microsoft.com...
Hello tout le monde !
Je plante là... je tente d'accéder à une table access pour mettre à jour une
combobox dans un formulaire Outlook. J'ai le code suivant mais j'obtiens un
message d'erreur:
"Impossible de lire les enregistrements; pas d'autorisation de lecture sur
'Liste_Articles_pr_Form_Rdv_Outlook'.
Voici mon code:
'-------------------------------------------------------------------------------
Sub Bouton_CherchArticle_click()
Dim rst
Dim dao
Dim wks
Dim dbs
Dim cbbox
Dim strOfficePath
Dim appAccess
Dim ArtArray (5000, 2)
'Pick up path to Access database directory from Access and Office
'version from Outlook
Set appAccess = Item.Application.CreateObject("Access.Application")
strOfficePath = appAccess.SysCmd(9)
' MsgBox "Access folder: " & strOfficePath
strVersion = Item.Application.Version
strDBPath = "C:Documents and SettingsMagninMes
documentsACCESSApps4BizTables_A4B_ak_mappage.mdb"
' MsgBox "DBName: " & strDBName
Set dbe = Application.CreateObject("DAO.DBEngine.36")
Set wks = dbe.Workspaces(0)
Set dbs = wks.OpenDatabase(strDBPath)
appAccess.Quit
msgbox "1"
Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook")
msgbox "2"
Set cbbox > > Item.GetInspector.ModifiedFormPages("Mouvements").Controls("ComboBox35")
'Assign Access data to an array of 3 columns and 100 rows
ArtArray(5000, 2) = rst.GetRows(1000)
cbbox.Column() = ArtArray(5000, 2)
End sub
'-------------------------------------------------------------------------------
Vous l'aurez compris, le message d'erreur survient entre la msgbox 1 et la
2...
Quelqu'un peut m'aider ? Je suis obligé de garder le groupe de travail
actuel pour ma base Access. Comme donc pourrais-je faire la connection en
donnant un user et un password ?
Autant pour moi, j'avais pas fait attention à "via Outlook", mais bon avec les exemples tu devrais pouvoir t'en sortir quand même. (regarder éventuellement l'aide sur "CreateWorkspace")
[...]
Set dbe = Application.CreateObject("DAO.DBEngine.36") dbe.SystemDB = "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" Set wks = dbe.CreateWorkspace("", "Admin", "") Set dbs = wks.OpenDatabase(strDBPath) msgbox "1" Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook") msgbox "2"
PS: Je n'ai pas testé.
"Michel_D" a écrit dans le message de news:f84nvq$2cl$
Voici deux exemples d'ouverture de base sécurisée au niveau utilisateur (Le fichier de groupe de travail étant ici 'SYSTEM.MDW')
DAO Sub DAOOpenSecuredDatabase() Dim wks As DAO.Workspace Dim db As DAO.Database DBEngine.SystemDB = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" Set wks = DBEngine.CreateWorkspace("", "Admin", "") Set db = wks.OpenDatabase(".Comptoir.mdb")
' tu insère ton code ici
db.Close wks.Close End Sub
ADO Sub ADOOpenSecuredDatabase() Dim cnn As New ADODB.connection cnn.Provider = "Microsoft.Jet.OLEDB.4.0;" cnn.Properties("Jet OLEDB:System database") = _ "C:Program FilesMicrosoft OfficeOfficeSYSTEM.MDW" cnn.Open "Data Source=.Comptoir.mdb;User Idmin;Password=;" cnn.Close End Sub
"Yvan" a écrit dans le message de news:
Hello tout le monde !
Je plante là... je tente d'accéder à une table access pour mettre à jour une combobox dans un formulaire Outlook. J'ai le code suivant mais j'obtiens un message d'erreur:
"Impossible de lire les enregistrements; pas d'autorisation de lecture sur 'Liste_Articles_pr_Form_Rdv_Outlook'.
Voici mon code:
'------------------------------------------------------------------------------- Sub Bouton_CherchArticle_click()
Dim rst Dim dao Dim wks Dim dbs Dim cbbox Dim strOfficePath Dim appAccess Dim ArtArray (5000, 2)
'Pick up path to Access database directory from Access and Office 'version from Outlook Set appAccess = Item.Application.CreateObject("Access.Application") strOfficePath = appAccess.SysCmd(9) ' MsgBox "Access folder: " & strOfficePath strVersion = Item.Application.Version strDBPath = "C:Documents and SettingsMagninMes documentsACCESSApps4BizTables_A4B_ak_mappage.mdb" ' MsgBox "DBName: " & strDBName
Set dbe = Application.CreateObject("DAO.DBEngine.36")
Set wks = dbe.Workspaces(0) Set dbs = wks.OpenDatabase(strDBPath) appAccess.Quit
msgbox "1" Set rst = dbs.OpenRecordset("Liste_Articles_pr_Form_Rdv_Outlook") msgbox "2" Set cbbox > > Item.GetInspector.ModifiedFormPages("Mouvements").Controls("ComboBox35")
'Assign Access data to an array of 3 columns and 100 rows ArtArray(5000, 2) = rst.GetRows(1000)
cbbox.Column() = ArtArray(5000, 2)
End sub '-------------------------------------------------------------------------------
Vous l'aurez compris, le message d'erreur survient entre la msgbox 1 et la 2...
Quelqu'un peut m'aider ? Je suis obligé de garder le groupe de travail actuel pour ma base Access. Comme donc pourrais-je faire la connection en donnant un user et un password ?
Merci d'avance !
Yvan
Hello Michel,
Merci bien pour tes infos. Entre temps, en bidouillant, j'ai découvert presque par mégarde que si dans le Workgroup Access l'administrateur a les droits de lecture sur la table que je dois ouvrir depuis Outlook b'en ça passe. Donc pour le moment ça me convient comme tactique.
Mais je garde tes exemples au chaud pour l'avenir !
A+ et encore merci !
Hello Michel,
Merci bien pour tes infos. Entre temps, en bidouillant, j'ai découvert
presque par mégarde que si dans le Workgroup Access l'administrateur a les
droits de lecture sur la table que je dois ouvrir depuis Outlook b'en ça
passe. Donc pour le moment ça me convient comme tactique.
Mais je garde tes exemples au chaud pour l'avenir !
Merci bien pour tes infos. Entre temps, en bidouillant, j'ai découvert presque par mégarde que si dans le Workgroup Access l'administrateur a les droits de lecture sur la table que je dois ouvrir depuis Outlook b'en ça passe. Donc pour le moment ça me convient comme tactique.
Mais je garde tes exemples au chaud pour l'avenir !