PDA

Vollständige Version anzeigen : XP - SQL Abfrage nach bestimmten Kriterien


robbi3000
23.03.2004, 08:48
Hallo zusammen,

ich habe mal wieder ein Problem.
Ich möchte anhand von 3 Kriterien eine Auswahlabfrage starten.
Ich habe folgende Tabelle:

1.klickTel_Export


In einem Formular gebe ich zwei Werte ein (AnfBuchstabe und Menge).
Bei AnfBuchstabe trage ich den Anfangsbuchstaben ein und bei Menge
die Anzahl der Ergebnisse die er zeigen soll.

Also z.B. G und 100 bedeutet er soll bei G anfangen und die nächsten
darauf folgenden 100 mit G anzeigen.

Gleichfalls gibt es in der Tabelle das Feld "DatumWerbung", dies soll bei
der Ergebniss Auflistung ebenfalls berücksichtigt werden. Soll heißen, er
soll nur diejenigen DS anzeigen deren eingetragendes Datum älter als 1
Jahr vom aktuellen Datum ist.

Bisher habe ich folgenden (wahrscheinlich völlig blödsinnigen) Code:



SELECT klickTel_Export.Titel, klickTel_Export.NachName,
klickTel_Export.PLZ, klickTel_Export.Ort, klickTel_Export.ID,
klickTel_Export.DatumWerbung
FROM klickTel_Export
WHERE NachName Like AnfBuchstabe+"*" And Count+Menge;



Nach der Anzeige der Suchergebnisse möchte ich dann eine Aktualisierungsabfrage starten, die das Datumsfeld (DatumWerbung) mit dem aktuellen Datum ersetzen.

Wer kann mir helfen.

piano
23.03.2004, 09:45
Hallo
Ein Muster zu der Abfrage (SQL):
SELECT TOP 20 Tabelle2.Nr, Tabelle2.Gruppe, Tabelle2.Text, Tabelle2.Wert, Tabelle2.Datum, DateDiff("d",[Datum],Date()) AS ddif
FROM Tabelle2
WHERE (((Tabelle2.Text) Like [Anf] & "*") AND ((DateDiff("d",[Datum],Date()))>365));

Die Anzahl der TOP kann leider über Parameter nicht eingegeben werden.
VBA-Code zum Erstellen:
Abfrage = "SELECT TOP " & Anzahl & " Tabelle2.Nr, Tabelle2.Gruppe, Tabelle2.Text, Tabelle2.Wert, Tabelle2.Datum, DateDiff("d",[Datum],Date()) AS ddif
FROM Tabelle2
WHERE (((Tabelle2.Text) Like [Anf] & "*") AND ((DateDiff("d",[Datum],Date()))>365));"

robbi3000
23.03.2004, 10:21
Hallo Piano,

wo und wie muß ich denn den VBA Code einfügen ??

milko
23.03.2004, 11:21
Ein Button im Formular zum starten und dort wird der Code hinterlegt.

piano
23.03.2004, 13:29
Hallo robbi3000
Wenn Du noch Erläuterungen brauchst:
zum 1. Code
Erstelle eine neue Abfrage, gehe in die Ansicht SQL und füge den Code mit Strg+V ein. nach Adaptierung Entwurfsansicht bzw. Datenblattansicht.
Nach dem Speichern hast Du eine fertige Abfrage, nur wie gesagt - die Anzahl Sätze kann nicht parametriert werden! Aufruf mit Button "Abfrage ausführen".
zum 2. Code:
In Deinem Formular hast Du die Eingabefelder mit dem Du den SQL-String aufbaust. Wie der Aufruf lautet, findest Du in etlichen Links, z.B.:
http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=83759&highlight=query+vba