collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 68
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 5
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13804
  • stats Beiträge insgesamt: 63512
  • stats Themen insgesamt: 8606
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: beim Öffnen keinen Datensatz zeigen  (Gelesen 244 mal)

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 151
beim Öffnen keinen Datensatz zeigen
« am: November 04, 2017, 18:41:21 »
Ich habe ein HF, das auf einer Tabelle basiert und Datensätze zeigt. Außerdem gibt es ein UFO. Im HF befinden sich drei Listenfelder als Filter, die das UFO filtern.

Wenn ich das HF öffne, wird immer ein Datensatz angezeigt, den ich zuletzt offen hatte. Das UFO ist hingegen leer (so wie es sein soll) bis alle drei Listenfelder angewählt wurden.

Ich möchte jetzt einstellen, dass auch das HF keinen Datensatz zeigt, bis alle drei Listenfelder angewählt wurden. Wie kann man das einstellen?
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6940
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #1 am: November 04, 2017, 18:50:53 »
Hallo,
filtere die Abfrage für das Formular auf einen Wert den es nicht gibt.
Z.B. Im Ereignis "Beim Laden"
Me.Filter ="ID = 0"
Me.FilerOn=True
Wenn das 3.Listenfeld gefüllt ist entfernst Du den Filter.
Me.Filter =""
Me.FilerOn=False
Ggf. musst Du auch noch das Anfügen neuer Datensätze unterbinden, damit kein neuer Datensatz angezeigt wird.


Gruß
Klaus
 
Folgende Mitglieder bedankten sich: Carl

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 151
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #2 am: November 04, 2017, 21:19:31 »
Mit Me.Filter ="ID = 0"

Private Sub Form_Load()
Me.Filter = "ID = 0"
Me.FilterOn = True
End Sub

bleibt die ganze Seite total weiß und er schreibt irgendwo was ein, dass ich es nicht mehr rückgängig machen kann.

Carl
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 151
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #3 am: November 06, 2017, 14:38:32 »
Oder mal anders herum gefragt, wie kann ich in einer Abfrage bestimmte Zellenwerte in der [ID] ausschließen. Also wenn alle ID angezeigt werden sollen, nicht aber 38, 43 und 56.

 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23091
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #4 am: November 06, 2017, 14:59:12 »
Hallo,

Welchen Sinn ergibt das?


Me.Filter = "ID not In (38, 43, 56)"

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 151
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #5 am: November 06, 2017, 20:19:54 »
Danke.

Warum?

Ich habe in einem Formular, das eine "Hilfstabelle" editiert, einige Datensätze, die in diesem Formular nicht angezeigt werden sollen, weil sie nicht editiert werden dürfen, weil sie Schlüsselmerkmale in einer Statistik darstellen, während die anderen Datensätze keine Schlüsselmerkmale enthalten und vom Nutzer immer mal gelöscht und durch andere ersetzt werden sollen.

Ich mache das bei den anderen Hilfstabellen so, dass die Schlüsselmerkmale die niedrigen [ID]'s bekommen und dann lasse ich nach [ID]> 3 filtern, aber das habe ich bei der betreffenden Tabelle von Anfang an versäumt.

Carl
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 151
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #6 am: November 06, 2017, 21:23:31 »
filtere die Abfrage für das Formular auf einen Wert den es nicht gibt.
Z.B. Im Ereignis "Beim Laden"
Me.Filter ="ID = 0"
Me.FilerOn=True
Wenn das 3.Listenfeld gefüllt ist entfernst Du den Filter.
Me.Filter =""
Me.FilerOn=False
Ggf. musst Du auch noch das Anfügen neuer Datensätze unterbinden, damit kein neuer Datensatz angezeigt wird.

Nochmal eine Nachfrage: Mit dieser Lösung bleibt die Seite komplett weiß und kann in dieser Kopie der Datenbank von mir auch nicht mehr rückgänig gemacht werden.

Außerdem hebt der Befehl auch die anderen Filter auf.

Gibt es noch eine andere Lösung?
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6940
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #7 am: November 06, 2017, 21:33:54 »
Hallo,
wenn die Anzeige weiß bleibt so ist das normal, wenn keine neuen Datensätze angefügt werden können.
Wo kommen denn die anderen Filter her, der von mir gezeigte Vorschlag berücksichtigt natürlich keine schon vorhandenen Filter.
Außerdem solltest Du auch bei einem Formular ohne Daten (weiß) in den Entwurf wechseln können. Und außerdem kommst Du auch in den VBA Editor und kannst dort den Code deaktivieren.

Zitat
weil sie Schlüsselmerkmale in einer Statistik darstellen,
das würde ich dann doch ganz anders lösen. Spendiere den/der Tabelle(n) ein JaNein Feld "KeineAenderungenZulassen" und filtere die Datensätze die in diesem Feld ein Ja haben aus. Dann spielen die IDs keine Rolle mehr.
Außerdem kannst Du mit einem solchen JaNein Feld die Datensätze im Formular zwar anzeigen, aber automatisch für eine Bearbeitung sperren. Das wäre für mich viel einfacher.


« Letzte Änderung: November 06, 2017, 22:02:01 von MzKlMu »
Gruß
Klaus
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 151
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #8 am: November 07, 2017, 17:52:41 »
Das kann ich schon, aber wenn ich den VBA-Code hernach wieder auskommentiere oder lösche, bleibt beim nächsten Aufruf das komplette Formular weiß. Also eine weiße Fläche, mitsamt sämtlichen Elementen und den Unterformularen. Wahrscheinlich wird noch woanders als ur im VBA-Code irgendwas umgestellt.

Mir wäre es lieber, wenn ich wüsste, wieso das Formular im Betrieb immer den zuletzt editierten Datensatz zeigt und das abstellen. Er muss ja irgendwo speichern, welches dieser Datensatz war.

Den zweiten Vorschlag mit den Kästchen werde ich umsetzen.

Carl
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 151
Re: beim Öffnen keinen Datensatz zeigen
« Antwort #9 am: November 13, 2017, 19:59:12 »
Hallo,
filtere die Abfrage für das Formular auf einen Wert den es nicht gibt.
Z.B. Im Ereignis "Beim Laden"
Me.Filter ="ID = 0"
Me.FilerOn=True
Wenn das 3.Listenfeld gefüllt ist entfernst Du den Filter.
Me.Filter =""
Me.FilerOn=False
Ggf. musst Du auch noch das Anfügen neuer Datensätze unterbinden, damit kein neuer Datensatz angezeigt wird.

Ich hab's so hingekriegt.

Außerdem wollte ich nochmal Danke sagen für die vielen guten Tips hier und hab deshalb im Anhang ne Flasche Baileys angefügt.

Carl