19/10/2012, 15:21
Form Üzerinden Veri Arama
23/04/2013, 11:39
beyazgulum
(26/03/2009, 20:40)mehmetdemiral yazdı: Sevgili Sledgeab, bu süper bir çalışma.. Çok işimize yaradı. Teşekkürler..hocam bu kodu uyguladıktan sonra hata veriyor [SNUM] bu şekildemi yazılmalı yoksa yerine tablodaki bir alanmı yazılmalı bilgi verirseniz sevinirim.
Ayrıca süzülen veriye tıklayınca form üzerinde o veriye gitmesi için, list1'in güncellenme sonrasına
yazarsak daha süper olur.Kod:Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[SNUM] = " & Str(Nz(Me![Liste1], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
23/04/2013, 14:49
ozanakkaya
(23/04/2013, 11:39)beyazgulum yazdı: hocam bu kodu uyguladıktan sonra hata veriyor [SNUM] bu şekildemi yazılmalı yoksa yerine tablodaki bir alanmı yazılmalı bilgi verirseniz sevinirim.
Sn. beyazgulum, Formda bulunan otomatik sayı olan alanın ismini yazmalısınız. Örnek uygulama ekleyerek yeni konu açarsanız yardımcı olmaya çalışırım.
05/07/2013, 11:02
dümeningen
Emeğinize Sağlık...
23/04/2014, 22:24
Esquire20
Elinize sağlık.
10/05/2015, 15:38
MHMMT61
(23/03/2009, 13:00)ozanakkaya yazdı: Liste kutusunda arama yapma ile ilgili sitede birçok örnek bulunmakta, başvuru kaynağı olması açısından benim bildiğim en iyi yöntemi açıklayıcı olarak anlatacağım.
Form üzerine;
- tablodaki alanları içeren metin kutularını,
- 1 adet liste kutusu,
- Arama işleminde kullanılmak üzere 2 adet metin kutusu ekliyoruz, birinin adı arama, diğeri gecici (bkz. Resim-1)
RESİM-1
Daha sonra eklediğimiz Liste Kutusunun özelliklerinden "Satır Kaynağı" alanından sorgu oluşturucuyu açıyoruz.(Bkz.Resim-2)
RESİM-2
Sorgu oluşturucu açıldığında "Tablo Göster" açılır, açılmaz ise boş bir alana sağ tıklayıp "Tablo gösteri" tıklıyoruz. "Tablo Göster"deki listeden form ile ilişkili tablomuzu seçiyoruz ve ekle butonunu tıklayıp "Tablo Göster"i kapatıyoruz.
Tablodan Arama yapmak istediğimiz alanları Sorgu Oluşturucudaki sütunlara ekliyoruz. (Bkz.Resim-3)
RESİM-3
Daha sonra sorgu oluşturucudaki boş sütuna "Arama: [alan1] & "* " & [alan2] şeklinde alanları ekliyoruz. Bu sütunun altındaki ölçüt alanına daşeklinde ölçüt yazıyoruz. Bizim Örneğimize göre formadı: Form1, aramakutusu adı: arama(Bkz.Resim-4 )Like "*" & [Forms]![formadı]![aramakutusuadı] & "*"
RESİM-4
Daha sonra sorgu oluşturucuyu kaydedip kapatıyoruz. Liste Kutusunun özelliklerinden Sütun sayısına sorguya kaç tane alan eklediysek sayısını, Sütun genişliklerinede listede görünmesini istediğiniz genişlikleri yazıyoruz.(Bkz. Resim-5)
RESİM-5
arama isimli metin kutusunun Değiştiğinde olayına;
yazıyoruz.Me.gecici = Me.arama.Text
Me.Liste1.Requery
gecici adındaki metin kutusunun Güncelleştirme Sonrasında olayınada
Me.Liste1.Requery
yazıyoruz.
gecici isimli metin kutusunun Görünür özelliğini "Hayır" olarak değiştiriyoruz. (Bkz. Resim-6)
RESİM-6
Formu kaydedip form görünümünde açıyoruz. Arama Alanına 01 yazdığımızda Kamil ile Süleyman'ı (Tc kimlik numaralarında 01 geçtiği için), Ay yazdığımızda Kamil ile Alper'i (anne isimlerinde "ay" geçiyor,) ü yazdığımızda da Alper ile Süleyman'ı (birinin soyadında, diğerinin adında ü var) buluyor. (Bkz-Resim7)
RESİM-7
Son olarak liste kutusunun tıklandığında olayına aşağıdaki kodu yazın.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[SNUM] = " & Str(Nz(Me![Liste1], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
Dediğim gibi, bu benim bildiğim en iyi yöntem, bildiğim kadarıyla anlatmaya çalıştım. Anlatımımda bir kusurum veya unuttuğum birşey oldu ise başta sn furens olmak üzere özür dilerim. Basit bir örnek ektedir.