Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Kombinationsfeld steuert Schaltflächen

Begonnen von hajott, Juni 14, 2023, 09:53:22

⏪ vorheriges - nächstes ⏩

hajott

Hallo Wissende,

dank Franz habe ich jetzt folgendes AfterUpdate für mein Kombinationsfeld:

Sub cmbReferenz_AfterUpdate()
  Me.Filter = "Referenz = '" & Me!cmbReferenz & "'"
  Me.FilterOn =true
  Me!cmbReferenz = Null
End sub

Es ist allerdings so, dass dieser Filter in seltenen Fällen mehr als einen Datensatz trifft (weil einige Referenzen mehrfach auftauchen), dies soll dem Anwender auch galant mitgeteilt werden. Das ginge über die Navigationszeile, aber weil das so unscheinbar ist, habe ich die schon deaktiviert. Meine Idee ist, dass ich Schaltflächen für die Datensatznavigation einbaue (das ist schon fertig), die dann aber je nach Anzahl der Ergebnisse steuere: Enabled, wenn mehr als ein Datensatz da ist und disabled bei genau einem Datensatz.

Ich scheitere aber an dem If-Clause, den ich im AfterUpdate unterbringen muss. In der SQL-Denke müsste ich ja ein Count der Ergebnisse machen und mit 1 vergleichen. Wie mache ich das am besten?

Vielen Dank im voraus!

Hans-Jürgen

Beaker s.a.

Sub cmbReferenz_AfterUpdate()
  Me.Filter = "Referenz = '" & Me!cmbReferenz & "'"
  Me.FilterOn =true
  Me!cmbReferenz = Null
  If Me.Recordset.Count = 1 Then
     Mach Was
  Else
     Mach was Anderes
  End If
End sub
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

hajott

Danke! Da habe ich zu kompliziert gedacht.

hajott

...und eine kleine Korrektur, die ich mithilfe des Internets hinbekommen habe:

   If Me.Recordset.RecordCount = 1 Then


Beaker s.a.

Ja, stimmt, passiert mir öfter mal ohne Intellisense.
Hättest du auch verwenden können, dann braucht es dazu kein Internet ;-)
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)