Skip to main content

AccessTr.neT


Sorgu mu ? kullanmıyorum !

Sorgu mu ? kullanmıyorum !

#1
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 )

[Resim: 2ai3qs2.jpg]
[Resim: 2w32mp4.jpg]
[Resim: 14vqjjc.jpg]

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



















.rar sql_arsiv.rar (Dosya Boyutu: 14,67 KB | İndirme Sayısı: 110)
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#2
Teşekkürler Oktay hocam, çok akıllıca.
Cevapla
#3
(14/02/2011, 17:30)sledgeab yazdı: Teşekkürler Oktay hocam, çok akıllıca.

alkisalkisalkis
Saygılar...
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi


Cevapla
#4
güzel çalışma teşekkürler. keşke örnekte linked table kullanmasaydın.
Murat YANDEMİR ( PyramiD YAZILIM Uluslar Arası Nakliye Programları )
Bilgisayar Programcısı (1989'dan beri)

+rep Yollar biter Access bitmez. +rep
Cevapla
#5
Hocam, atlamışım Img-cray
ektedir, 1. mesaj da güncellenmiştir
.rar sql_arsiv.rar (Dosya Boyutu: 14,67 KB | İndirme Sayısı: 42)
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#6
Paylaşım ve fikir için teşkürler
Kaplumbağa ya dikkat et...
Sadece  başını çıkartıp risk aldığında ilerleyebiliyor...
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task