PDA

Vollständige Version anzeigen : Suche übernehmen?


auchegal
27.10.2003, 12:54
Hi, ich hab ein kundenformular (wo man kunden ändern und neue anlegen kann) und auf dem ein unterformular (Kundensuche) wo man mit mehreren kombifeldern kunden suchen kann. wenn ich jetzt nen kunden gesucht hab, möchte ich das ich den in mein kundenformular übernehm und verändern kann, wie mach ich das? (am besten mit nem übernehmenbutton oder so)

Kevin
27.10.2003, 12:58
Denke mal am simpelsten wäre es, wenn du in dem HF eine Public Sub hast.
Wenn du den "übernehmen" Button klickst, kannst Du dann die Sub im HF ausführen (und den Wert übergeben), damit hast Du den Wert im HF und kannst auch gleich durch die Sub wenn gewünscht darauf regieren.

Gruß Kevin

auchegal
27.10.2003, 13:07
geht das auch auf deutsch? sorry, bin totaler noob
ich wüsste auch nicht was ich in die sub schreiben sollte.

Kevin
27.10.2003, 13:16
Sorry.

Also im HF (Hauptformular) hast Du eine Public Sub z.B.:
[oder auch Property Get / Set aber egal]

Public Sub GetPerson (lngID as long)
[DeinFeldMitUser] = lngID
End Sub


Irgendwo in Deinem UF (Unterformular) hast Du dann das Filterergebnis
mit den Button "übernehmen"
Da machst Du dann beim Klick ereignis rein

Call Forms("[DeinHF]").GetPerson ([derwert])


Gruß Kevin

racoon0506
27.10.2003, 13:19
wo befindet sich der Übernehmen-Button? (Im HF oder UF...)
Button im HF evtl. so:
im Button-Ereignis "Beim Klicken" folgenden Code einfügen....

Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[ID] = " & Str(Me!UF-Steuerelement.Form![ID])
Me.Bookmark = rs.Bookmark

gehe hier davon aus, dass sowohl im HF als auch im UF ein ID-Feld existiert, in dem der Primärschlüssel des gesuchten DS steht!

auchegal
27.10.2003, 13:48
das funktioniert nich
Im UF soll der übernehmenbutten sein @racoon0506
@ Kevin: was ist denn MeinWert? oder die IngID? und was ist mein USER?
also, meine kunden haben ne eindeutige Kundennummer, falls das mein wert ist oder wie soll ich das verstehen?

racoon0506
27.10.2003, 13:49
vom UF aus kannst du die Parent-Funktion verwenden....

Set rs = Me.Recordset.Clone
rs.FindFirst "[ID] = " & Str(Me![ID])
Me.Parent.Bookmark = rs.Bookmark

Kevin
27.10.2003, 13:52
Genau diese Kundennummer.
Man sollte sie nur zwischenspeichern.

Also [derWert] ist Deine Kundennummer und wenn es an die Public Sub übergeben wird ist es dann lngID, da die Übergabe als lngID deklariert wurde vom Typ Long. Falls es kein reiner Zahlenwert ist musst Du es entsprechend auf String abändern.

DeinFeldMitUser ist soll das Feld darstellen wo der Wert ins HF gesetzt wird. z.B. Dein Kombifeld

auchegal
27.10.2003, 14:30
also, bei racoon kommt: variable rs nicht definiert und bei Kevin irgend ein laufzeitfehler
was mach ich denn jetzt?

racoon0506
27.10.2003, 14:34
vorweg ein
Dim rs As Object
(siehe mein erstes Posting!)

auchegal
27.10.2003, 14:47
Dann kommt: kein zulässiges lesezeichen und das wird gedebugt Me.Parent.Bookmark = rs.Bookmark

racoon0506
27.10.2003, 14:51
ist das UF rein zum suchen, oder können dort auch neue DS angelegt werden? (im zweiten Fall bekomme ich den gleichen Fehler, da wird wohl ein Requery nötig sein! Bei vorhandenen DS geht das jedoch......)

auchegal
27.10.2003, 14:56
nein, da kann man keine neuen datensätze machen oder ändern und es funktioniert trotzdem nicht, warum nich? und was ist ein Requery?

racoon0506
27.10.2003, 14:59
....(?) änder mal die Zeile
Set rs = Me.Recordset.Clone
in
Set rs = Me.Parent.Recordset.Clone
wenn dann immer noch der Fehler auftaucht, dann bleibt nur noch direkt vor diese Zeile ein
Me.Parent.Requery
zu setzen.....(danach tritt bei mir der Fehler definitiv nicht mehr auf!)

auchegal
27.10.2003, 15:05
ok, jetzt funktionierts, vielen dank

auchegal
30.10.2003, 15:36
was hab ich falsch gemacht, wenn ein Laufzeitfehler kommt in dem steht: Datentypen in Kriterienausdruck unverträglich ??????