PDA

Vollständige Version anzeigen : Kriterium aus einem Unterformular


matthias meier
29.08.2001, 15:25
mein problem ist folgendes: ich moechte ein formular oeffnen, hier soll aber ein bestimmter datensatz ausgewaehlt werden. dieser datensatz soll mittels eines kriteriums aus dem unterformular ausgewaehlt werden. mit dem hauptformular macht mir dies keine probleme, aber leider nicht mit dem unterformular.

:) :(

flori
29.08.2001, 17:01
Hallo!

Kannst du dich da ein wenig klarer ausdrücken? Ich habe das nicht so ganz verstanden.

Beim Öffnen des Formulars soll ein bestimmter Datensatz geöffnet werden. Das Kriterium kommt aus dem Unterformular. So weit habe ich es kapiert. Aber was klappt schon und was nicht? Das ist mir nicht so klar geworden!

matthias meier
30.08.2001, 09:04
also was ich schon realisiert habe ist, das aus einem formular ein anderes geoeffnet wird, in dem dann ein ganz bestimmter datensatz geoeffnet wird. dieser datensatz hat eine referenz zu einem feld im schon geoeffneten formular.

meine neue aufgabe ist jetzt im prinzip das gleiche zu machen, nur das die referenz oder das kriterium in einem unterformular eines formulars steckt.

flori
30.08.2001, 09:26
Hallo!

Also, hast du dein einen Button eingebaut, oder machst du es mit einem Doppelklick, oder wie rufst du das andere Formular auf?

Beim Aufrufen kannst du dann ein Kriterium erstellen. Access nimmt dir das sogar ab, wenn du einen Button einbaust und einfach den Assistenten benutzt. Der Button sollte im Unterformular sein, dann ist es einfacher, kann aber auch im Hauptformular sein.

matthias meier
30.08.2001, 10:06
stLinkCriteria = "[ManufacturerID]=" & Me![ManufacturerID],

so schaut das aus, das hatte ich auch schon, die frage ist jetzt nun, wie ich den button auf das hauptformular bekomme:

stLinkCriteria = "[ManufacturerID]=" & Me!forms![controllfeld].[unterformular]

funktioniert leider nicht ?!

flori
30.08.2001, 10:13
Ich glaube das ansprechen des Unterformulars ist nicht richtig! Muss ungefähr so aussehen:

Me![NameUFO].Form![Steuerelementname]

Probier es mal aus. Ansonsten meld dich halt nochmal!

matthias meier
30.08.2001, 10:42
DoCmd.OpenForm stDocName, , , stLinkCriteria = "[ManufacturerID]=" & Me![additional_devices_it subform].Form![ManufacturerID],


so sieht der quelltext jetzt aus. was passiert: er oeffnet zwar das neue formular mit den informationen ueber den hersteller, aber leider selektiert er nicht den zum im unterformular passenden datensatz.

weitere info:
in diesem unterformular befinden sich mehrere datensaetze, es muesste doch ausreichen, den entsprechenden datensatz durch anklicken auszuwaehlen ?! :(

matthias meier
30.08.2001, 11:17
hallo flori,

ich habe nun deinen ersten rat befolgt und habe das mit einem doppelklick im entsprechenden unterformular realisiert. funktioniert auch ganz gut.

wenn du aller dings noch einen weiteren einfall hast kannst du ihn mir gerne zeigen.

vielleicht gibt es auch die moeglichkeit ueber einen button das doppelclickereignis anzusteuern ?

matthias :) :(

flori
30.08.2001, 11:45
Ja, das geht auch!

Du kannst auf dem Klickereignis die Funktion vom Doppelklick aufrufen.

Du musst dafür nur den Namen der Funktion eingeben und die Klammern am Ende weglassen.
Beispiel

Private Sub button_click()
field_dplclick
End Sub

Private Sub field_dplclick()
...
End Sub

Probier es aus!

matthias meier
30.08.2001, 12:06
dafuer muss ich dann doch aber wieder einen hinweis auf das unterformular geben, weil im hauptformular auch ein controllfeld mit dem selben namen existiert. nur wie ? :(

flori
30.08.2001, 12:08
Feld umbennen?

Nee, fällt mir gerade ein, warum denn das?

Hast du bei dem Feld auch ein Doppelklickereignis?

flori
30.08.2001, 12:14
Ach warte, hatte gerade Knoten im Kopf!

Du musst das Ereignis vom Doppelklick als globale Funktion oder Makro schreiben. Dann kannst du auf mit dem Buttonklick darauf zu greifen!

Sorry, habe mich eben vertan, aber so mit vollem Magen kann man nicht gut denken.

matthias meier
30.08.2001, 14:56
Das ist die Loesung,

stLinkCriteria ="[vergleichsfeld]=" & Forms![hauptformular]![unterformular].Form![vergleichsfeld2]


PS: Flori,

warst ja ganz nah dran, hat mich auf jeden fall auf den richtigen weg gebracht,

cheers and bye

matthias