ADO ACCESS te filtreleme hatası

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
hakansozgen
Üye
Mesajlar: 38
Kayıt: 16 Nis 2006 06:51
Konum: istanbul
İletişim:

ADO ACCESS te filtreleme hatası

Mesaj gönderen hakansozgen »

Arkadaşlar merhaba.Ben bi projemde vt yi Access kullanıyorum. Fakat filtrelemede problemler yaşamaya başladım.

Birincisi adotable1.filter fonksiyonunu kullandığımda şöyle bi hata alıyorum:
"Yanlış türdeki değişkenler kabul edilebilir aralıklar dışında veya bir başkasıyla çakışan bağımsız değişkenler kullanılıyor"

Kod bloğum:
if edit1.text<>'' then
begin
adotable1.Filter:='STOK_KODU'+quotedstr(edit1.Text);
adotable1.Filtered:=true;
end
else
showmessage('Lütfen aranacak kriteri belirleyin');
end;

Aynı zamanda bu kodun içine filteroptions u koyduğumda filteroption not supported diye bir uyarı alıyorum.

2-ADOQuery ile sorgulama yaptığım zaman da mesela cola diya arattırcam "cola parametresinin varsayılan değeri yok diyor."

Kod bloğum:
if adoquery1.Active then
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Append('select * from tblStok where STOK_CINSI=');
adoquery1.SQL.Append(edit2.text);
adoquery1.Open;

Bununla ilgili yardımlarınızı bekliyorum ilginiz için şimdiden teşekkürler ederim hepinize kolay gelsin.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
1.sorunda filitreleme yapacağın alan ile değer arasın"=" koyman sorununu çözecektir.
2.sorunda da edit2.text i tırnak içinde yazman lazım. (quotedstr)

3. kodlarını code tagı içerisine alırsan okumak daha kolay olur.
4.kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
hakansozgen
Üye
Mesajlar: 38
Kayıt: 16 Nis 2006 06:51
Konum: istanbul
İletişim:

Mesaj gönderen hakansozgen »

Yardımcı olduğunuz için teşekkür ederim.

1.Sorunum sayenizde düzeldi.
2.Sorunumda şöyle bi kodu bloğu yazdım ama butona tıklarken hiç bi hareket olmuyo hada ta çıkmıyo.

Kod: Tümünü seç

if adoquery1.Active then
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.append('select * from tblStok where STOK_CINSI=');
adoquery1.sql.append(quotedstr(edit2.Text));
adoquery1.Open;
İlginiz için teşekkür ederim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

şöyle deneyin

Kod: Tümünü seç

adoquery1.SQL.append('select * from tblStok where STOK_CINSI='+quotedstr(edit2.Text)); 
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Sorgunuz Edit2'nin barındırdığı değere göre çalıştığı için bu kodu çalıştırırken burada hangi değerleri yazarak denediğinizi ve bu değerlere göre hangi sonuçların çıktığını açıkça yazmanızda fayda var. Tabi tabloda bulunan kayıtlarda çok önemli. Zira bu sorgu şekli ile sayısız kod yazıldı ve hepsi çalışıyorlardı.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
hakansozgen
Üye
Mesajlar: 38
Kayıt: 16 Nis 2006 06:51
Konum: istanbul
İletişim:

Mesaj gönderen hakansozgen »

aslangeri yazdı:şöyle deneyin

Kod: Tümünü seç

adoquery1.SQL.append('select * from tblStok where STOK_CINSI='+quotedstr(edit2.Text)); 
kolay gelsin.
bunu denedim yine olmadı gerçekten çok ilginç kesin çalışması gereken bir sorgu.

Detaylı bir şekilde anlatmam gerekirse tablodaki STOK_CINSI alanında mesela bakliyat var. Edit2 ye bakliyat yazdığım zaman STOK_CINSI alanındaki bakliyatları sorgulaması lazım. Ama geriye hiçbişey dönmüyo ve hata da çıkmıyo.

İlginiz için teşekkür ederim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

eğer hata vermeden alan başlıklarını getiriyorsa sorguda hata yok demektir.
kriterlerinizi ve vt deki karşılıklarını kontrol edin. kritere verdiğiniz değerleri kontrol edin.
oluşan sql i memo vb. bir bileşene atın. ordaki kodları başka bir editörle(sql explorer vb. -sql explorer delphi ile birlikte geliyor.) deneyin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

aslangeri yazdı:eğer hata vermeden alan başlıklarını getiriyorsa sorguda hata yok demektir....
Evet sorgu hatasız, buradan Edit2'ye yazılan değerle kayıt değerlerinin uyuşmadığı sonucu çıkıyor. Büyük küçük harf ayrımına dikkat :!:
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
hakansozgen
Üye
Mesajlar: 38
Kayıt: 16 Nis 2006 06:51
Konum: istanbul
İletişim:

Mesaj gönderen hakansozgen »

Merhabalar. Gerçekten bu sorun karşısında daha ne yapılır bilmiyorum. O yüzden burdayım. Edit2 ye yazılan değerle kayıttaki değerin aynı olduğuna kalıbımı basarım. Farklı alanı sorguladım yok, edit2 yi dbedit yaptım,memo yaptım yine yok db grid öyle hareketsiz kalıyo. Datasource bağlantıları da sağlam.Anlamadım gitti.

İlginiz için teşekkürler.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

arkdaşım oluşan sql i memoya vs. bi bileşene attınmı.
sqlexplorerda denedinmi.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
hakansozgen
Üye
Mesajlar: 38
Kayıt: 16 Nis 2006 06:51
Konum: istanbul
İletişim:

Mesaj gönderen hakansozgen »

Ben sorguyu bitbuttonda yapıyodum. Bitbutton u sildi normal buttona yazdım çalıştı. Bitbuttonda mı sorun var nedir. Halbuki başka projelerimde bitbuttona sorgu yazabiliyordum.
Neyse sorunum düzeldi ilginizden dolayı hepinize teşekkür ederim. Kolay gelsin.
Cevapla