dr.cornwallis
Goto Top

Variablen einbauen Access

Hallo zusammen,

Ich möchte in einer Abfrage eine Variable einbauen.
Jetzt habe ich ein Modul mit folgenden Code angelegt:

Option Compare Database

Global varJahrZahl As Variant
Global varMonatZahl As Variant
Global varTagZahl As Variant
Global varDatumWert As Variant
Global varVorDatumWert As Variant

Function holeWert(Art As Integer) As Variant


Select Case Art
    Case 1
        holeWert = varJahrZahl
    Case 2
        holeWert = varMonatZahl
    Case 3
        holeWert = varTagZahl
    Case 4
        holeWert = varDatumWert
    Case 5
        holeWert = varVorDatumWert
End Select
    
End Function

Der dazugehörige SQL Code meiner Abfrage sieht so aus:

SELECT Korridor_Daten.Periode, Korridor_Daten.Mitarbeiter, Korridor_Daten.PersNr, Rohdaten.Kostenstelle, Wochenstunden.Korridorstunden, Korridor_Daten.Anzahl
FROM (Rohdaten INNER JOIN Korridor_Daten ON Rohdaten.[OrgEinh#] = Korridor_Daten.OrgEinh) INNER JOIN Wochenstunden ON Korridor_Daten.PersNr = Wochenstunden.PersNummer
WHERE (((Korridor_Daten.Periode)>=DateSerial(CInt(holeWert(1)),CInt(holeWert(2)),1) And (Korridor_Daten.Periode)<=DateSerial(CInt(holeWert(1)),CInt(holeWert(2)+1),0)));

Aber irgendwie klappt das nicht so wie ich mir das vorstelle.. beim öffnen der Abfrage(mit einem Button) erhalte ich folgenden Fehler:
"Ungültiger Prozeduraufruf oder ungültiges Argument"

Mit dieser Abfrage sollen alle Datensätze mit dem aktuellen Monat ausgewählt werden.

Danke für eure Hilfe!


Gruß

Dr.

Content-Key: 305767

Url: https://administrator.de/contentid/305767

Printed on: April 26, 2024 at 19:04 o'clock

Member: SlainteMhath
Solution SlainteMhath May 31, 2016 at 10:44:28 (UTC)
Goto Top
Moin,

Hui, das is mal toller Code :P

3 Fragen dazu:
1. Für was brauchst du die Function HoleWert, wenn du sie im SQL eh immer mit festem Paramter aufrufst? Da wäre es doch sinnvoller direkt die Variablen zu verwenden.
2. Warum deklariest du alles als Variant, nur um dann alles von bzw nach Integer umzuwandeln?
3. Wie/Wo werden denn die Globals gefüllt?

lg,
Slainte
Member: Dr.Cornwallis
Dr.Cornwallis May 31, 2016 updated at 12:13:53 (UTC)
Goto Top
Hab den Code vom Internet kopiert, habe aber festgestellt dass dieser so in meiner DB nicht funktioniert, habs jetzt aber anders gelöst, in diesem Sinne:

Vielen Dank!