bozoo Geschrieben 8. April 2002 Geschrieben 8. April 2002 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..... :-(
Meenzer Geschrieben 8. April 2002 Geschrieben 8. April 2002 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
bozoo Geschrieben 8. April 2002 Autor Geschrieben 8. April 2002 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
Meenzer Geschrieben 8. April 2002 Geschrieben 8. April 2002 Hi! Sorry, dass muss so heissen: FORMS![HF]!UF.Form.RecordSource = SQL Gruss
bozoo Geschrieben 8. April 2002 Autor Geschrieben 8. April 2002 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.
Meenzer Geschrieben 8. April 2002 Geschrieben 8. April 2002 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
bozoo Geschrieben 8. April 2002 Autor Geschrieben 8. April 2002 Ich hatte das SQL-Statement ja aus einer funktionierenden Abfrage in mein Vb_Code kopiert......
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden