Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Query-Parameterabfragen mit Platzhaltern

58 views
Skip to first unread message

Helmut

unread,
Sep 3, 2002, 9:39:07 AM9/3/02
to
Hallo Leute,

NT 4.0, Excel 2000.

Hat jemand Erfahrungen mit Parameterabfragen in Query mit
Platzhaltern??

z.B. ich möchte über eine Parameterabfrage den Teil eines
Ortes eingeben, will aber nicht den Ort genau
ausschreiben, sondern event. nur den Anfang.
Ich führe also die Abfrage aus, werde aufgefordert den
Anfang des Ortes einzugeben:


Eingabe: Ma Ergebnis: Mainz
Mannheim usw.
Nächste Abfrage:

Fr Frankfurt
Frauenaurach usw.

Vielen Dank für Eure Mühe!

Gruß Helmut

ulrich weigel

unread,
Sep 3, 2002, 9:52:19 AM9/3/02
to

>-----Originalnachricht-----
>.
>
Hallo Helmut,

in Kurzform:
FR* steht in Zelle A1

QuerryOrt=Range("A1")

dann in der Querry Syntax FR durch " & QuerryOrt & "
ersetzen, mit den Anführungszeichen, da ja der SQL in
Anführungszeichen eingeschlossen ist und an dieser Stelle
quasi unterbrochen wird durch den Platzhalter.

z.B. "WHERE (((ORT) = " & QuerryOrt & ")) " _

Grus
Ulrich


Helmut

unread,
Sep 3, 2002, 10:43:56 AM9/3/02
to
Hallo Ulrich,

vielen Dank für Deine Antwort!

aber: wo definiere ich QuerryOrt=Range("A1")??

in der SQL Abfrage ? oder im VBA Editor? oder ???

Herzlichen Dank

Helmut

>-----Originalnachricht-----

>.
>

Ulrich Weigel

unread,
Sep 3, 2002, 3:13:33 PM9/3/02
to
Hallo Helmut,
ich bin davon ausgegangen das es sich um ein VBA Problem handelt.
Nur mit Querry ist das meines Wissens nicht möglich, Das geht nur in Access,
da kann man Platzhalter benutzen indem man
[Suche] den Parameter in eckige Klammern setzt.
Als ersten Schritt zeichne mal die Abfrage mit dem Makrorecorder auf.
Danach kannst Du es im VBA Editor noch anpassen.
Dann fügst du noch im Editor in den Codeteil des Tabellenblattes ein
Selection_Change Ereignis hinzu, welches dann den Query ausführt. Wenn Die
das zu allgemein ist, melde Dich ich mail Dir dann ein simples Beispiel.
Dazu zeichne aber erst Deine Abfrage auf.

--
Grus
Ulrich

Mail to MDLLe...@aol.com
WinXP
OfficeXP
u.v.a.

Rechtschreibfehler sind gewollt und dienen der Belustigung des Lesers
"Helmut" <helmut...@stadt.erlangen.de> schrieb im Newsbeitrag
news:c5e701c25358$54ace680$9ee62ecf@tkmsftngxa05...

Thomas Juretzky

unread,
Sep 4, 2002, 1:57:09 AM9/4/02
to
"Helmut" <helmut...@stadt.erlangen.de> schrieb...

> Hat jemand Erfahrungen mit Parameterabfragen in Query mit
> Platzhaltern??
>
> z.B. ich möchte über eine Parameterabfrage den Teil eines
> Ortes eingeben, will aber nicht den Ort genau
> ausschreiben, sondern event. nur den Anfang.
> Ich führe also die Abfrage aus, werde aufgefordert den
> Anfang des Ortes einzugeben:

Hallo Helmut,

ich habe sowas mit VBA folgendermaßen gelöst

---------- 8< ----------

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strCell As String
Dim strSQL As String

strCell = "$B$1"
If Target.Address = strCell Then
strSQL = ActiveSheet.Range("$B$1").Value
With ActiveSheet.QueryTables("qryBirthday")
.Sql = Array("SELECT strName, strFirstname, dtmBirthday FROM
tblBirthday WHERE (tblBirthday.strName Like '" & strSQL & "%') ORDER BY
tblBirthday.strName, tblBirthday.strFirstname")
.Refresh BackgroundQuery:=False
End With
End If

End Sub

---------- 8< ----------

Dabei ist zu beachten, daß der Name der Abfrage in meinem Fall "qryBirthday"
heisst. Außerdem mußt Du die Zeilenumbrüche in der .Sql-Zeile entfernen.

Gruß

Thomas


--
__________________________________________________
Thomas Juretzky
D-83134 Prutting

ne...@juretzky.net
http://www.juretzky.net


0 new messages