PDA

Vollständige Version anzeigen : Abfrage nach n Datensätzen


hkmle
04.08.2001, 06:32
Hallo Zusammen,

In einem Formulat soll der Benutzer eintragen wieviele Datensätze er aus einer Tabelle löschen soll - wie muss ich dann die Abfrage gestalten? Die Datensätze in der abzufragenden Tabelle sind nach Datum sortiert und es sollen "n" älteste selektiert werden... geht sowas?

schöne Grüße
hkmle

Mad
04.08.2001, 08:46
Hallo hkmle (dein Name?)

ich schlage dir vor, dich nicht an die Anzahl der Datensätze zu halten, sondern an das Datum selbst z.B. mit einer Ereignisprozedur hinter einem Button "löschen" mit Eingabe des Datums:

Private Sub löschen_Click()

Dim Auswahl As Byte
Auswahl = MsgBox("Wollen Sie wirklich löschen ?", 292, "Löschen Datensätze")
If Auswahl = 6 Then
DoCmd.RunSQL "DELETE DISTINCTROW Tabellenname.Datumsfeld FROM Tabellenname WHERE (((Tabellenname.Datumsfeld)<=[Löschdatum?]))"
Exit Sub
End If

MsgBox ("Es wurde keine Löschung vorgenommen !")

End Sub

Gruß, Dietmar

hkmle
04.08.2001, 15:57
Hi Mad,

danke für den Tipp - leider gibt es aber jeweils mehrere DS mit dem gleichen Datum von denen nur ein Teil ausgewählt werden soll...

...und da hänge ich fest.

h.

Mad
04.08.2001, 19:56
Wenn da so ist, wäre vielleicht folgendes eine Lösung:

Dim Anzahl as integer
Anzahl = InputBox("Wieviele Datensätze wollen Sie löschen? ", "Löschen Datensätze")
for i = 1 to Anzahl
DoCmd.RunSQL "DELETE DISTINCTROW Tabellenname.* FROM Tabellenname"
next i

Ich hab´s nicht probiert, du müsstest natürlich die Datensätze nach Alter des Datums sortiert haben (Key) und vielleicht noch eine Abfrage über die Größe der eingegebenen Anzahl einbauen und vielleicht eine Frage "Wollen Sie wirklich löschen".

Gruß, Dietmar

hkmle
05.08.2001, 05:58
Hoi,

werde das gleich mal versuchen...
schönen Dank!
h.