Accesde sql sorgulamada hata
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
Accesde sql sorgulamada hata
arkadaşalr selamlar....
Yaptığım projede 3 tabloyu birleştirip içinde toplama yaptırıyorum ve bazı şartlar yapan bir procedure oluşturdum. Kodları bizzat accesin içinde oluşturdum. orda çalışıyor sıkıntı yok. Yalnız bu sorgulamıyı proje içinde yapınca msjet40.dll hatası veriyor. sonra iki tabloya dönüştürdüm v iki tabloyu birleştirerek yaptım yine aynı hata. anlamadım. Ado ile bağlanıyorum accese. Yardımlarınızı bekliyorum.
kod şöyle;
procedure filitre;
begin
with dm.Q_sorgu do begin
sql.Clear;
sql.Add('SELECT musteriler.Id, musteriler.Adi_soyadi, musteriler.telefon, musteriler.telefon1, musteriler.eposta, musteriler.defter_no, musteriler.sayfa_no, musteriler.gizle,');
sql.Add('Sum(toplam_satis.toplam_miktar) AS Toplatoplam_miktar, Sum(toplam_satis.odeme) AS Toplaodeme , ((Sum(toplam_satis.toplam_miktar))-(Sum(toplam_satis.odeme))) AS bakiye');
sql.Add('FROM musteriler INNER JOIN toplam_satis ON musteriler.Id = toplam_satis.musteri_Id');
sql.Add('GROUP BY musteriler.Id , musteriler.Adi_soyadi, musteriler.telefon, musteriler.telefon1, musteriler.eposta, musteriler.defter_no, musteriler.sayfa_no, musteriler.gizle');
sql.Add('HAVING ((musteriler.gizle)=False) ');
if trim(form_menu.RzEdit1.Text)<>'' then
sql.Add('and ((musteriler.Adi_soyadi) like '+QuotedStr(form_menu.rzedit1.Text+'%')+')');
if form_menu.RzCheckBox1.Checked=true then
sql.Add(' AND ((((Sum(toplam_satis.toplam_miktar))-(Sum(toplam_satis.odeme))))>0)');
sql.Add(') ORDER BY musteriler.Adi_soyadi;');
Active:=true;
end;
end;
Yaptığım projede 3 tabloyu birleştirip içinde toplama yaptırıyorum ve bazı şartlar yapan bir procedure oluşturdum. Kodları bizzat accesin içinde oluşturdum. orda çalışıyor sıkıntı yok. Yalnız bu sorgulamıyı proje içinde yapınca msjet40.dll hatası veriyor. sonra iki tabloya dönüştürdüm v iki tabloyu birleştirerek yaptım yine aynı hata. anlamadım. Ado ile bağlanıyorum accese. Yardımlarınızı bekliyorum.
kod şöyle;
procedure filitre;
begin
with dm.Q_sorgu do begin
sql.Clear;
sql.Add('SELECT musteriler.Id, musteriler.Adi_soyadi, musteriler.telefon, musteriler.telefon1, musteriler.eposta, musteriler.defter_no, musteriler.sayfa_no, musteriler.gizle,');
sql.Add('Sum(toplam_satis.toplam_miktar) AS Toplatoplam_miktar, Sum(toplam_satis.odeme) AS Toplaodeme , ((Sum(toplam_satis.toplam_miktar))-(Sum(toplam_satis.odeme))) AS bakiye');
sql.Add('FROM musteriler INNER JOIN toplam_satis ON musteriler.Id = toplam_satis.musteri_Id');
sql.Add('GROUP BY musteriler.Id , musteriler.Adi_soyadi, musteriler.telefon, musteriler.telefon1, musteriler.eposta, musteriler.defter_no, musteriler.sayfa_no, musteriler.gizle');
sql.Add('HAVING ((musteriler.gizle)=False) ');
if trim(form_menu.RzEdit1.Text)<>'' then
sql.Add('and ((musteriler.Adi_soyadi) like '+QuotedStr(form_menu.rzedit1.Text+'%')+')');
if form_menu.RzCheckBox1.Checked=true then
sql.Add(' AND ((((Sum(toplam_satis.toplam_miktar))-(Sum(toplam_satis.odeme))))>0)');
sql.Add(') ORDER BY musteriler.Adi_soyadi;');
Active:=true;
end;
end;
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
arkadaşlar projeyi minik bir hale getirip sadece datayı ve gerekli sorguyu içeren bir ado query ekleyerek projeleştirdim. kodlara ve hataya bakabilirmsiniz. sizdede veriyor mu?
proje adresi
http://www.balogluyazilim.com/proje.rar
proje adresi
http://www.balogluyazilim.com/proje.rar
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Accesde sql sorgulamada hata
Gönderdiğin projede sql bilgisini hatalı yazmışsın, doğrusunu yukarıdaki sorundan aldım ve bende sorunsuz bir şekilde çalıştı. Ayrıca Having şartında sadece group by'ı ilgilendiren şartları verebilirsin (sum,max,avg gibi fonksiyonları kullanarak ya da guruplanan alanlara şart vererek).Meselabaloglurecep yazdı:...
sql.Add('GROUP BY musteriler.Id , musteriler.Adi_soyadi, musteriler.telefon, musteriler.telefon1, musteriler.eposta, musteriler.defter_no, musteriler.sayfa_no, musteriler.gizle');
sql.Add('HAVING ((musteriler.gizle)=False) ');
if trim(form_menu.RzEdit1.Text)<>'' then
sql.Add('and ((musteriler.Adi_soyadi) like '+QuotedStr(form_menu.rzedit1.Text+'%')+')');
if form_menu.RzCheckBox1.Checked=true then
sql.Add(' AND ((((Sum(toplam_satis.toplam_miktar))-(Sum(toplam_satis.odeme))))>0)');
sql.Add(') ORDER BY musteriler.Adi_soyadi;');...
Kod: Tümünü seç
if trim(form_menu.RzEdit1.Text)<>'' then
sql.Add('and ((musteriler.Adi_soyadi) like '+QuotedStr(form_menu.rzedit1.Text+'%')+')');
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
Şaban bey siz projeyi verdiğim yerden indirip ondaki kodlar inceleyip soruınsuz çalışmasını sağladınız mı?
hala sıkıntım devam ediyor. anlamadım gitti. projenin mantığında yada gidişindemi hata var aklıma o geliyor. veritabanı tasarımında mı hata var acaba diyorum ama sanmıyorum. bir haftadır tüm kodları inceledim.
yardım ve yorumlarınızı bekliyorum.....
hala sıkıntım devam ediyor. anlamadım gitti. projenin mantığında yada gidişindemi hata var aklıma o geliyor. veritabanı tasarımında mı hata var acaba diyorum ama sanmıyorum. bir haftadır tüm kodları inceledim.
yardım ve yorumlarınızı bekliyorum.....
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
İnternetten gönderdiğin projenin SQL cümlesi hatalı. ...FROM musteriler INNER JOIN toplam_satis ON musteriler.Id=... ve ...GROUP BY musteriler.Id hataların var (.Id'ler yazılmamış.). Bunu .Id şeklinde olması gerektiğini yukarıdaki verdiğin SQL cümlesinden anladım. .Id'ler yazılınca o projenin SQL'i çalıştı.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
saban bey
o idleri gördüm düzelttim yalnız yine çalışmadı. ben sadece size gönderdiğim projede deniyorum derlerken (delphi içinden çalıştığında msjet40.dll ) hatavermeye devam ediyor. ancak exeden çalıştığında hata yok istediğim gibi çalıştı. Şartları da koydum sıkıntı yok. bu kodları alıp asıpl projeye uyguladığımda hata devam ediyor exeden açlıştığındada hata veriyor. raize bileşnleri ve cxbileşnşleri kullandım. Gerçi şimdiye kadar da onları kullanıyordum ama hata olmuyordu. bulamadım gittiim .bir haftadır boğuşuyorum hata ile. yardımcı olursanız çok sevinirim.
selamlar
o idleri gördüm düzelttim yalnız yine çalışmadı. ben sadece size gönderdiğim projede deniyorum derlerken (delphi içinden çalıştığında msjet40.dll ) hatavermeye devam ediyor. ancak exeden çalıştığında hata yok istediğim gibi çalıştı. Şartları da koydum sıkıntı yok. bu kodları alıp asıpl projeye uyguladığımda hata devam ediyor exeden açlıştığındada hata veriyor. raize bileşnleri ve cxbileşnşleri kullandım. Gerçi şimdiye kadar da onları kullanıyordum ama hata olmuyordu. bulamadım gittiim .bir haftadır boğuşuyorum hata ile. yardımcı olursanız çok sevinirim.
selamlar
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim: