Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Access-Makro

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe ein Haupt- und ein Unterfotmular.

Eine Combobox im Hauptformular soll die Werte des Unterformulars ändern.

Jetzt habe ich ein Makro (AktualisiereObjekt), das mir beim Wählen eines Wertes der Combo-Box das Unterformular dementesprechend ändern soll.

Wenn ich als zu aktualisierendes Objekt das Hauptformular wähle passiert nicht; beim Unterformular bringt er 'ne Fehlermeldung, dass das Unterformular nicht geöffnet sei.....

:-(

Hi!

Ich würde Dir vorschlagen , anstatt mit einem Marko per VBA das zu tun.

Bei der ComboBox gibt es ein Ereignis Nach Aktualisierung. Wenn Du einen Wert in der ComboBox ausgewählt hast, dann hole Dir per SQL die Daten, die Du in Deinem Unterformular haben willst.

--------------------------------------------

Public Sub Combobox_AfterUpdate()

DIM SQL AS STRING

'Daten fürs UF

SQL = "SELECT * FROM TABELLEN WHERE Combobox.WERT"

Forms![HF]![uF].RecordSource = SQL

'Aktualisieren , ist aber glaube ich nicht nötig

Forms![HF]![uF].REQUERY

End Sub

----------------------------------------------

Oder Du verknüpfst Dein HF mit dem UF über 2 Felder aus HF und UF.

Gruss

Ich hab' das mall ausprobiert aber an dieser Stelle:

Forms![frm_Kursnotenliste]![frm_KursnotenlisteSub].RecordSource = SQL

sagt er mir:

"Laufzeitfehler 438

Objekt unterstützt diese Eigenschaft oder Methode nicht"

:-(

Hier nochmal der ganze Code:

Private Sub ComboBox_Kurs_AfterUpdate()

Dim SQL As String

'Daten fürs UF

SQL = "SELECT tbl_Schueler.NoteFach1, tbl_Schueler.NoteFach2, tbl_Schueler.NoteFach3, tbl_Schueler.NoteFach4, tbl_Schueler.NoteFach5, tbl_Schueler.NoteFach6, tbl_Schueler.NoteFach7, tbl_Schueler.NoteFach8, tbl_Schueler.NoteFach9, tbl_Schueler.NoteFach10, tbl_Schueler.Lehrgang_Kurs, tbl_kurse.Kuerzel FROM tbl_kurse INNER JOIN tbl_Schueler ON tbl_kurse.Kuerzel = tbl_Schueler.Lehrgang_Kurs WHERE (((tbl_Schueler.Lehrgang_Kurs)=[Formulare]![frm_Kursnotenliste]![Kurs]));"

'[tbl_Schueler].[Nachname] & ", \" & [tbl_Schueler].[Vorname] AS Name,

Forms![frm_Kursnotenliste]![frm_KursnotenlisteSub].RecordSource = SQL

'Aktualisieren , ist aber glaube ich nicht nötig

Forms![frm_Kursnotenliste]![frm_KursnotenlisteSub].Requery

End Sub

Hi!

Sorry, dass muss so heissen:

FORMS![HF]!UF.Form.RecordSource = SQL

Gruss

Hi,

Danke! Ich bekomme jetzt keine Fehlermeldung mehr. Allerdings wird das Unterformular nicht mit den Werten gefüllt.

Ich hatte ja diese Abfrage, (die funktioniert!) einfach so in den VB-Code kopiert (siehe oben im Thread)....

Ist das nicht richtig?

Was meinst Du mit ComboBox. --->WERT<-----

in deinem Bsp.?

Muss ich für "WERT" erst noch eine Variable deklarieren, der ich dann den Wert der ComboBox zuweise?

Gruss Volker.

HI!

Kopiere mal das SQL in eine leere Abfrage und schau mal nach, ob er Dir Deine gewünschten Daten liefert.

Vielleicht ist auch das WHERE-Statement falsch. Ich würde auf jeden Fall noch die Spalte ( Column ) angeben, wo Dein Vergleichswert steht.

....WHERE SCHULER.KURS = " & Me.DEINECOMBOBOX.COLUMN(SPALTE)

Gruss

Ich hatte das SQL-Statement ja aus einer funktionierenden Abfrage in mein Vb_Code kopiert......

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.