İsimlerin Sayısını bulan SQL kodunu kısaltmak.
Tarih
11/01/2013 21:33
Konu Sahibi
alican60
Yorumlar
9
Okunma
2227
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



alican60
Aktif Üye
Kullanici Avatari
Aktif Üye
A.... C....
116
29/12/2012
0
Tokat
-
Bugün,07:59
Çözüldü 
Aşağıdaki kod ile combobox1-2-3 teki süzme durumuna göre textbox1-2-3 e Ali-Veli-Ahmet isimlerinin sayılarını alrıyorum.Bu kod gittikçe uzuyor ve satır sayısı artıyor,bunu daha kestirme yoldan yapabilirmiyiz.

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub SAY()
If ComboBox1.Value <> "" And ComboBox2.Value = "" And ComboBox3.Value = "" Then
    TextBox1.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'ALİ'   and [CALISAN_KODU] like '" & ComboBox1.Value & "%'")(0)
    TextBox2.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'VELİ'  and [CALISAN_KODU] like '" & ComboBox1.Value & "%'")(0)
    TextBox3.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'AHMET' and [CALISAN_KODU] like '" & ComboBox1.Value & "%'")(0)
ElseIf ComboBox1.Value = "" And ComboBox2.Value <> "" And ComboBox3.Value = "" Then
    TextBox1.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'ALİ'   and [ADI] like '" & ComboBox2.Value & "%'")(0)
    TextBox2.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'VELİ'  and [ADI] like '" & ComboBox2.Value & "%'")(0)
    TextBox3.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'AHMET' and [ADI] like '" & ComboBox2.Value & "%'")(0)
ElseIf ComboBox1.Value = "" And ComboBox2.Value = "" And ComboBox3.Value <> "" Then
    TextBox1.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'ALİ'   and [DOGUM_TARIHI] like '" & ComboBox3.Value & "%'")(0)
    TextBox2.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'VELİ'  and [DOGUM_TARIHI] like '" & ComboBox3.Value & "%'")(0)
    TextBox3.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'AHMET' and [DOGUM_TARIHI] like '" & ComboBox3.Value & "%'")(0)
ElseIf ComboBox1.Value <> "" And ComboBox2.Value <> "" And ComboBox3.Value = "" Then
    TextBox1.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'ALİ'   and [CALISAN_KODU] like '" & ComboBox1.Value & "%'" & "and [ADI] like '" & ComboBox2.Value & "%'")(0)
    TextBox2.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'VELİ'  and [CALISAN_KODU] like '" & ComboBox1.Value & "%'" & "and [ADI] like '" & ComboBox2.Value & "%'")(0)
    TextBox3.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'AHMET' and [CALISAN_KODU] like '" & ComboBox1.Value & "%'" & "and [ADI] like '" & ComboBox2.Value & "%'")(0)
ElseIf ComboBox1.Value <> "" And ComboBox2.Value = "" And ComboBox3.Value <> "" Then
    TextBox1.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'ALİ'   and [CALISAN_KODU] like '" & ComboBox1.Value & "%'" & "and [DOGUM_TARIHI] like '" & ComboBox3.Value & "%'")(0)
    TextBox2.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'VELİ'  and [CALISAN_KODU] like '" & ComboBox1.Value & "%'" & "and [DOGUM_TARIHI] like '" & ComboBox3.Value & "%'")(0)
    TextBox3.Value = baglan.Execute("select count([ADI]) from [LİSTE] where [ADI] = 'AHMET' and [CALISAN_KODU] like '" & ComboBox1.Value & "%'" & "and [DOGUM_TARIHI] like '" & ComboBox3.Value & "%'")(0)

End If

End Sub



Ek Dosyalar
.rar   EXCELDEN ACCESE VERİ AKTARMADA SAY KODUNUN KISALTILMASI.rar (Dosya Boyutu: 126 Bayt / İndirme Sayısı: 2)
Cevapla


fatih karagöl
Aktif Üye
Kullanici Avatari
Aktif Üye
167
05/10/2010
88
Edirne
-
15/12/2015,17:38
Çözüldü 
örnek eklerseniz kısaltabilir düşüncesindeyim.salt kodlardan hareket edersek parçalar eksik kalıyor.
Cevapla


alican60
Aktif Üye
Kullanici Avatari
Aktif Üye
A.... C....
116
29/12/2012
0
Tokat
-
Bugün,07:59
Çözüldü 
Halay
Cevapla


fatih karagöl
Aktif Üye
Kullanici Avatari
Aktif Üye
167
05/10/2010
88
Edirne
-
15/12/2015,17:38
Çözüldü 
kod alıştırması yaptığınızı tahmin ettiğimden kurguya hiç dokunmuyorum.

adi = ComboBox2.Value: calisanKodu = ComboBox1.Value: dogumTarihi = ComboBox3.Value
Sql = "select [ADI],count([ADI]) as sayi from [LİSTE] WHERE [CALISAN_KODU] like '" & calisanKodu & "%" & "' AND [DOGUM_TARIHI] like '" & dogumTarihi & "%" & "' group by ADI HAVING ADI like '" & adi & "%" & "' "
Set baglan = CreateObject("adodb.connection")
Set rst = CreateObject("adodb.recordset")
Call baglanti
rst.Open SQL, baglan, 1, 1
Do While Not rst.EOF
lAdi = rst.Fields("ADI")
lsayi = rst.Fields("sayi")
If lAdi = "AHMET" Then TextBox3.Value = lsayi Else If lAdi = "VELİ" Then TextBox2.Value = lsayi Else If lAdi = "ALİ" Then TextBox1.Value = lsayi
rst.movenext
Loop
Set rst = Nothing
Cevapla


alican60
Aktif Üye
Kullanici Avatari
Aktif Üye
A.... C....
116
29/12/2012
0
Tokat
-
Bugün,07:59
Çözüldü 
Fatih Bey Allah razı olsun zaman harcamışsınız ellerinize sağlık,yalnız bir sorun var.Comboboxlardan sırasıyla süzme yaparken sayı adeti veren textboxlarda sayı adetlerri doğru çıkmıyor.
Cevapla


fatih karagöl
Aktif Üye
Kullanici Avatari
Aktif Üye
167
05/10/2010
88
Edirne
-
15/12/2015,17:38
Çözüldü 
rica ederim. Sql kodunda bir sıkıntı görünmüyor.
Sorgunun başına bu satırı ilave edin. Eski değerleri göründüğünden hatalı sonuç getirmiş gibi görünüyor. Düzelmezse kodu gözden geçirim
TextBox1.Value = "": TextBox2.Value = "": TextBox3.Value = ""
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Butonlardaki Hesaplama Kodunu Güncelleme de nasıl yapabiliriz ask200075 6 182 15/11/2016, 12:08 ask200075
Çözüldü Liste kutusunun kaynak kodunu optionboxa bağlı değiştirme mehmetb84 2 304 27/01/2016, 19:26 mehmetb84
Çözüldü Kredi Kartı Hesap Kesim Tarihine Kalan Gün Sayısını Bulmak sfenksturk 5 655 26/09/2015, 20:15 sfenksturk
Çözüldü kullanıcı sayısını kısıtlama emir ustaoğlu 6 571 16/09/2015, 14:22 atoz112
Çözüldü Harf girildiğinde karakter sayısını öğrenme aliyuzen 11 1.282 22/07/2015, 13:05 aliyuzen


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya