Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: pampel am März 13, 2017, 08:11:52

Titel: DS erst anzeigen, wenn Suchbegriff eingegeben wurde
Beitrag von: pampel am März 13, 2017, 08:11:52
Hallo zusammen,

ein Formular hat eine Abfrage als Datenquelle. Wenn dieses Formular geöffnet wird erscheinen alle DS. Wird ein Suchbegriff in ein Formularfeld eingegeben, werden nur die DS angezeigt, die dem Suchbegriff entsprechen.

Ich möchte nun, dass beim Öffnen des Formulars kein DS angezeigt wird sondern erst dann, wenn eine Suche gestartet wird. Wie bekomme ich es hin, dass am Anfang keine Daten angezeigt werden?

Außerdem wird am Ende der Trefferliste immer ein leerer DS angezeigt, man sieht nur die Bezeichnungsfelder aber keine Daten. Kann man das auch irgendwie verhindern, dass am Ende ein leerer DS steht?

Danke für Hinweise.


Gruß,

Stefan
Titel: Re: DS erst anzeigen, wenn Suchbegriff eingegeben wurde
Beitrag von: DF6GL am März 13, 2017, 08:39:40
Hallo,

wie wird denn genau gefiltert?

1) mittels Zuweisung eines Kriteriums an die Filter-Eigenschaft des Forms?
2) mittels Zuweisung eines SQL-Statements an die Recordsource-Eigenschaft des Forms?


Bei 1):

Sub Form_Load()
Me.Filter = "1=2"
Me.FilterOn = True
End Sub


Bei 2)

Eigenschaft Recordsource:  Select * from tblTabelle Where 1=2




Die Anzeige eines neuen DS kann verhindert werden, indem die "Daten"-Eigenschaft  "Anfügen zulassen" auf nein gesetzt wird.
Titel: Re: DS erst anzeigen, wenn Suchbegriff eingegeben wurde
Beitrag von: pampel am März 13, 2017, 09:10:21
Hallo Franz,

es war 1) und Deine Codes klappen super. Auf die Idee mit 1=2 muss man auch erst mal kommen.


Gruß,

Stefan
Titel: Re: DS erst anzeigen, wenn Suchbegriff eingegeben wurde
Beitrag von: MaggieMay am März 14, 2017, 01:07:26
Hi,

Zitat von: pampel am März 13, 2017, 09:10:21
Auf die Idee mit 1=2 muss man auch erst mal kommen.

es funktioniert auch ganz einfach mit
Where False
was u.U. leichter verständlich ist. In jedem Fall geht es aber um einen logischen Ausdruck.