Sorgulamada Hepsi Kriteri

Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Herkese merhabalar,

Elimde olmayan sebeplerden dolayı geçirdiğim uzun bir aranın ardından geri dönmenin mutluluğuyla kafamı karıştıran bir sorunun cevabı ile soluğu forumda aldım. Lafı uzun tutmayarak soruma geçmek istiyorum. Elimde şirketimize ait ürün kodları, ürüm isimleri ve satış miktarları olan “veritabani” isimli bir dosyamız var. Dosya içerisinde 001 – 999 arası değişen ürün kodları var. Siteden öğrendiğim kadarıyla istediğim ürün kodunun satış rakamını textbox içerisine getirebiliyorum. Bunu yaparken bir combobox içerisinde 001 – 999 arası kodlardan birisini seçerek o koda ait olan ürünün satış rakamı ilgili textbox’ a geliyor. Sorunum ben bu listenin başına “Tüm Ürünler” isimli bir seçenk koysam ve bu seçenek vasıtasıyla seçim yaptırarak 000 – 999 arası tüm kodların toplam satış rakamını alabilir miyim?

Yardımlarınız için şimdiden teşekkürler.

Kodlarım aşağıdaki gibidir :

Private Sub Commandbutton1-Click()

Set RS = CreateObject("ADODB.recordset")
strSQL = "SELECT * FROM [veritabani] Where UrunKodu='" & ComboBox1 & "'"
RS.Open strSQL, adoCN, 1, 3

Textbox1.value = RS(“SatisRakami”)

RS.Close

End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,271
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Selamlar,

Ben olsam bu şekilde yapardım...

Kod:
Private Sub Commandbutton1_Click()
Set RS = CreateObject("ADODB.recordset")
strSQL = "SELECT * FROM [veritabani] " & p_Kriter(ComboBox1)
RS.Open strSQL, adoCN, 1, 3
Textbox1.Value = RS("SatisRakami")
RS.Close
End Sub
 
 
Private Function p_Kriter(kr As String) As String
    If kr = "<Hepsini Listele>" Then
        p_Kriter = ""
    Else
        p_Kriter = " where UrunKodu='" & kr & "'"
    End If
End Function
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Zeki hocam teşekkür ederim,bende.:)
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki gibi deneyebilirmisiniz?
Kod:
Private Sub Commandbutton1-Click()
Set RS = CreateObject("ADODB.recordset")
If Combobox1 = "Tüm Ürünler" Then
strSQL = "SELECT [COLOR=black][FONT=Times New Roman]SUM([[FONT=Verdana][SIZE=2]SatisRakami[/SIZE][/FONT]])  [/FONT][/COLOR]FROM [veritabani]"
Else
strSQL = "SELECT * FROM [veritabani] Where UrunKodu='" & ComboBox1 & "'"
End If
Textbox1.value = RS(“SatisRakami”)
RS.Open strSQL, adoCN, 1, 3
RS.Close
End Sub
Sanki bir yerde hata yapıyorum. :dusun:
 
Son düzenleme:
Katılım
20 Ocak 2006
Mesajlar
31
Excel Vers. ve Dili
Microsoft Office 2003 - İngilizce
Zeki Hocam,

İlginiz ve cevabınız için çok teşekkür ederim. Kodlar işimi gördü. Sadece aşağıdaki değişikliği yaptım.

UrunKodu=CInt('" & ComboBox1 & "')"

Çok çok teşekkürler, ellerinize sağlık. Sayenizde ileri düzey kullanıcı olduk :)

Recep Bey toplamasını yapmak için ise aşağıdaki şekliyle kodu değiştirmek gerekiyor;

Set RS = CreateObject("ADODB.recordset")
strSQL = "SELECT SUM(Satis) as SatisRakami FROM [satis] " & p_Kriter(ComboBox1)
RS.Open strSQL, adoCN, 1, 3

TextBox1 = RS("SatisRakami")

RS.Close

İlginiz için size de teşekkürler...
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Recep Bey toplamasını yapmak için ise aşağıdaki şekliyle kodu değiştirmek gerekiyor;

Set RS = CreateObject("ADODB.recordset")
strSQL = "SELECT SUM(Satis) as SatisRakami FROM [satis] " & p_Kriter(ComboBox1)
RS.Open strSQL, adoCN, 1, 3

TextBox1 = RS("SatisRakami")

RS.Close

İlginiz için size de teşekkürler...
Evet sorunuzu yanlış anlamışım.
 
Üst