AccessTr.neT

Tam Versiyon: 3061: To few parameters. Expected 2 (hatası)
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Arkadaşlar 3061: To few parameters. Expected 2 hatası DAO kullanarak oluşturduğum Recordset'lerde eğer sorgu ifadesi biraz karmaşık ve uzunsa, özelliklede formlardan parametre girdisi alıyorsa, zaman zaman gördüğüm bir hata mesajı idi. Ama orasıyla burasıyla oynayarak bir şekilde çözebiliyordum. Fakat son günlerde bu hata başıma bela olmuş durumda. Bu konuda bilgisi olan arkadaşlar paylaşırsa sevinirim.

Bu arada probleme yol açan Sql ifadesi şu :

Kod:
Dim rs As Recordset

Set rs = CurrentDb.OpenRecordset("SELECT tblEmployees.NameSurname, Sum(tblTeacherHours.HowManyHours) AS SumOfHowManyHours, tblEmployees.Quantity, tblEmployees.PriceState, tblEmployees.OverTime, tblEmployees.OverTimeQuota, tblEmployees.OverTimeQuotaPrice, tblEmployees.Extra FROM tblEmployees INNER JOIN tblTeacherHours ON tblEmployees.EmployeeID = tblTeacherHours.Teacher WHERE (((tblTeacherHours.Dt) Between [Forms]![frmTeacherSalary]![Date1] And [Forms]![frmTeacherSalary]![Date2])) GROUP BY tblEmployees.NameSurname, tblEmployees.Quantity, tblEmployees.PriceState, tblEmployees.OverTime, tblEmployees.OverTimeQuota, tblEmployees.OverTimeQuotaPrice, tblEmployees.Extra;")
programı gönderseydin bakardık ama şu anda gördüğüm tarihlerri süzdürmede karşılaşılan sorun ancak şunu bir dene ilgili yeri bu şekilde değiştir

(((tblTeacherHours.Dt) Between (#" & [Forms]![frmTeacherSalary]![Date1] &"#) And (#" & [Forms]![frmTeacherSalary]![Date2] & "#)))

büyük ihtimalle düzelmesi lazım
ha unutmadan bu tip tarihleri süzdürebilmek için tablodaki alanların mutlaka tarih-saat olmalı ve aralarındaki işaretleme sistemide windows bölgesel dil ayarları ile aynı olmalı yoksa arıza çıkarır peki bir yolu yokmu olmamı tarih alanını 01062009 şekilne çevirerk between ile daha kolay süzdürme yapılır en azından ben öyle deniyorum
Hocam ilgilendiğin için teşekür ederim, denedim ama maalesef olmadı. Tarih alanlarının başına # koymak zaten tarih formatında olan alanlarda gereksiz sanırım. Ben uğraşmaya devam edecem bakalım nasıl olacak.
tarihi sayı formatına çevirerek deneyin
sanırım sorununuz çözülür
between clng(cdate(tarih alanı1) and clng(cdate(tarih alanı2) gibi
en iyisi örneği eklemen görmeden bir şey diyemeyeceğiz
Arkadaşlar örnek baya karmaşık. Ben sadeleştirip bugün eklemeye çalışacağım. Yardımlarınız için teşekürler.
Sayfalar: 1 2 3