SQL satırını değişkenlerlerle yazma

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
SQLStr = "SELECT DISTINCT il, ilce,mahkoy,plaka,postakod,telkod FROM [ilveilce$] WHERE il=" & "'" & ComboBox1.Value & "'" & "AND ilce=" & "'" & ComboBox2.Value & "'" & "AND mahkoy=" & "'" & ComboBox3.Value & "'"
şeklinde uzun bir satırımnız var diyelim bunu

Kod:
basliklar =  il, ilce,mahkoy,plaka,postakod,telkod
sayfadi =  [ilveilce$] 
sorgu = il=" & "'" & ComboBox1.Value & "'" & "AND ilce=" & "'" & ComboBox2.Value & "'" & "AND mahkoy=" & "'" & ComboBox3.Value & "'"

SQLStr = "SELECT DISTINCT [B]basliklar[/B] FROM [B]sayfaadi[/B] WHERE [B]sorgu[/B]
şeklinde yazmanın bir yolu varmıdır?
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Çoğunu yapmışsınız zaten.
Kod:
basliklar = "il, ilce, mahkoy, plaka, postakod, telkod"
sayfadi = "[ilveilce$]"
sorgu = "il = " & " '" & ComboBox1.Value & "'" & "AND ilce=" & "'" & ComboBox2.Value & "'" & "AND mahkoy=" & "'" & ComboBox3.Value & "'"
SQLStr = "SELECT DISTINCT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam ben türkçe kodladım vba dilinide bir kaç denemde başarısız olunca bir bilene bıraktım... kodlar için teşekkür ederim
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sn hocam ben yine beceremedim püf noktası nedir acaba
Kod:
basliklar = "TCKİMLİKNO,ADI,SOYADI,ANNEADI,BABAADI,DOGUMYERİ,DOGUMTARİHİ,ADR_MUHTAR,ADR_ILCE,ADR_IL"
sayfaadi = "[data$]"
sorgu = "TCKİMLİKNO=" & tcno & "'"
'sorgu = "il = " & " '" & ComboBox1.Value & "'" & "AND ilce=" & "'" & ComboBox2.Value & "'" & "AND mahkoy=" & "'" & ComboBox3.Value & "'"
SQLStr = "SELECT TCKİMLİKNO,ADI,SOYADI,ANNEADI,BABAADI,DOGUMYERİ,DOGUMTARİHİ,ADR_MUHTAR,ADR_ILCE,ADR_IL FROM [data$] WHERE TCKİMLİKNO=" & tcno
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Sayın Anemos açıklamada bulunacaktır.

Biraz Sql bilgimle benim fikrim

WHERE TCKİMLİKNO=" & tcno

Tcno değişkenine değer atadınızmı
Tcno=11111111

Ayrıca TCKİMLİKNO alanı metinmi , sayımı

Metinse

WHERE TCKİMLİKNO="'" & tcno & "'"
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sayın zafer benim 4. mesajdaki sql satırını ben değişkenlere böülünce hata alıyorum
doğru sql satırı
SQLStr = "SELECT TCKİMLİKNO,ADI,SOYADI,ANNEADI,BABAADI,DOGUMYERİ,DOGUMTARİHİ,ADR_MUHTAR,ADR_ILCE,ADR_IL FROM [data$] WHERE TCKİMLİKNO=" & tcno
bu satır çalışıyor hocam ancak uzun olduğu için ben parçalamak istiyoruım yeni başlıklar ekleyecem ve satı çok uzun olacak

aslında takıldığım yer
sorgu = "il = " & " '" & ComboBox1.Value & "'" & "AND ilce=" & "'" & ComboBox2.Value & "'" & "AND mahkoy=" & "'" & ComboBox3.Value & "'"
satırını kendime uyarlamak
bendeki sorgu şua anda TCKİMLİKNO=" & tcno ama bir türlü sorgu değerine atayamadım.
SQLStr = "SELECT DISTINCT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
şekline nasıl dönüşteceğimi soruyorum
 
Son düzenleme:

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba



SQLStr = "SELECT TCKİMLİKNO,ADI,SOYADI,ANNEADI,BABAADI,DOGUMYERİ,DO GUMTARİHİ,ADR_MUHTAR,ADR_ILCE,ADR_IL FROM [data$] WHERE (TCKİMLİKNO=" & tcno & ")"

olarak denermisiniz

Metinse

WHERE (TCKİMLİKNO='" & tcno & "')"
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
6. mesajda doğru çalışan sorgu verilmiş. O halde TCNO sütunu sayısal veri içeriyor.

Basit hatalar parametrik sorgu hazırlanmak istendiğinde ortaya çıkıyor.

Tahmin ettiğim hata filitre edilecek alanlar ile " AND" boşluğunun verilmemesinden kaynaklanıyor.

Kod:
Dim basliklar As String
Dim sayfaadi  As String
Dim sorgu     As String
Dim strSQL    As String
 
basliklar = "TCKİMLİKNO, ADI, SOYADI, ANNEADI, BABAADI, DOGUMYERİ, "
basliklar = basliklar & "DOGUMTARİHİ, ADR_MUHTAR, ADR_ILCE,ADR_IL "
 
sayfaadi = "[data$] "
 
sorgu = "il = " & " '" & ComboBox1.Value & "'" & _
        " AND ilce = " & "'" & ComboBox2.Value & "'" & _
        " AND mahkoy = " & "'" & ComboBox3.Value & "'" & _
        " AND TCKİMLİKNO = " & ComboBoxX
 
strSQL = "SELECT " & basliklar & _
         "FROM " & sayfaadi & _
         "WHERE " & sorgu
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam 6. mesajdaki sorgum tek ve sayısal olacak kod Worksheetselection_change olayında ve target.row = tcno durumunda veritabanından istenilen verileri almaya yarıyor.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
O zaman "sorgu" kısmını aşağıdaki ile değiştirin.
Kod:
sorgu = "TCKİMLİKNO = " & ComboBox[B]?[/B]
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
..............
tcno = Target.Value                                                                 'Sorgulanacak değeri ata
'Sorgulanacak başlıkları ve sorgulanacak kriteri yaz
basliklar = "TCKİMLİKNO, ADI, SOYADI, ANNEADI, BABAADI, DOGUMYERİ, "
basliklar = basliklar & "DOGUMTARİHİ, ADR_MUHTAR, ADR_ILCE,ADR_IL "
sayfaadi = "[data$] "
sorgu = "TCKİMLİKNO = " & tcno
SQLStr = "SELECT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
........
şeklinde kullandım hocam teşekkür ederim bir sorum daha var yalnız

SQLStr = "SELECT DISTINCT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu

ile

SQLStr = "SELECT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu

arasındaki fark nedir?
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
"DISTINCT" ifadesi mükerrer kayıtların yalnızca birini almasını sağlar.

SQL konusunda daha fazla bilgi için forumdaki SQL dokumanlarını indirip inceleyin.

Takıldığınız yerde tekrar sorarsınız.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
teşekkür ederim hocam
 
Üst