Connexion access via ado VBA

Résolu
Signaler
-
 Utilisateur anonyme -
Bonjour à tous,
Bon déja désolé je ne savais pas dans quel thème poster ma question, VBA,ADO,ACCESS,VBSCRIPT...bref

Rassurer vous aussi avant de poser ma question j'ai fais des recherches, j'ai lu et fais les tutos de vbfrance et autres...

J'arrive pas ma connection à ma base c:/bdd.mdb via word et VBA !!! et j'arrive donc pas a récuperer le champs "telpatient" de la table "tablepatient" tous les numéros

j'ai toujours des erreurs, j'ai activé les références...

Dim db As databse
Dim rs As recordset
set db=opendatabase("c:/bdd.mdb")
set rs=db.openrecordset("tablepatient")

et meme avec le super tutorial de je ne sais plus qui sur les connexions, j'ai des erreurs...peut etre du au fait que je sois en VBA...

Enfin voilou je galère et si quelqu'un pouvais m'aider ET m'expliquer...

Merci d'avance

3 réponses


Public Sub main()


    Dim db As Database
    Dim Rst As Recordset
    Dim datenaissance As Date
    Dim n As Integer
    Dim nom As String
    Dim prenom As String
    Dim strSQL As String
    Dim dateV As String
   
    Set db = OpenDatabase("X:\slg\efv\Codage\CodageEfv.mdb")
    Set Rst = db.OpenRecordset("codage")


debut:
    WordBasic.BeginDialog 350, 100, "Recherche dossier"
    WordBasic.TextBox 34, 45, 137, 18, "numdossier"
    WordBasic.OKButton 255, 20, 88, 21
    WordBasic.CancelButton 254, 50, 88, 21
    WordBasic.Text 20, 25, 172, 13, "Entrer le N° de dossier"
    WordBasic.EndDialog
    On Error GoTo fin
    Dim fichier As Object: Set fichier = WordBasic.CurValues.UserDialog
    WordBasic.Dialog.UserDialog fichier


    numdossier = fichier.numdossier


    While Len(numdossier) <> 8
        n = WordBasic.MsgBox("Attention! 8 chiffres pour un numéro de dossier !", "Erreur", 1)
        If (n = -1) Then
            GoTo debut
            Else: GoTo fin
        End If
    Wend


    strSQL = "SELECT [Nom], [Prenom], [Date naissance] FROM CODAGE WHERE Dossier= '" & numdossier & "'"
    Set Rst = db.OpenRecordset(strSQL)
   
    If Rst.RecordCount <= 0 Then
       n = WordBasic.MsgBox("Le N° de dossier " & numdossier & " est inexistant !", "Erreur", 1)
            If (n = -1) Then
                GoTo debut
                Else: GoTo fin
            End If
    End If
   
    nom = Rst.Fields![nom].Value
    prenom = Rst.Fields![prenom].Value
    prenom = ProperCase(prenom)
    datenaissance = Rst.Fields![Date naissance].Value


    dateV = age(datenaissance)
   
    ThisDocument.TextBox19.Text = (nom & "   " & prenom)
    ThisDocument.TextBox20.Text = (dateV)
    ThisDocument.TextBox21.Text = (numdossier)
   
   
fin:
    Rst.Close
    db.Close
    Set Rst = Nothing


End Sub
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,


L'objet DataBase n'existe pas en ADO mais en DAO alors si tu as mis une référence ADO c'est normal que cela ne fonctionne pas;
Ensuite lorsque tu dis j'ai toujours des erreurs, il serait bon de nous dire les erreurs... Nous ne sommes pas devin.

Donc pour faire simple.
Souhaite tu te connecter par ADO ou DAO






@+,   Ju£i?n
Messages postés
1
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
13 octobre 2006

Bonjour, je cherchait où posé ma question, je crois avoir trouvé, ilne reste plus que la réponse (merci d'avance).
Je veux depuis word lire une table access avec un control ADODC et voir le résultat dans un DATAGRID, le tout en VBA.
En VB ça marche impec, mais en VBA le controle ADO ne trouve pas la table (alors que dans la configuration elle est bien trouvée en faisant un test connexion), et donc je ne vois rien dans mon DATAGRID.
QUESTION: comment paramétré un ADODC et un DATAGRID pour voire un table access en VBA.
Merci d'avance