Manuelle Eingabe bei MS Query
Hallo Forum,
ich habe jetzt eine Weile rum gegoogled aber nicht so recht eine Lösung gefunden.
Ich würde gerne im MS Query eine Eingabeaufforderung bewerkstelligen, sodass ich beim Aufruf des Query unter Excel einen Wert übergeben kann - z.B.:
Das Query gibt mir alle Projektnummern mit Arbeitszeit raus - mit dem Wert könnte ich nur die Zeit eines bestimmten Projektes anzeigen lassen.
Geht so etwas?
Oder gibt es eine andere Möglichkeit - z.B. über ein Makro - aber wie kann ich über das Makro eine ODBC-Abfrage starten?
Vielen Dank für Eure Hilfe
Gruß Markus
ich habe jetzt eine Weile rum gegoogled aber nicht so recht eine Lösung gefunden.
Ich würde gerne im MS Query eine Eingabeaufforderung bewerkstelligen, sodass ich beim Aufruf des Query unter Excel einen Wert übergeben kann - z.B.:
Das Query gibt mir alle Projektnummern mit Arbeitszeit raus - mit dem Wert könnte ich nur die Zeit eines bestimmten Projektes anzeigen lassen.
Geht so etwas?
Oder gibt es eine andere Möglichkeit - z.B. über ein Makro - aber wie kann ich über das Makro eine ODBC-Abfrage starten?
Vielen Dank für Eure Hilfe
Gruß Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 85097
Url: https://administrator.de/contentid/85097
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
6 Kommentare
Neuester Kommentar
Ich erlaube mir dann mal diese Beitragsleiche wiederzubeleben.
Soweit wie der Ersteller bin ich auch gekommen. Allerdings suche ich nun noch nach einer Möglichkeit, dass die Paramaeterabfrage von MSQuery auch die Eingabe eines "*" oder ähnlichem zur Auswahl ALLER Datensätze aktzeptiert, also dass der abgefragte Wert nur optional ist.
Vielleicht lässt sich auch irgendwie ein default Wert in die Abfrage integrieren.
Gruß
Soweit wie der Ersteller bin ich auch gekommen. Allerdings suche ich nun noch nach einer Möglichkeit, dass die Paramaeterabfrage von MSQuery auch die Eingabe eines "*" oder ähnlichem zur Auswahl ALLER Datensätze aktzeptiert, also dass der abgefragte Wert nur optional ist.
Vielleicht lässt sich auch irgendwie ein default Wert in die Abfrage integrieren.
Gruß
Moin Acsi White,
na, ob es wirklich nötig war, diesen Uralt-Beitrag wachzuküssen für deine Nachklapp-Frage... ?
Zur Frage:
Ich habe zwar seit mindestens 6 Jahren keine Sekunde darüber nachgedacht, ob es dieses "MS Query"-Dingens noch geben könnte außerhalb von Flohmärkten und Garagenverkäufen, aber selbst wenn es noch irgendwo rumgeistert: Da ist doch eh nur Dünnbrett-SQL drin.
Also kann die Syntax doch nicht spürbar hinausgehen über ein:
-oder-
--- wenn [param1] dein übergebener Parameter (hier angenommen als String) ist.
Grüße
Biber
na, ob es wirklich nötig war, diesen Uralt-Beitrag wachzuküssen für deine Nachklapp-Frage... ?
Zur Frage:
Ich habe zwar seit mindestens 6 Jahren keine Sekunde darüber nachgedacht, ob es dieses "MS Query"-Dingens noch geben könnte außerhalb von Flohmärkten und Garagenverkäufen, aber selbst wenn es noch irgendwo rumgeistert: Da ist doch eh nur Dünnbrett-SQL drin.
Also kann die Syntax doch nicht spürbar hinausgehen über ein:
Select * from DeineTabelle
where [param1] ="*" or DeinFeld like "*" & [param1]&"*";
Select * from DeineTabelle
where [param1] ="*" or DeinFeld = [param1];
--- wenn [param1] dein übergebener Parameter (hier angenommen als String) ist.
Grüße
Biber
also ich hab bisher das hier zusammen
SELECT Terminalereignis_ZT.Zeit, Terminalereignis_ZT.DeviceID, Terminal_ZT.Description, Terminal_ZT.TGroup, Terminalgruppen_ZT.Bezeichnung, Terminalereignis_ZT.TerminalereignistypID, Terminalereignistyp_ZT.Bezeichnung, Terminalereignis_ZT.ErfassungstypID, Arbeitnehmer.Vorname, Arbeitnehmer.Name, Terminalereignis_ZT.Kennung, Terminalereignis_ZT.geaendertam, Terminalereignis_ZT.geaendertvon
FROM Firma_PZW.dbo.Arbeitnehmer Arbeitnehmer, Firma_PZW.dbo.Terminal_ZT Terminal_ZT, Firma_PZW.dbo.Terminalereignis_ZT Terminalereignis_ZT, Firma_PZW.dbo.Terminalereignistyp_ZT Terminalereignistyp_ZT, Firma_PZW.dbo.Terminalgruppen_ZT Terminalgruppen_ZT
WHERE Terminalereignistyp_ZT.TerminalereignistypID = Terminalereignis_ZT.TerminalereignistypID AND Terminalereignis_ZT.ANNr = Arbeitnehmer.ANNr AND Terminalereignis_ZT.DeviceID = Terminal_ZT.DeviceID AND Terminal_ZT.TGroup = Terminalgruppen_ZT.TGroupID AND ((Terminal_ZT.TGroup=?) AND (Arbeitnehmer.ANNr=?))
ORDER BY Terminalereignis_ZT.Zeit
Bei der Ausführung werde ich nach der Terminalgruppe und der Arbeitnehmernummer gefragt. Nun möchte ich aber zb. auch einfach die Mitarbeiternummer überspringen können.
Gruss
SELECT Terminalereignis_ZT.Zeit, Terminalereignis_ZT.DeviceID, Terminal_ZT.Description, Terminal_ZT.TGroup, Terminalgruppen_ZT.Bezeichnung, Terminalereignis_ZT.TerminalereignistypID, Terminalereignistyp_ZT.Bezeichnung, Terminalereignis_ZT.ErfassungstypID, Arbeitnehmer.Vorname, Arbeitnehmer.Name, Terminalereignis_ZT.Kennung, Terminalereignis_ZT.geaendertam, Terminalereignis_ZT.geaendertvon
FROM Firma_PZW.dbo.Arbeitnehmer Arbeitnehmer, Firma_PZW.dbo.Terminal_ZT Terminal_ZT, Firma_PZW.dbo.Terminalereignis_ZT Terminalereignis_ZT, Firma_PZW.dbo.Terminalereignistyp_ZT Terminalereignistyp_ZT, Firma_PZW.dbo.Terminalgruppen_ZT Terminalgruppen_ZT
WHERE Terminalereignistyp_ZT.TerminalereignistypID = Terminalereignis_ZT.TerminalereignistypID AND Terminalereignis_ZT.ANNr = Arbeitnehmer.ANNr AND Terminalereignis_ZT.DeviceID = Terminal_ZT.DeviceID AND Terminal_ZT.TGroup = Terminalgruppen_ZT.TGroupID AND ((Terminal_ZT.TGroup=?) AND (Arbeitnehmer.ANNr=?))
ORDER BY Terminalereignis_ZT.Zeit
Bei der Ausführung werde ich nach der Terminalgruppe und der Arbeitnehmernummer gefragt. Nun möchte ich aber zb. auch einfach die Mitarbeiternummer überspringen können.
Gruss