Çoklu tablo sorgusu

Katılım
3 Nisan 2007
Mesajlar
235
Excel Vers. ve Dili
2003 TR
Arkadaşlar;
Bir sorgu hazırladım; Üç Tabloyu ilişkilendiren bir sorgu bu.
1. Tablo: SİPARİS tablosu
2. Tablo: STOK MALZEMEHAREKET tablosu
3. Tablo: RED TUTANAK tablosu
Sorguda her bir tablodan ihtiyacım olan sütunları alıyorum. Ancak bu üç tablonun sorgusunu yazınca sadece 3 satırlık bir veri grubu dönüyor. Halbuki SİPARİS tablosu ana veri grubunu oluşturacak, bu SİPARİS tablosundaki veriler ile aynı ürün numarasını içeren STOK MALZEMEHAREKET tablosu verileri ve RED TUTANAK tablosu verileri eklencek. Nasıl bir çözüm yolu önerisiniz!

Global Rec As Recordset, Con As Connection

Function Baglan(VeriTabani As String, Sorgu As String)
Set Con = New Connection
Con.Provider = "Microsoft.Jet.OLEDB.4.0"
Con.ConnectionString = VeriTabani
Con.Open
Set Rec = New ADODB.Recordset
Rec.Open Sorgu, Con, 1, 3
End Function

Public Function BaglantiKes()
Con.Close
End Function

Sub VeriAl()
Sayfa1.Cells.Delete
Call Baglan("\\sql\MALİYET K SYSTEM\VERİ.mdb", "SELECT SİPARİS.[YMAMÜL TANIMI]," & _
"SİPARİS.[MAMÜL TANIMI], SİPARİS.[MAMÜL KODU], SİPARİS.YMAMÜLGRUP, SİPARİS.[SIPARIS NO], " & _
"SİPARİS.[FATURA ACIKLAMASI], SİPARİS.SADET, SİPARİS.[SİPARİS TARİHİ], " & _
"SİPARİS.[TESLIM TARIHI], SİPARİS.[SEVK TARİHİ], SİPARİS.[ÜRETİM TARİHİ], " & _
"SİPARİS.[FATURA TARİHİ], SİPARİS.[FATURA NO], SİPARİS.[FATURA TUTARI], " & _
"SİPARİS.[SİPARİS LTL], SİPARİS.[SİPARİS LEURO], SİPARİS.[SİPARİS LDOLAR], " & _
"SİPARİS.HESAPTL, SİPARİS.[ÜRETİM TUTARI], SİPARİS.[FATURA TUTARI], " & _
"SİPARİS.[FİRMA KODUGELİR], SİPARİS.[KKONTROL YAPILDI], " & _
"[STOK MALZEMEHAREKET].[MALZEME CİNSİSTH], " & _
"[STOK MALZEMEHAREKET].[İRSALİYE TARİHSTH], " & _
"[STOK MALZEMEHAREKET].[KAPANIS STH], " & _
"[RED TUTANAK].[RED NEDENİ], [RED TUTANAK].OPERATOR1 " & _
"FROM (SİPARİS INNER JOIN [STOK MALZEMEHAREKET] ON " & _
"SİPARİS.[ÜRÜN NO] = [STOK MALZEMEHAREKET].[ÜRÜN NOSTH]) " & _
"INNER JOIN [RED TUTANAK] ON " & _
"[STOK MALZEMEHAREKET].[ÜRÜN NOSTH] = [RED TUTANAK].[RÜRÜN NO] " & _
"WHERE (((SİPARİS.[FATURA ACIKLAMASI])='PLAN'))" & _
"ORDER BY SİPARİS.[SEVK TARİHİ];")
Sayfa1.Range("A1").CopyFromRecordset Rec
Call BaglantiKes
Sayfa1.Cells.Columns.AutoFit
End Sub
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;
İlşkilerde left ya da right joini dener misiniz?
 
Üst