# Parameter aus einem Textfeld an eine Abfrage weitergeben



## SpeedyFighter1 (23. Januar 2008)

Huhu,

ich habe in einem Forumlar ein Textfeld in das ein user einen "Suchbegriff" eingeben soll und dieser eingegebene Wert soll dann in eine Abfrage zum Auswählen zutreffender Datensätze.
Nur leider bekomme ich es nicht hin, dass dieser Wert übergeben wird und hab auch keine weiteren Vorstellungen wie es gehen sollte.

Schon mal Danke im Voraus!

mfg SpeedyFighter1


----------



## Philipp9494 (23. Januar 2008)

hallo.

wäre (für dich) toll wenn du sagst welcher Datensatz, was du schon hast, etc..

mfg

Philipp9494


----------



## SpeedyFighter1 (23. Januar 2008)

Ich hab ein Formular auf dem liegt momentan nur ein Textfeld ("e_Rezept") wo der user dann den Rezeptnamen bzw. einen Teil dessen eingeben soll.
Wenn er auf einen Button letztlich drückt, bzw. direkt bei der Eingabe, sollen dann mittels einer Abfrage alle Rezepte, auf die die Eingabe zutrifft, in einem Unterformular aufgelistet werden.
So war die Absicht, nur scheiterts leider dran, den in "e_Rezept" eingegebenen Wert an die Abfrage weiterzugeben, damit diese dann die Auswahl erstellt.

mfg SpeedyFighter1


----------



## Philipp9494 (23. Januar 2008)

wie hast du die Datenbank realisiert? SQL, Accsess,...


----------



## SpeedyFighter1 (24. Januar 2008)

mit Access (2007)


----------



## Tody83 (25. Januar 2008)

Hi...

Ich nehme mal an das du das via VBA machst...

Stell mal den Code hier rein damit wir sehen wie du die Verbindung aufbaust und dann können wir dir warscheinlich auch weiterhelfen...

lg Tody


----------



## RavelinePower (26. Januar 2008)

Hy

Vielleicht sowas ?
Suchbegriff eingeben.... auswählen ---- Info abrufen 

Anhang A2000


Gruß
Sascha


----------



## SpeedyFighter1 (27. Januar 2008)

Huhu,

vom Prinzip her trifft es das schon...
Eigentlich dachte ich, dass ich irgendwie den Wert als eine Variable hinterlege bzw. dem jeweiligen Datensatz aus der Tabelle entnehme.
Und dann eben mittels einer Abfrage diesen Wert wieder aufgreifen kann (siehe Parameterabfrage, nur ohne diesem Dialogfenster, wo man den Parameter erst noch per Hand eingeben muss).
Ja und die Abfrage soll mir dann als Grundlage für das Unterformular dienen, wo alle "Suchtreffer" aufgelistet werden sollen.
Nur weiß ich nicht, wie ich das realisieren kann. 

Wäre also nett, wenn ihr mir da auf die Sprünge helfen könntet.

Danke schon mal.

mfg Speedy


----------



## RavelinePower (29. Januar 2008)

Hy

ist nicht ganz das was du willst aber mit dem Code kann man arbeiten denke ich.
Gruß Sascha


----------



## SpeedyFighter1 (30. Januar 2008)

Danke für die Datei.
Gibt es keinen simplen Befehl bzw. Ausdruck zur Lösung meines Problems ?

mfg Speedy


----------



## SpeedyFighter1 (5. Februar 2008)

Huhu,

habs jetzt hinbekommen... 


```
SELECT *
FROM   Tabelle
WHERE  [Text] Like "*" & [Forms]![frm_search]![Suchtext] & "*"
OR     [Text] Is Null;
```

Nur hab ich jetzt noch ein Problem.

Ich lass mir die herausgesuchten Datensätze wie gesagt in einem Unterformular (Endlosformular) auflisten. Ein Wert der dabei mit angezeigt wird ist eine Zahl, die die jeweilige Bewertung angibt. Wenn ich mir die zahlen über ein Textfeld anzeigen lasse, stimmen sie auch mit dem jeweiligen Datensatz überein. Nur will ich jetzt, statt der Zahl ein jeweils entsprechendes Bild anzeigen lassen.
Meine Idee war, beim Laden des Unterformulars mittels "Case Of" das jeweilige Bild zuzuweisen. Das klappt auch beim ersten Datensatz richtig, nur die anderen wird dann auch allen dieses Bild zugewiesen, obwohl diese ein anderes bekommen müssten.
Wäre nett, wenn mir jmd. nochmal helfen könnte.

