Pittiplatsch Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 Auf ein neues! Ich habe ein Formular mit 2 Dropdown-Feldern. In diesen werden erst der Nachname und dann der Vorname des gewünschten Mitarbeiters ausgewählt. Die meisten Mitarbeiter bei uns haben mehrere Vorgänge (Jahresverträge, MAE, ...). Meine Frage ist: Wie stelle ich es an, daß nach der Auswahl des Mitarbeiters ein Endlosformular erstellt und angezeigt wird, in welchem die einzelnen Daten angegeben sind? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 Wo ist nur meine Brille, ich kann die Frage gar nicht richtig lesen Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 was ist bei dir ein endlosforumlar? also ich kann damit nichts anfangen.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pittiplatsch Geschrieben 1. Juni 2005 Autor Teilen Geschrieben 1. Juni 2005 Hallo Goos, Die Größe sollte nur meinen Hilferuf verdeutlichen Hallo Maulwurf_der_Schlaue Endlosformular bezeichnet einfach nur ein Formular in Listenform, beidem alle benötigten Datensätze untereinander angezeigt werden, also nicht ein Datensatz = eine Seite Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 also ich würd mal so versuchen: ein formular erstellen mit einer drop-down list die die name der mitarbeiter enthält (tabellenhinhalt) und einen button oder so... wenn du den drückst fügst du einfach neue elemente hinzu und passt die länge/breite des forumlars an... also so /* pseudo code */ onButtonClick () name = getdata(sqlstring('select info1 from tabelle1 where ...') for each c in name mynameobj = createlabel() mynameobj.inhalt = c.value mynameobj.xpos = ... mynameobj.ypos = ... .... irgendwie so... oder du erstellst einen bericht ... wenn du nicht unbedingt ein endlosforumar brauchst... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pittiplatsch Geschrieben 1. Juni 2005 Autor Teilen Geschrieben 1. Juni 2005 Hab es jetzt anders versucht. Alserstes hab ich ein Endlosformular erstellt, in dem alle Datensätze enthalten sind. Dann hab ich über VBA folgenden Code verwendet Private Sub ma_vorname_AfterUpdate() Dim sqlstr As String Dim db As DAO.Database Dim liste As DAO.Recordset Set db = CurrentDb Set liste = db.OpenRecordset("SELECT Personalnummer FROM tbl_Personal WHERE Name='" & nachname & "' AND Vorname='" & ma_vorname & "'", dbOpenForwardOnly) Forms("Vorgangsdaten").Controls("ufrm_Vorgangsdaten.Personalnummer").Form.Filter = liste Forms("Vorgangsdaten").Controls("ufrm_Vorgangsdaten.Personalnummer").Form.FilterOn ufrm_Vorgangsdaten.Visible = True End Sub[/PHP] Aber genau hier hänge ich schon wieder. Ich bekomme die Meldung: Laufzeitfehler 2465 Microsoft Access kann das in Ihrem Ausdruck angesprochene Feld "ufrm_Vorgangsdaten.Personalnummer" nicht finden. Das Feld existiert aber !!!!!!!! Was ist nun schon wieder falsch ????? :mod: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 schau mal nach ob unter 1) rechtsklick dein feld 2) unter andere 3) bei name auch der wert ufrm_Vorgangsdaten.Personalnummer steht ich vermute mal frech da steht ein anderer ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reindeer Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 Voraussetzungen: eine Tabelle mit den Mitarbeitern drin, Schlüsselfeld heißt id (AutoWert). Ich hab nur ein Kombinationsfeld verwendet, in dem Name+Leerzeichen+Vorname aus der Tabelle Mitarbeiter angezeigt wird. Schlüsselspalte ist das Feld id der Tabelle Mitarbeiter. Wenn Du es mit zwei Kombinationsfeldern machen willst, musst Du beim ersten in der AfterUpdate-Funktion die Datenherkunft für das zweite ändern, das war mir jetzt auf die schnelle zu umständlich. Folgende Lösung: Beim Auswählen des Namens aus der Liste wird eine in einem extra Modul geparkte Funktion ausgeführt. Die Mitarbeiter-id wird als Parameter übergeben. Private Sub Kombinationsfeld1_AfterUpdate() form_auftraege_aktualisieren (Kombinationsfeld1) End Sub Die Funktion schließt das Formular und ruft es mit einem entsprechenden Kriterium neu auf. Das Formular zeigt Daten aus der Tabelle auftraege an, wobei die Tabelle auftraege über das Feld mitarbeiter mit dem Feld id der Tabelle mitarbeiter verknüpft ist. Public Sub form_auftraege_aktualisieren(form_auftraege_where) DoCmd.Close acForm, "auftraege", acSaveNo DoCmd.OpenForm "auftraege", , , "mitarbeiter=" & Trim(Str(form_auftraege_where)) End Sub Vielleicht geht's auch eleganter, aber es funktioniert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pittiplatsch Geschrieben 1. Juni 2005 Autor Teilen Geschrieben 1. Juni 2005 Das im Unterfromular (ufrm_Vorgangsdaten) angesprochene Steuerelement trägt den Namen Personalnummer. Selbst wenn ich jetzt schreibeForms("Vorgangsdaten").Controls("ufrm_Vorgangsdaten.Personalnummer").Form.Filter = liste Forms("Vorgangsdaten").Controls("ufrm_Vorgangsdaten.Personalnummer").Form.FilterO[/PHP] bringt mir das Programm die Fehlermeldung mit dem Fehlercode 2465. Also an der Namensvergabe liegt es nicht,wäre auch zu schön gewesen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 du gibts doch schon über forms das unterformular an oder? Forms("Vorgangsdaten").Controls("ufrm_Vorgangsdaten.Personalnummer").Form.Filter wäre es dann nicht so : Forms("Vorgangsdaten").Controls("Personalnummer").Form.Filter auch nur so ne idee... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pittiplatsch Geschrieben 1. Juni 2005 Autor Teilen Geschrieben 1. Juni 2005 Hi Reindeer, Wenn Du es mit zwei Kombinationsfeldern machen willst, musst Du beim ersten in der AfterUpdate-Funktion die Datenherkunft für das zweite ändern, das war mir jetzt auf die schnelle zu umständlich.Das läuft, soweit bin ich. Dein Beispiel werd ich mal ausprobieren Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pittiplatsch Geschrieben 1. Juni 2005 Autor Teilen Geschrieben 1. Juni 2005 Hi, Maulwurf_der_Schlaue wäre es dann nicht so : Forms("Vorgangsdaten").Controls("Personalnummer").Form.Filter So einfach ist das nicht. Mein Hauptformular heist Vorgangsdaten. Das darin enthaltene Unterformular heißt ufrm_vorgangsdaten. Die Dropdownfelder befinden sich im Hauptformular. Sobald Name und Vorname in diesen DropDownfeldern ausgewählt wurden, soll im Unterformular ein Filter angewendet werden, d.h. es sollen alle Vorgänge zu dieser einen Person selektiert und angezeigt werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 1. Juni 2005 Teilen Geschrieben 1. Juni 2005 hät ja sein können, leider hab ich kein access... so bin ich jetzt auch überfragt.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pittiplatsch Geschrieben 6. Juni 2005 Autor Teilen Geschrieben 6. Juni 2005 Hab es jetzt geklärt. Letzte Probs mit meiner aktuellsten Frage hier im Forum beantwortet. Beitrag: Laufzeitfehler '2001' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.