sql sorguda her üründen en güncel tarihli olanı çekmek

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,179
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Aşağıdaki SQL sorgusunda "Data" sayfasında yer alan KalemKodu alanında her bir kalme kodundan 1 adet gelecek,

yalnız FaturaTarihi alanı en güncel (en büyük) olan olan satırı getirecek şekilde nasıl düzenleyebiliriz?

özetle her bir kalem kodunun en yeni tarihli satırı alınacak?

desteğiniz için şimdiden teşekkürler,

iyi akşamlar

Özetle Kalem kodu

Kod:
Sub getBillsData()
 Dim SQL As String
 Dim field As String

 ''On Error Resume Next

 baglan
 
 Set RS = VBA.CreateObject("adodb.recordset")
 
 Sayfa1.Range("A2:Z200000").ClearContents
 

    SQL = "SELECT * From [Data$] WHERE MalGrubu = 'G1'"

    SQL = SQL & " ORDER BY FaturaTarihi DESC"
  
     RS.Open SQL, Con, 1, 3
     
    If RS.EOF Then Exit Sub
    
    Sayfa1.Range("A2").CopyFromRecordset RS


 End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,259
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
    SQL = "SELECT [KalemKodu], FIRST([Tedarikçi]), FIRST([FaturaTarihi]), " & _
          "FIRST([BirimFiyat]), FIRST([ParaBirimi]), FIRST([MalGrubu]) " & _
          "FROM (SELECT * FROM [Data$] WHERE [MalGrubu]='G1' " & _
          "ORDER BY [FaturaTarihi] DESC) " & _
          "GROUP BY [KalemKodu]"
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,179
Excel Vers. ve Dili
Office 2013 İngilizce
Deneyiniz.

C++:
    SQL = "SELECT [KalemKodu], FIRST([Tedarikçi]), FIRST([FaturaTarihi]), " & _
          "FIRST([BirimFiyat]), FIRST([ParaBirimi]), FIRST([MalGrubu]) " & _
          "FROM (SELECT * FROM [Data$] WHERE [MalGrubu]='G1' " & _
          "ORDER BY [FaturaTarihi] DESC) " & _
          "GROUP BY [KalemKodu]"
çok teşekkürler Korhan Hocam
iyi ki varsınız !
 
Üst