Skip to main content

AccessTr.neT


3061: To few parameters. Expected 2 (hatası)

3061: To few parameters. Expected 2 (hatası)

Çözüldü #1
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;")

Son Düzenleme: 01/06/2009, 15:28, Düzenleyen: mesudi.
Cevapla
Çözüldü #2
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
meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Son Düzenleme: 01/06/2009, 16:58, Düzenleyen: esrefigit.
Cevapla
Çözüldü #3
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.
Cevapla
Çözüldü #4
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
Cevapla
Çözüldü #5
en iyisi örneği eklemen görmeden bir şey diyemeyeceğiz
meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Cevapla
Çözüldü #6
Arkadaşlar örnek baya karmaşık. Ben sadeleştirip bugün eklemeye çalışacağım. Yardımlarınız için teşekürler.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da