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 in VBA

Begonnen von hajott, Juni 13, 2023, 19:01:59

⏪ vorheriges - nächstes ⏩

hajott

Hallo Wissende,

zunächst bitte sorry, falls meine Frage zu "simpel" ist. Ich bin in Sachen "Formulare" noch absoluter Anfänger.

ich habe in einer Datenbank eine Tabelle "tbl_Akten" mit den Feldern Referenz (alphanumerisch), Eingangsdatum, Ausgangsdatum, Bemerkungen. Dies will ich über ein Formular attraktiver zur Bearbeitung machen. Ich habe auch mithife der Assistenten geschafft, ein Kombinationsfeld anzulegen, in dem der Anwender die Referenz eingibt und die Daten dann in den zugehörigen Feldern anzeigt (das Formular ist mit der Tabelle verknüft)

In Zukunft will ich auch Schaltflächen für andere Zwecke einbauen, daher möchte ich alle Codes in VBA haben und nicht in dieser Access-Makro-Sprache. Ziel ist also, alle "eingebetteten Makros" auf "Ereignisprozedur" umzuwandeln. Es gibt ja sogar eine Schaltfläche dafür, aber da bekomme ich regelmäßig eine Fehlermeldung. Okay, alleine nachdenken ;-)

Die vier Schaltflächen (erster, voriger, nächster, letzter) habe ich mithilfe des Internets auch schon umstellen können. Nur bei dem Kombinationsfeld fehlt mir die Phantasie, wie ich das "AfterUpdate" befülle. Es müsste ja so eine Art "Select" sein, mit dem ausgedrückt wird, dass diese Datensätze alle in den zugehörigen Feldern landen sollen. Ich habe das gesamte Internet zu AfterUpdate durchgelesen, wahnsinnig viel gefunden, aber alles zu hoch für mich.

Zwei Schönheitsfragen habe ich noch:
- Wenn das Formular geöffnet wird, steht da der erste Datensatz. Kann man auch erreichen, dass da nichts steht, bis nicht über das Kombinationsfeld etwas ausgewählt wurde?
- Nachdem aber über das Kombifeld ausgewählt wurde, hätte ich gern, dass der Inhalt des Feldes gelöscht wird. Wie mache ich das am geschicktesten?

Vielen Dank im voraus!

Hans-Jürgen

DF6GL

Hallo,

wenn ich es richtig deute, willst Du mit Hilfe eines ungebundenen Kombifeldes  einen gewissen Kombilisten-Eintrag auswählen und danach die Daten filtern.


Erstelle also ein ungebundenes(!) Kombi ("cmbReferenz") mit folgenden Einstellungen:

Datensatzherkunft:  Select Referenz from tbl_Akten order by Referenz
gebundene Spalte: 1
Spaltenanzahl: 1
Spaltenbreiten: 3cm

und beim Ereignis "Nach Aktualisierung" den Code:

Sub cmbReferenz_AfterUpdate()

  Me.Filter = "Referenz = '" & Me!cmbReferenz & "'"
  Me.FilterOn =true


   ''''Nachdem aber über das Kombifeld ausgewählt wurde, hätte ich gern, dass der Inhalt des Feldes
      gelöscht wird.
  Me!cmbReferenz = Null

End sub

ZitatWenn das Formular geöffnet wird, steht da der erste Datensatz. Kann man auch erreichen, dass da nichts steht, bis nicht über das Kombinationsfeld etwas ausgewählt wurde?

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


Zitatja so eine Art "Select" sein, mit dem ausgedrückt wird, dass diese Datensätze alle in den zugehörigen Feldern landen sollen


Durch die Auswahl mit dem Kombi werden die Daten, die von der Formular-Abfrage/Tabelle geliefert werden, lediglich auf die passeneden Datensätze gefiltert (reduziert). Grundsätzlich werden die Daten in den gebundenen Felden angezeigt, das hat mit der Filterung und der Kombiauswahl direkt nichts zu tun.


hajott