Danke !

mfg Speedy


----------



## ronaldh (5. Februar 2008)

Auch dazu wäre es gut, wenn Du den Code reinstellst, da dies natürlich unterschiedliche Ursachen haben kann.

Denkbar ist z.B., dass Du die Zahl als Text interpretierst. 

Grüsse
ronaldh


----------



## ronaldh (5. Februar 2008)

SpeedyFighter1 hat gesagt.:


> Nur hab ich jetzt noch ein Problem.
> 
> Ich lass mir die herausgesuchten Datensätze wie gesagt in einem Unterformular (Endlosformular) auflisten. Ein Wert der dabei mit angezeigt wird ist eine Zahl, die die jeweilige Bewertung angibt. Wenn ich mir die zahlen über ein Textfeld anzeigen lasse, stimmen sie auch mit dem jeweiligen Datensatz überein. Nur will ich jetzt, statt der Zahl ein jeweils entsprechendes Bild anzeigen lassen.
> Meine Idee war, beim Laden des Unterformulars mittels "Case Of" das jeweilige Bild zuzuweisen. Das klappt auch beim ersten Datensatz richtig, nur die anderen wird dann auch allen dieses Bild zugewiesen, obwohl diese ein anderes bekommen müssten.
> ...



Auch dazu wäre es sinnvoll, wenn Du den entsprechenden Code postest, da die Ursachen vielfältig sein können. Eine Möglichkeit ist zum Beispiel, dass die Zahl als String deklariert ist.

Grüsse
ronaldh


----------



## SpeedyFighter1 (5. Februar 2008)

```
Private Sub Form_Load()
    Dim schwierigkeitsgrad_int As Integer
    Dim Verzeichnis As String
    
    Verzeichnis = Left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name)))
    
    schwierigkeitsgrad_int = CInt(label_Schwierigkeitsgrad.Value)
    Select Case schwierigkeitsgrad_int
    Case 1
        pic_schwierigkeit.Picture = Verzeichnis & "img\s1.gif"
    Case 2
        pic_schwierigkeit.Picture = Verzeichnis & "img\s2.gif"
    Case 3
        pic_schwierigkeit.Picture = Verzeichnis & "img\s3.gif"
    Case 4
        pic_schwierigkeit.Picture = Verzeichnis & "img\s4.gif"
    Case 5
        pic_schwierigkeit.Picture = Verzeichnis & "img\s5.gif"
    Case 6
        pic_schwierigkeit.Picture = Verzeichnis & "img\s6.gif"
    Case 7
        pic_schwierigkeit.Picture = Verzeichnis & "img\s7.gif"
    Case 8
        pic_schwierigkeit.Picture = Verzeichnis & "img\s8.gif"
    Case 9
        pic_schwierigkeit.Picture = Verzeichnis & "img\s9.gif"
    Case 10
        pic_schwierigkeit.Picture = Verzeichnis & "img\s10.gif"
    End Select
End Sub
```

Wie du siehst variiert der Wert zw. 1 und 10 mit dem entsprechenden Bild dazu.
Ich denke, dass das Problem sein wird, dass nur einmal (nämlich vom ersten Datensatz) diese Proc. durchlaufen wird. Daher wird den anderen Datensätzen einfach auch das Bild des ersten zugewiesen. :-/

mfg Speedy


----------



## ronaldh (6. Februar 2008)

Das Problem wird sein, dass Du die Zuweisung im Form_Load-Ereignis untergebracht hast, und die Form vermutlich schon geladen ist, wenn die entsprechende Zuweisung kommt.

Eine Alternative wäre es, diese Zuweisung in einer Prozedur unter zu bringen, die Du bei Bedarf aufrufst (immer dann, wenn sich etwas ändert).


----------



## SpeedyFighter1 (6. Februar 2008)

Wenn ich die Zuweisung beispielsweise mal ins Form_Query-Ereignis packe (ich lasse das Unterformular per "unterformular.Requery" aktualisieren bei der Suche), dann zeigt der mir trotzdem stehts nur das Bild vom ersten Datensatz an, der beim ersten Aufruf des Formulars mit dem Unterformular der erste ist. :-/

mfg Speedy


----------



## ronaldh (7. Februar 2008)

Du kannst diesen Code in das Form_Activate tun (dann wird immer aktualisiert, wenn die Form aktiv wird), oder in ein separates Modul. Dann kannst Du diese Prozedur immer dann aufrufen, wenn der Wert sich geändert hat.


----------

