Access+ADO+VB6

Signaler
Messages postés
22
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
23 juin 2011
-
Messages postés
22
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
23 juin 2011
-
Salut,
je voudrais comparer deux tables dans access a travers vb6.
la comparaison doit etre selon 2 étapes
1- selon le nombre d'enregistrements
2- selon 2 champs ( string ) qui sont communs entre les 2 tables .
comment je pourrais procéder!!?

Dim ct As ADODB.Connection
Dim rc_mt As ADODB.Recordset

Private Sub Form_Load()
Set ct = New ADODB.Connection
ct.Provider = "microsoft.jet.oledb.4.0"
ct.ConnectionString = "C:\prj_stage\rapprochement_mt.mdb"
ct.Open
Set rc_mt = New ADODB.Recordset
'pour compter le nombre de lignes, mais ça marche pas
rc_mt.Open "select count(*) into" + frm_cmp.txtm.Text + "from Facture_MT", ct, adOpenDynamic, adLockOptimistic

End Sub

miss poopoucy

3 réponses

Messages postés
17
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
24 juin 2008

juste pour gagné des ligne tu peu définir ta connexion autrement
ct.Open "Provider=Microsoft.jet.oledb.4.0 ; data source=C:\..."
ca fait gagné d'la place :)
sinon j'essayerai avec un Ubound de ton recordset...

Tous sur MACOSXLeopard
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
salut,
"select count(*) into" + frm_cmp.txtm.Text + "from Facture_MT"

tout collé, le FROM va être dur à trouver non?.... çà manque au moins d'espacesps : également remplacer + par &. + calcul, & concaténation
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
22
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
23 juin 2011

voila ce que j'ai pu faire, sauf que ça marche pas, pourtant la requete marche bien sous access et retourne le bon resultat!!
Dim ct As ADODB.Connection
Dim rc_count_m As ADODB.Recordset
Dim rc_count_s As ADODB.Recordset
Dim rc_cmp_m As ADODB.Recordset
Dim sql As String
Dim k As Integer

Private Sub Form_Load()
ms_cmp_m.Cols = 3
ms_cmp_m.ColWidth(0) = 1000
ms_cmp_m.ColWidth(1) = 1400
ms_cmp_m.ColWidth(2) = 1400

With ms_cmp_m
               
                .TextMatrix(0, 0) = "Police"
                .TextMatrix(0, 1) = "statut de règlement"
                .TextMatrix(0, 2) = "Date de règlement"
End With

Set ct = New ADODB.Connection
ct.Provider = "microsoft.jet.oledb.4.0"
ct.ConnectionString = "C:\prj_stage\rapprochement_mt.mdb"
ct.Open
Set rc_count_m = New ADODB.Recordset
rc_count_m.Open "select count(Abonnement_Police)as nbr1 from Facture_MT", ct, adOpenDynamic, adLockOptimistic
txtm.Text = rc_count_m!nbr1
Set rc_count_s = New ADODB.Recordset
rc_count_s.Open "select count(Abonnement_Police) as nbr2 from Facture_SAP", ct, adOpenDynamic, adLockOptimistic
txts.Text = rc_count_s!nbr2
Set rc_cmp_m = New ADODB.Recordset
rc_cmp_m.Open "select a.Abonnement_Police,a.reglé,a.date_reglement from Facture_MT a,Facture_SAP b where a.Abonnement_Police=b.Abonnement_Police AND a.reglé<>b.reglé  ", ct, adOpenDynamic, adLockOptimistic
If Not rc_cmp_m.BOF Then
rc_cmp_m.MoveFirst
End If
If Not rc_cmp_m.EOF Then
    For k = 1 To 6

        ms_cmp_m.Col = k
        ms_cmp_m = rc_cmp_m.Fields(i)
        rc_cmp_m.MoveNext
    Next
End If

End Sub

miss poopoucy