L'année dernière sur ce site, on m'avait conseillé de prendre DAO pour me
connecter à Access. Dans une réponse que j'ai reçu hier concernant une autre
question, on me dit que ADO est plus performant et plus à jour.
Comment fait-on pour se connecter avec ADO ?
Est-il possible de mettre un mot de passe sur la BD Access et de pouvoir se
connecter avec ADO (car avec DAO je crois qu'on ne peut pas mettre de mot de
passe) ?
If Rst.RecordCount = 0 Then 'copie les noms des champs vers la plage de cellule désignée Do MyRange.Offset(, C) = rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = rst.Fields.Count MyRange.Offset(1, 0).CopyFromRecordset rst Else Msgbox "aucun enregistrement trouvé." End If
' Ferme la connection et le recordset Rst.Close: Cnt.Close
'Libère la mémoire vive occupée par les objets Set Rst = Nothing: Set Cnt = Nothing Set Rg = Nothing End Sub '---------------------------
Salutations!
"EG" a écrit dans le message de news:
Bonjour,
L'année dernière sur ce site, on m'avait conseillé de prendre DAO pour me connecter à Access. Dans une réponse que j'ai reçu hier concernant une autre question, on me dit que ADO est plus performant et plus à jour.
Comment fait-on pour se connecter avec ADO ?
Est-il possible de mettre un mot de passe sur la BD Access et de pouvoir se connecter avec ADO (car avec DAO je crois qu'on ne peut pas mettre de mot de passe) ?
Merci !
Bonjour EG,
Tu dois d'abord ajouter la référence :
'Microsoft activex data objects 2.0 librairy
Voici un petit exemple :
'-------------------------
Sub GetDataWithADO()
'connexion à une base de donnée
'possédant un mot de passe.
Dim C As Integer
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim MyRange As Range
Set MyRange = Range("g4")
If Rst.RecordCount = 0 Then
'copie les noms des champs vers la plage de cellule désignée
Do
MyRange.Offset(, C) = rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = rst.Fields.Count
MyRange.Offset(1, 0).CopyFromRecordset rst
Else
Msgbox "aucun enregistrement trouvé."
End If
' Ferme la connection et le recordset
Rst.Close: Cnt.Close
'Libère la mémoire vive occupée par les objets
Set Rst = Nothing: Set Cnt = Nothing
Set Rg = Nothing
End Sub
'---------------------------
Salutations!
"EG" <EG@discussions.microsoft.com> a écrit dans le message de news:
F208956B-F323-4542-82F9-B1E6ACAF18DB@microsoft.com...
Bonjour,
L'année dernière sur ce site, on m'avait conseillé de prendre DAO pour me
connecter à Access. Dans une réponse que j'ai reçu hier concernant une autre
question, on me dit que ADO est plus performant et plus à jour.
Comment fait-on pour se connecter avec ADO ?
Est-il possible de mettre un mot de passe sur la BD Access et de pouvoir se
connecter avec ADO (car avec DAO je crois qu'on ne peut pas mettre de mot de
passe) ?
If Rst.RecordCount = 0 Then 'copie les noms des champs vers la plage de cellule désignée Do MyRange.Offset(, C) = rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = rst.Fields.Count MyRange.Offset(1, 0).CopyFromRecordset rst Else Msgbox "aucun enregistrement trouvé." End If
' Ferme la connection et le recordset Rst.Close: Cnt.Close
'Libère la mémoire vive occupée par les objets Set Rst = Nothing: Set Cnt = Nothing Set Rg = Nothing End Sub '---------------------------
Salutations!
"EG" a écrit dans le message de news:
Bonjour,
L'année dernière sur ce site, on m'avait conseillé de prendre DAO pour me connecter à Access. Dans une réponse que j'ai reçu hier concernant une autre question, on me dit que ADO est plus performant et plus à jour.
Comment fait-on pour se connecter avec ADO ?
Est-il possible de mettre un mot de passe sur la BD Access et de pouvoir se connecter avec ADO (car avec DAO je crois qu'on ne peut pas mettre de mot de passe) ?
Merci !
michdenis
Correction : Dans la procédure, dans cette ligne de code
If Rst.RecordCount = 0 Then
Modifié le signe "=" pour ">"
If Rst.RecordCount > 0 Then
Salutations
"michdenis" a écrit dans le message de news: Bonjour EG,
Tu dois d'abord ajouter la référence :
'Microsoft activex data objects 2.0 librairy
Voici un petit exemple : '------------------------- Sub GetDataWithADO()
'connexion à une base de donnée 'possédant un mot de passe.
Dim C As Integer Dim cnt As New ADODB.Connection Dim rst As New ADODB.Recordset Dim MyRange As Range Set MyRange = Range("g4")
If Rst.RecordCount = 0 Then 'copie les noms des champs vers la plage de cellule désignée Do MyRange.Offset(, C) = rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = rst.Fields.Count MyRange.Offset(1, 0).CopyFromRecordset rst Else Msgbox "aucun enregistrement trouvé." End If
' Ferme la connection et le recordset Rst.Close: Cnt.Close
'Libère la mémoire vive occupée par les objets Set Rst = Nothing: Set Cnt = Nothing Set Rg = Nothing End Sub '---------------------------
Salutations!
"EG" a écrit dans le message de news:
Bonjour,
L'année dernière sur ce site, on m'avait conseillé de prendre DAO pour me connecter à Access. Dans une réponse que j'ai reçu hier concernant une autre question, on me dit que ADO est plus performant et plus à jour.
Comment fait-on pour se connecter avec ADO ?
Est-il possible de mettre un mot de passe sur la BD Access et de pouvoir se connecter avec ADO (car avec DAO je crois qu'on ne peut pas mettre de mot de passe) ?
Merci !
Correction : Dans la procédure, dans cette ligne de code
If Rst.RecordCount = 0 Then
Modifié le signe "=" pour ">"
If Rst.RecordCount > 0 Then
Salutations
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news: ujzk1G2yEHA.2676@TK2MSFTNGP12.phx.gbl...
Bonjour EG,
Tu dois d'abord ajouter la référence :
'Microsoft activex data objects 2.0 librairy
Voici un petit exemple :
'-------------------------
Sub GetDataWithADO()
'connexion à une base de donnée
'possédant un mot de passe.
Dim C As Integer
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim MyRange As Range
Set MyRange = Range("g4")
If Rst.RecordCount = 0 Then
'copie les noms des champs vers la plage de cellule désignée
Do
MyRange.Offset(, C) = rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = rst.Fields.Count
MyRange.Offset(1, 0).CopyFromRecordset rst
Else
Msgbox "aucun enregistrement trouvé."
End If
' Ferme la connection et le recordset
Rst.Close: Cnt.Close
'Libère la mémoire vive occupée par les objets
Set Rst = Nothing: Set Cnt = Nothing
Set Rg = Nothing
End Sub
'---------------------------
Salutations!
"EG" <EG@discussions.microsoft.com> a écrit dans le message de news:
F208956B-F323-4542-82F9-B1E6ACAF18DB@microsoft.com...
Bonjour,
L'année dernière sur ce site, on m'avait conseillé de prendre DAO pour me
connecter à Access. Dans une réponse que j'ai reçu hier concernant une autre
question, on me dit que ADO est plus performant et plus à jour.
Comment fait-on pour se connecter avec ADO ?
Est-il possible de mettre un mot de passe sur la BD Access et de pouvoir se
connecter avec ADO (car avec DAO je crois qu'on ne peut pas mettre de mot de
passe) ?
If Rst.RecordCount = 0 Then 'copie les noms des champs vers la plage de cellule désignée Do MyRange.Offset(, C) = rst.Fields(C).Name C = C + 1 x = x + 1 Loop Until x = rst.Fields.Count MyRange.Offset(1, 0).CopyFromRecordset rst Else Msgbox "aucun enregistrement trouvé." End If
' Ferme la connection et le recordset Rst.Close: Cnt.Close
'Libère la mémoire vive occupée par les objets Set Rst = Nothing: Set Cnt = Nothing Set Rg = Nothing End Sub '---------------------------
Salutations!
"EG" a écrit dans le message de news:
Bonjour,
L'année dernière sur ce site, on m'avait conseillé de prendre DAO pour me connecter à Access. Dans une réponse que j'ai reçu hier concernant une autre question, on me dit que ADO est plus performant et plus à jour.
Comment fait-on pour se connecter avec ADO ?
Est-il possible de mettre un mot de passe sur la BD Access et de pouvoir se connecter avec ADO (car avec DAO je crois qu'on ne peut pas mettre de mot de passe) ?