Access+ADO+VB6

cs_miss_poopoucy Messages postés 22 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 23 juin 2011 - 24 juin 2008 à 11:55
cs_miss_poopoucy Messages postés 22 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 23 juin 2011 - 24 juin 2008 à 16:25
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

Totooo62 Messages postés 17 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 24 juin 2008
24 juin 2008 à 13:31
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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juin 2008 à 15:41
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
0
cs_miss_poopoucy Messages postés 22 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 23 juin 2011
24 juin 2008 à 16:25
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
0
Rejoignez-nous