Skip to main content

AccessTr.neT


Ado Left Join Problem.

Ado Left Join Problem.

#7
Sayın Berduş hocam.
Kodu alttaki gbib yapınca istenilen sonuç elde edildi.
Normalde First kodu ilk olanı getirmesi gerekirken Last kodu getirdi ilk bulunanı Img-cray

Sadece problem şu oldu.Resimdeki B sütundaki gibi alfabetik sıralayıp getiriyor Group By dan dolayı.
A sütunundaki gibi sıralamadan sonuç gelirseoladu bu iş.
Normalde Ado ile döngü kurupta çözülebilir lakin kısa yoldan istemiştim.


Kod:
sql = "select last(t2.aa), last(t1.bb) FROM [Sayfa2$] t2 left Join [Sayfa1$] t1 on t2.aa = t1.aa group by t2.aa"
[Resim: do.php?img=10662]
Cevapla
#8
Döngülü çözümü basitçe alttaki gibi yaptım ama bana döngüsüz lazım abeyyyyy.

Private Sub CommandButton1_Click()
    Dim con As Object
    Dim rs As Object
    Set con = CreateObject("Adodb.connection")
    Set rs = CreateObject("adodb.recordset")
   
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
    Sayfa2.[B:B].Clear
    For i = 2 To 7
        rs.Open "select * FROM [Sayfa1$] where aa='" & Sayfa2.Cells(i, 1).Value & "'", con, 1, 1
        On Error Resume Next
        Sayfa2.Cells(i, 2).Value = rs("bb")
        rs.movenext
        rs.Close
    Next
    On Error GoTo 0
    con.Close
    Set rs = Nothing
    Set con = Nothing
End Sub
Cevapla
#9
aşağıdaki kodu dener misiniz?
SELECT Sayfa2.aa, T1.İlkbb
FROM Sayfa2 LEFT JOIN (SELECT Sayfa1.aa, First(Sayfa1.bb) AS İlkbb
FROM Sayfa1
GROUP BY Sayfa1.aa
) as T1 ON Sayfa2.aa = T1.aa;
Cevapla
#10
Tamam abey akşama dopru deneyeceğim nasipse.
Cevapla
#11
aşağıdaki kod sorunsuz çalıştı bende
    Sql = "SELECT T2.aa, T1.İlkbb " & _
"FROM [Sayfa2$] as T2 LEFT JOIN (SELECT aa, First(bb) AS ilkbb " & _
"FROM [Sayfa1$] " & _
"GROUP BY aa) as T1 ON T2.aa = T1.aa;"
Cevapla
#12
Elinize sağlık abey.
Konu çözüldü.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task