Veröffentlicht 8. April 200223 j 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..... :-(
8. April 200223 j 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
8. April 200223 j 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
8. April 200223 j 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.
8. April 200223 j 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
8. April 200223 j 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.