Access 00: Laufzeitfehler 3061



  • Hi, könnte mir jemand in meinem Query aufzeigen, wo sich der Fehler befindet/befinden könnte?

    der Query:

    "SELECT COUNT(Schicht.S" & INT(Datepart("d", datum)) & ") AS 'Anzahl', (Schichten.Felder)" & _
    " FROM (Schicht INNER JOIN Schichten ON (Schicht.S" & int(Datepart("d", datum)) & ")=(Schichten.Kürzel)) " & _
    "INNER JOIN Personal ON (schicht.Personal)=(Personal.ID) " & _
    "WHERE (Schicht.Datum) BETWEEN " & _
    format("01." & Datepart("m", datum) & "." & Datepart("yyyy", datum), "\#yyyy-mm-dd 00:00:00\#") " AND " & _
    format("01." & Datepart("m", datum) & "." & Datepart("yyyy", datum), "\#yyyy-mm-dd 00:00:00\#") " & _
    " AND (Personal.Schichtführer)=FALSE" & _
    " GROUP BY (Schicht.S" & Int(Datepart("d", datum)) & "), (Schicht.Felder);"
    

    dabei ist "datum" ein variables datum, ist in dem fall auch gesetzt.

    der fehler, der dabei auftritt ist wie oben genannt:

    Laufzeitfehler 3061:

    1 Parameter wurde erwartet, aber es wurden zu wenig parameter übergeben.

    wäre für jede Hilfe dankbar. Ich hoffe ich hab keine wichtigen infos ausgelassen...



  • Was gibt er aus, wenn Du diese SQL-Anweisung es in einem String speicherst oder es in die Konsole ausgibst?



  • hi, die Ausgabe als String funktioniert bzw. seh ich da keinen Fehler drin.

    SELECT COUNT(Schicht.S9) AS 'Anzahl', (Schichten.Felder) FROM (Schicht INNER JOIN Schichten ON (Schicht.S9)=(Schichten.Kürzel)) INNER JOIN Personal 
    ON (schicht.Personal)=(Personal.ID) WHERE (Schicht.Datum) BETWEEN #2008-09-01 00:00:00# AND #2008-09-01 23:59:59# AND (Personal.Schichtführer)=FALSE 
    GROUP BY (Schicht.S9), (Schicht.Felder);
    

    bringt dir das was? Könnte das damit zusammenhängen, dass einige Felder in der Tabelle Schicht leer sind? also z.b. hier das Feld S9?



  • Er bemängelt, dass Du eine Funktion aufrufst, die ein Parameter braucht, Du aber sie ohne Paranmeter angibst. Das hat m.E. nichts mit COUNT() zu tun. Sind das alles Tabellen oder ist da eine Abfrage dabei, bei der eine fehlerhafte Funktion verwendet wird? Ist das richtig, dass Du nach Schicht.Felder gruppierst aber Schichten.Felder anzeigen willst ohne es in eine Gruppe aufzunehmen?



  • sry, das war ein abschreibfehler. es wird nach schichten.felder gruppiert.

    komischerweise habe ich das heute nochmal gestartet und es lief problemlos.

    danke für deine Hilfe, ich weiss jetzt zwar nicht, wieso das nicht funktioniert hat, aber immerhin funktioniert es jetzt. Es waren auch nur Tabellen in dem Ausdruck, also kanns nicht an einer Abfrage gelegen haben.


Anmelden zum Antworten