PDA

Vollständige Version anzeigen : In einem Formular verschiedene Kriterien suchen und in anderem Form. anzeigen lassen.


Dyx
09.07.2001, 13:49
Hallo!

Ich habe folgendes Problem:
Ich möchte in meiner DB nach verschiedenen Kriterien in verschiedenen Feldern suchen. Dabei gehört jedem Feld bestimmtes Kriterium.

Es soll folgendermaßen funktionieren:
Nach Eingabe der Suchkriterien mit "ENTER" schließen.(Formular soll also keine Schaltfläche wie "Suchen" beinhalten)
Danach das aktuelle Formular (z.B. Form1)geschlossen werden und Suchergebnisse in einem anderen Formular(z.B. Form2) angezeigt werden sollen.
Dabei schließt in sich "Form2"(schon erstellt und funktioniert) alle gesamte Daten, die entweder anschauen oder ausdrucken kann.
also, wie kann ich die Suchergebnisse vom "Form1" im "Form2" anzeigen lassen?

Kann mir jemand eine Hilfestellung geben?

Mit bestem Dank im Voraus

Guido
09.07.2001, 16:49
Hallo,
im Suchfeld auf Ereignis "Taste ab" reagieren. Wenn Keycode = 13 dann hat Benutzer Enter gedrückt.
Form2 laden und Form1 schließen.
Evtl. kannst du in der Abfrage für Form2 auf Form1 verweisen.

Guido

Dyx
09.07.2001, 21:47
Hallo Guido!

Ich danke Dir für deinen Vorschlag.
Ich versuche gleich die Lösung zu kriegen.

Ich habe aber dazu noch eine Frage, ob das Formular "Form1" dieselbe Beziehung zur Tabelle bzw. zur Abfrage haben soll, die das "Form2" hat?

Dyx
10.07.2001, 13:31
Hallo Guido!

Ich habe versucht deinen Vorschlag mit VBA-Code realisieren, da bei mir mit Makros nicht geklappt hat.
Einige Sachen funktionieren schon. Es springt schon ein Mal frei aus einem Formular ins andere Formular. Aber die Suchfunktion reagiert nicht und im Suchfeld reagiert man auf beliebigen Tastendruck (ich kann sogar kein Kriterium rein schreiben) und springt sofort aus „Form1“ ins „Form2“.

Kannst Du mir da weiter helfen
oder irgendjemand kann mir weitere Hilfestellung geben?

Egal, ob mit Makros oder VBA-Code.

Bitte um Eure Hilfe!!!!!!!!!!!

hohmi
10.07.2001, 16:27
hallo dyx,

klappt warscheinlich deshalb nicht weil du das form1 zu früh schliessen lässt,

mach es so dass nach enter --- form2 sich öffnet , in das openereigniss des form2 legst du deine filter rein (falls dir dafür was fehlt muss du noch ma schrei)die kriterien kannst von form1 ablesen lassen , da es ja noch offen ist , nach dem filtercode kannst du form1 schliessen lassen

Dyx
10.07.2001, 16:47
Hallo hohmi!

Ich danke dir. Das ist eine Idee.

Kannst du mir aber mit CODE oder Makros als Beispiel zeigen?

Ich versuche schon 3.Tag die Lösung zu finden, stimmt immer aber was nicht.

Ich weis nicht mehr, womit soll ich anfangen...

Es ist sehr wichtig für mich diese Lösung zu finden. Aber im Kopf ist alles schon durcheinander.

Bitte,Bitte!!!!!!!!

hohmi
10.07.2001, 17:22
ganz cool,

erste lösung klappt nur wenn in form2
die daten per unterform angezeigt werden:
- das unterform in den Detailbereich legen
- im kopf plaziest du die felder die kriterien aufnehem sollen sichtbar eigenschaft auf nein setzen
wenn sie nicht zu sehen sein sollen

-schreib jetzt folg anweisung in form1(nachaktualisierenereigniss)

Private Sub firstkrit_BeforeUpdate(Cancel As Integer)
docmd.openform"form2"
End Sub

-dann für in öffnenereign für form2 diesen code

Private Sub Form2_Open(Cancel As Integer)

Me.namesteuerelemnt2.value = Forms!Form1!steuerelemnt.value
dito für steuer2 usw

docmd.Requery"unterformular"


End Sub

- binde das unterform an eine abfrage
- in krieterienfelder musst du folgendes reinschr
Wie Formulare![Namehauptform]![namesteuerelement]&"*"
-achte darauf dass diese zeile dort in der abfrage splate steht die du auch mit dem entsprechendem krieterium des steuerelemntes duchsuchen willst

zweite version kommt erst morgen muss jetzt weg wird aber komlexersein

Dyx
10.07.2001, 20:05
Super Danke hohmi für deine Mühe!

Im "Form2" habe ich bereits ein Unterformular gehabt. Jetzt brauche ich bloß deine anweisung folgen. Versuche es sofort.

Ich teile dir Bescheid.

Erst Mal Danke seeeeeeehr.....

Dyx
11.07.2001, 15:41
Hallo!

Hilfeeeeeeeeeee.......

Immer wieder klappt bei mir nicht. :(
Etwas fehlt in der Code.

Trotzdem dankbar, besonders hohmi, für jeden Rat.
Dyx

Dyx
12.07.2001, 17:37
Hallo,

Es kommt folgende Fehlermeldung:

wenn ich "Form2" aufrufe
-------------------------
Laufzeitfehler '2450'. MS Access kann das Formular "Form1" nicht finden, aus das in einem Makroausdruck oder in einer VB-Programmzeile verweisen wird.

wenn ich "Form1" aufrufe
-------------------------
Laufzeitfehler '2465'. MS Access kann das in Ihrem ausdruck angesprochenes Feld 'namesteuerelement' nicht finden.

Problema... :(