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

1 2 3
02/06/2009, 15:33

mesudi

Arkadaşlar örnek dosya ekte. Elimden geldiği kadar sadeleştirmeye çalıştım. Aslında problem tam olarak şu; rptAllTeachersSalary adlı raporumda öğretmenlerin ders saat ücretlerini hesaplıyorum. Buraya kadar hiçbir sorun yok. frmTeacherSalary adlı form üzerinden gerekli tarih aralığını girip raporu çalıştırıyorum. Gayet normal çalışıyor. Ancak bu raporu OutPut yapınca, yani yazdırınca veya bir Word dosyasına aktarınca en alttaki Genel Ücret Toplamı iki katı gösteriyor. Ben çözüm olarak DAO ile sorunu çözmeye çalıştım, bu seferde raporun kayıt kaynağı olan sorguyu Recordset olarak set ettiğimde,
3061: To few parameters. Expected 2 (hatası) ile karşılaştım. Normalde gayet güzel çalışan sorgu DAO'da sorun çıkardı. Yalnız bazı arkadaşlar raporun sadeliğine bakıp sorgusunuda sadeleştirmeye kalkmasın, çünkü normalde rapor daha fazlasını yapıyor. Ben sadeleştirdim. Bu yüzden bu haliyle üretilecek çözüm benim işimi görür. Yani sorgu mevcut haliyle kalmalı. Ha DAO veya ADO'ya ne gerek var, şöyle şöyle çözülür diyen varsa "Allah razı olsun" derim. Yardımcı olacak arkadaşlara çok teşekkür ederim.

Not: 3 yıldır bu sorunu çözemedim.
02/06/2009, 19:18

esrefigit

öncelikle bu ekdersler aylıkmı yoksa iki aylıkmı üç aylıkmı nasıl hesaplanıyor onu söyle her öğretmeni saat ücreti saat ücreti dedim saat değil aynımı her dersin saat ücreti aynımı
extra ücret aynı rapordamı gösterilior yoksa farklı bir şeymi yapıyorsun bunları bilmemiz lazım öncelikle bu tip raporlarda böyle bir sorgular sonuç vermez diğer iki katına gelince sadece problemin bu ise bunu koduna yapıştır sorunun çözülsün

Private Sub RaporAltbilgisi_Print(Cancel As Integer, PrintCount As Integer)
CollectAllSalary = 0
End Sub

olaya gelince sen raporun tümü çalıştığında olayına yani globaline
Dim CollectAllSalary As Long
bunu yazmışsın öylede yazman gerkirki yoksa toplam almaz ve olay şuki kod rapor hem biçimlendiğinde hemde yazdığında bu toplamı zaten aklında tuttuğu için tekrar topluyor ne yapacağız toplamı yazma başladığında sıfırlıyacağızki tekrar toplamasın oda bu toplam rapor alt bilgisinde olduğu için sıfırlamak gerekri üstteki kod sıfırlar


ancak sayfalar ikinci bir sayfaya geçiyor ise ve bu saffaların genel toplamları alınıyorsa ki büyük ihtimalle öyledir ozaman bu sıfırlaama sorun çıkarabilir ne yapalım demene gibi bir lüksümüz yok elimizdeki ancak bu kadar sen denersin şayet olmazsa o zaman benim eklediğim ekders programı var ona bir göz gezdir ben onun bir çok yerini dao ile yaptım ve şakır şakır çalışır iki tarih arası vs vs hepsi olur ve var incele ondan sonra görüşelim
02/06/2009, 19:42

mesudi

Ya hocam yapma etme, bu kadar basitmiydi. Hakikaten çözüm çok yakınken ben çok uzaklarda aramışım. Allah razı olsun. Çok teşekkür ederim. Bütün sorun çözülmüştür. Benim raporum bir sayfayı asla aşmıyor, ayrıca aylık olarak çıkartıyorum. Eline koluna beynine sağlık hocam. +Rep
02/06/2009, 20:05

adnanyurdakul

Sayın mesudi
örneğiniz ekte
02/06/2009, 20:26

mesudi

Adnan hocam çalışman çok ilgimi çekti. İfade1 denen şey nedir, nerdedir. Sonuç süper ama ben bu şey her neyse onu görmek istiyorum. Sorgumudur, fonksiyonmudur nedir. Daha da öndemlisi nerdedir, incelemek istiyorum.
02/06/2009, 20:36

adnanyurdakul

rapor sorgusunda quantity *toplam ders saati ifade1 diye adlandırdım
raporun sorgusunda görebilirsin
1 2 3