Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Hilfe bei Parameterabfrage Access 2003

Begonnen von Ciesto, September 20, 2010, 11:42:44

⏪ vorheriges - nächstes ⏩

Ciesto

Hallo,

ich brauche mal Eure Hilfe, denn ich habe ein seltsames Problem mit einer Parameterabfrage.

Wenn im Feld Kriterien eine Parameterabfrage definiere, also in eckigen Klammern, und dann die Abfrage starte, kommt auch das Fenster. Allerdings werden keine Daten als Ergebnis ausgegeben. Wenn ich den Begriff, den ich im Abfragefenster eingegeben habe, direkt in das Kriterienfeld eingebe, dann werden Daten ausgegeben.

Woran liegt das? Ich bin leider auf eine solche Abfrageform angewiesen, weil ich sie dazu benutzen will, aus einer Exceldatei Daten aus Access zu holen. Dabei dient eine Zelle als Wert für die Parameterabfrage.

Könnt Ihr mir da helfen?

Gruß
Ciesto


Wodka43

Hallo na,

ich würd da spontan auf fehlende Anführungszeichen tippen. Wie sieht deine Abfrage denn aus? Welche Datentypen sollen mit den Parametern übergeben werden?

mfg
Leo
"Nimm das Leben nicht zu ernst, du kommst da eh nicht lebend raus"
;)

Ciesto

Ich habe mal einen Screenshoot von der Abfrage in der Entwurfsansicht gemacht. Ist im Anhang zu finden.

Ich möchte dort Text übergeben, bestehend aus Ziffern und Buchstaben. Das Feld in der Tabelle ist ebenfalls als Text deklariert.

[Anhang gelöscht durch Administrator]

database

#3
Hallo,

versuche mal das Feld MAT_NR ohne 'VIB:' ein weiteres Mal in die Abfrage zu stellen, Sichtbarkeit den Haken wegnehmen und die Parameterfrage dorthin zu stellen - unter VIB:  den Parameter wegnehmen.

Eine andere Möglichkeit WÄRE es bei unveränderter Abfrage ins Kriterienfeld zu schreiben:

LIKE "*" & [Gerätenummer eingeben] & "*"

Gruß

Ciesto

Zitat von: database am September 20, 2010, 12:25:17
...

Eine andere Möglichkeit WÄRE es bei unveränderter Abfrage ins Kriterienfeld zu schreiben:

LIKE "*" & [Gerätenummer eingeben] & "*"

Gruß


Ich werd verrückt! Mit dem letzten Hinweis funktioniert es!
Vielen Dank!

Nur noch eine Frage. Warum funktioniert es auf diese Weise. Ich würde gerne verstehen, was daran der Unterschied ist. Nur so kann man dabei auch was lernen.

Gruß

Ciesto

database

Hallo,

was ich bei deiner ersten Anfrage übesehen habe ist der Umstand, dass du KEINEN Vergleichsoperator eingegeben hast.
Also in der Form etwa   =[Gerätenummer eingeben]  was zwar nicht zwingend notwendig ist aber recht zielführend wenn Werte nicht zu 100% verifiziert gespeichert wurden. Z.B. wenn in einigen Datensätzen vor oder nach der Gerätenummer ein Leerzeichen steht, ein Punkt udgl.
Wobei bei =  der eingegebene Wert GENAU übereinstimmen muss

LIKE ist ebenfalls so ein Vergleichsoperator, bei dem wird auf Ähnlichkeit geprüft also nach dem Schema ...  so wie ...
Du kannst nun, wo es funktioniert, versuchen die Sterne zu entfernen - damit müsste es ebenfall funktionieren
Sterne auf beiden Seiten der [Gerätenummer eingeben] ermöglichen auch ein Ergebnis, wenn nur ein Teil der Gerätenummer eingegeben wird. Allerdings verlangsamt das die Suche ziemlich.

Ansonsten google mal nach Access Parameterabfragen für weitere Infos

Ciesto

Also ich habe das Problem nun auf eine etwas andere Art gelöst. Denn in Access selber hat es ja wunderbar geklappt. Aber wenn ich nun in Excel Daten per Query aus Access abfragen wollte, ging es trotzdem nicht.

Aber Deine Erklärung hat mich auf die richtige Spur gebracht. Ich habe ganz einfach das Feld geglättet mit RTrim(MAT_NR) und nun läuft alles so, wie ich es mir vorgestellt habe.

Vielen Dank nochmal.

Gruß
Ciesto

database

Hallo,

Zitatgeglättet mit RTrim(MAT_NR)
...heißt dann für mich, dass an die Art_Nr noch Leerzeichen angehängt waren / sind.

Viel Erfolg weiterhin!

Grüße
Peter