Veröffentlicht 23. März 200520 j Hi, ich versuche gerade, in Access einen Such-Dialog zu erstellen, der mir beim klicken des 'Ok'-Buttons die Kundennummer zurueck liefert und in ein Feld des Hauptforumares schreibt. Wie mach ich das am besten? Kann ja das Hauptformular mit dem Formularnamen in VBA ansprechen und das entsprechende Feld aendern, weiss aber nicht, ob das die guenstigste/beste variante ist ... danke schonmal
23. März 200520 j guden nochmal, problem hat sich ein wenig veraendert ... :/ wie erstell ich generell ein suchformular?? An liebsten ein formular mit liste und feldern zum eingeben .. je nach eingegeben werten veraendert sich die selektion in der liste ... das koennte ich mit filtern machen ... dann muesste ich aber fuer alle 5 suchkriterien ne aktualisierungsabfrage machen und dann die selektion in der liste erneuern ... geht das auch einfacherer? danke.
24. März 200520 j An liebsten ein formular mit liste und feldern zum eingeben .. je nach eingegeben werten veraendert sich die selektion in der liste ... das koennte ich mit filtern machen ... dann muesste ich aber fuer alle 5 suchkriterien ne aktualisierungsabfrage machen und dann die selektion in der liste erneuern ... geht das auch einfacherer? In dem Fall würde ich einfach die RowSource zur Laufzeit zuweisen und die SQL-Anweisung vorher in einem String zusammen basteln. Dim SQL as String SQL="Select * from Tabelle where 1=1 " if txtTextfeld1.Text<>"" then SQL=SQL & " AND Feld1='" & Textfeld1.Text & "' " if Combofeld1.Listindex<>-1 then SQL=SQL & " AND Feld2=" & Combofeld1.Value & " " [usw....] SQL=SQL+ "ORDER by Feld;" Listenfeld.RowSource=SQL [/PHP] Das 1=1 ist einfach drin, damit es keinen Fehler gibt, wenn noch kein Kriterium ausgewählt wurde. So werden, falls nichts ausgewählt wurde alle Datensätze zurückgegeben, da 1=1 immer True ist. Beim Kombinationsfeld ist der Listindex -1 falls nichts ausgewählt wurde. So kann da kein Fehler auftreten. Das ganze kannst du entweder als Code im Klick-Ereignis eines Buttons oder beim on_Change Ereignis der einzelnen Text / Kombinationsfelder unterbringen. Im 2. Fall würde ich das in eine eigene Procedure packen und diese dann jeweils aufrufen.
25. März 200520 j gibt es auch eine moeglichkeit, das ganze in Textfeldern zu machen? Hab ein textfeld mit der kundennummer, wenn diese geaendert wird, sollen die entsprechenden felder name, nachname etc. auf den in der db eingetragenen wert gesetzt werden ... mit rowsource geht das ja nicht ... bin verzweifelt. so long
25. März 200520 j Hab ein textfeld mit der kundennummer, wenn diese geaendert wird, sollen die entsprechenden felder name, nachname etc. auf den in der db eingetragenen wert gesetzt werden ... mit rowsource geht das ja nicht ... bin verzweifelt. Falls das ungebundene Textfelder sind kannst du die Werte mit DLookup auf der DB holen: Textfeld.Text=DLookup("Feldname","Tabellenname","Kundennr=" & txtKundennr.Text) Bei gebundenen Feldern müßtest du die Rowsource vom Formular ändern, wo bei ich persönlich die ungebundenen Felder bevorzuge.
26. März 200520 j Hi, dieses DLoopup, wo kommt das hin? Wenn ich es in txtKundennummer_Change() schreib, meint access, es kann die eigenschaft nicht aenern, weil das control den fokus net hat. danke
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.