PDA

Vollständige Version anzeigen : Filter als Abfrage


Neo
03.05.2001, 16:30
Hallo!

Ich hab folgendes Problem: Ich will in einem Formular ein Eingabekästchen einbauen (Datum) und dann da ein best. Datum eingeben, so dass Access mit dann das Ergebnis in einer anderen bereits vorhandenen Tabelle anfügt. Ich weiss, dass es eine Abfrage Methode gibt, die so etwas macht, es klappt auch wunderbar. Nur, wie kriegt ich das so hin, dass ich einfach in einem Formular ein Datum eingebe und Access mir dann die Daten an die bereits bestehende Tabelle anfügt? Weiss echt nicht mehr weiter, kann mir jemand helfen?

Danke im Voraus!

Gruss
Arthur

Kurt aus Kienitz
03.05.2001, 16:43
Hallo Arthur,

Das ist ein wenig kompliziert zu erklären.
Wenn Du mir deine E-Mail-Adresse verrätst, schicke ich Dir eine Beispiel-DB.

Kurt aus Kienitz
07.05.2001, 07:22
Hallo nochmal,

Ich habe im Forum "Pro und Contra MS-Office-Forum" gelesen, daß einige Leute es nicht gut finden, wenn man Beispiel-DB's verschickt/anbietet anstatt im Forum zu erklären wie die mögliche Lösung aussieht.

Dem kann ich zum Teil folgen und beschreibe nachfolgend meinen Lösungsvorschlag für Arthurs Problem.

Ausgang sind zwei Tabellen, die so aussehen:
Tabelle: ZuKopierendeDaten
+ LfdNr, Autowert
+ TextFeld, Text(50)
+ NumFeld, Long
+ DatFeld, Datum/Uhrzeit, Format tt.mm.jjjj

Tabelle: Zieltabelle
+ LfdNr, Autowert
+ TextFeld, Text(50)
+ NumFeld, Long

Zu tun ist dann:

1. Formular erstellen (Name z.B. DatenUebernehmen)
+ Textfeld (Format = tt.mm.jjjj, Name z.B. dfDatum) für die Eingabe des Datums.
+ Button für die Ausführung der Anfügeabfrage
Die Ereignisprozedur Beim Klick des Buttons ist wiefolgt implementiert:

Private Sub PbDoAbfrage_Click()
On Error GoTo Err_PbDoAbfrage_Click

Dim stDocName As String

stDocName = "AbfDatenUebernehmen"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_PbDoAbfrage_Click:
Exit Sub

Err_PbDoAbfrage_Click:
MsgBox Err.Description
Resume Exit_PbDoAbfrage_Click

End Sub


2. Anfügeabfrage erstellen (Name=AbfDatenUebernehmen)
Die SQL-Ansicht sieht so aus:

INSERT INTO Zieltabelle ( LfdNr, TextFeld, NumFeld )
SELECT ZuKopierendeDaten.LfdNr, ZuKopierendeDaten.TextFeld, ZuKopierendeDaten.NumFeld
FROM ZuKopierendeDaten
WHERE (((ZuKopierendeDaten.DatFeld)<=[Forms]![DatenUebernehmen].[dfDatum]));


Fertig...