14/02/2011, 17:09
Kayıtlı sorgu yığınından veya kod sayfalarına yazdığınız uzun
SQL cümlelerinden kurtulmak ister misiniz ?
Ayni rapor veya form tasarımına 1’den fazla sorgu çağırmak gerektiğinde
“RecordSource” ile oynamıyor musunuz ?
O halde “SQL arşivinizi oluşturun” !
Bu konuda geçen sene bir üyemizin sorusuna cevaben küçük
bir çalışma yapmıştık. Ancak bunu bir metod olarak kullanmanın da
enteresan bir çözüm olduğunu düşünüyorum ( ben kullanıyorum )
Uygulamalarıma ilave bir tablo ekliyorum “tbl_sql – Sql cümleleri”
tablosu. SQLC_id, SQLC_keyword, ve SQLC alanlarından oluşuyor.
(bkz. ekteki mdb örneği )
En karmaşık sorgularınızı oluşturduktan sonra, Sql görünümüne
geçerek oluşturulan kodu kopyala/ yapıştır ile tabloma kayıt ediyorum,
ve bir anahtar kelime ekliyorum ( SQLC_keyword )
Daha sonra gerektiğinde “anahtar kelime “ ile çağırıyorum
Örnek 1 ( Form üzerindeki yeni kart ekleme butonu için )
Burada önemli olan bir başka konu gerçekten sorguya ihtiyaç
duyulduğunda ne yapılabileceğidir
İstediğimiz Sql cümlesinden yeni bir sorgu yaratabilriz :
Bu sorguya “maymuncuk” adı verelim, gerektiğinde kullanalım
Artık bu somut sorgu üzerinden kayıt tarama işlemleri yapabilir
RecordSet olarak kullanabilriz.
Örnek ( maymuncuk sorgusundan kayıt sayısı alalım )
Kolay gelsin
SQL cümlelerinden kurtulmak ister misiniz ?
Ayni rapor veya form tasarımına 1’den fazla sorgu çağırmak gerektiğinde
“RecordSource” ile oynamıyor musunuz ?
O halde “SQL arşivinizi oluşturun” !
Bu konuda geçen sene bir üyemizin sorusuna cevaben küçük
bir çalışma yapmıştık. Ancak bunu bir metod olarak kullanmanın da
enteresan bir çözüm olduğunu düşünüyorum ( ben kullanıyorum )
Uygulamalarıma ilave bir tablo ekliyorum “tbl_sql – Sql cümleleri”
tablosu. SQLC_id, SQLC_keyword, ve SQLC alanlarından oluşuyor.
(bkz. ekteki mdb örneği )
En karmaşık sorgularınızı oluşturduktan sonra, Sql görünümüne
geçerek oluşturulan kodu kopyala/ yapıştır ile tabloma kayıt ediyorum,
ve bir anahtar kelime ekliyorum ( SQLC_keyword )
Daha sonra gerektiğinde “anahtar kelime “ ile çağırıyorum
Örnek 1 ( Form üzerindeki yeni kart ekleme butonu için )
Dim StrSQL As String
StrSQL = Dlookup ("[SQLC]", "tbl_sql", "[SQLC_keyword]='kartekle'")
DoCmd.RunSQL StrSQL
Örnek 2 ( Raporun açılışına )
Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = Dlookup ("[SQLC]", "tbl_sql", "[SQLC_keyword]='hareketgorenler'")
End Sub
Burada önemli olan bir başka konu gerçekten sorguya ihtiyaç
duyulduğunda ne yapılabileceğidir
İstediğimiz Sql cümlesinden yeni bir sorgu yaratabilriz :
Bu sorguya “maymuncuk” adı verelim, gerektiğinde kullanalım
Dim db As DAO.Database
Dim MyQry As DAO.QueryDef
Set db = CurrentDb
On Error Resume Next
' maymuncuk sorgusu her yeni işlemde önce silinecektir
db.QueryDefs.Delete "maymuncuk"
'sorguya Sql cümlemizi atıyoruz
Set MyQry = db.CreateQueryDef("maymuncuk", Dlookup ("[SQLC]", "tbl_sql", "[SQLC_keyword]= 'hareketgorenler'"))
db.Close
Artık bu somut sorgu üzerinden kayıt tarama işlemleri yapabilir
RecordSet olarak kullanabilriz.
Örnek ( maymuncuk sorgusundan kayıt sayısı alalım )
Me.ALANADI = DCount (“[kart_ID]”, “maymuncuk”)
Kolay gelsin