Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

ich treffe nicht den genauen Datensatz

Begonnen von Axel18, Oktober 26, 2014, 16:08:51

⏪ vorheriges - nächstes ⏩

Axel18

Wenn ich in einem Formular via einer Abfrage nach einem Kunden suchen, dann kann es passieren, dass nicht genau der gewünschte Kunde kommt. Das klingt jetzt erst einmal komisch, deswegen muss ich versuchen, es mit einem Beispiel zu erklären:

- ich habe Kundennamen, bei denen bestimmte Buchstabenfolgen identisch sind.
Wenn ich also den Kunden TTM und Wittmann habe und lediglich "TTM" eingebe, dann erhalte ich als Ergebnis die Informationen zu BEIDEN Kunden.
Ich will in diesem Fall aber nur "TTM" aufrufen.
Wie mache ich das?
Beste Grüße
Axel

bahasu

Hi,

kann es sein, dass in der Art suchst: like *Suchbegriff*

Harald
Servus

Axel18

In dem Formular rufe ich den gewünschten Kunden über ein ungebundenes Kombinationsfeld auf, aber wie zuerst beschrieben, kann es passieren, dass bei gleichlautenden Buchstabenkombinationen die Umsätze von zwei Kunden angezeigt werden.
Gebe ich - wie im Beispiel beschrieben "Wittmann" ein, kommt auch nur der Wittmann Umsatz. Gebe ich aber den Kundennamen "TTM" ein, erhalte ich die Umsätze beider Kunden.

Ich will also erreichen, dass bei Eingabe von "TTM" tatsächlich nur der den Kunden betreffende Umsatz angezeigt wird
Beste Grüße
Axel

DF6GL

Hallo,

zeigt doch mal, WIE die Filterung gemacht wird....

Wenn der Kundenname GENAU übereinstimmen soll, dann ist "Like" mit Jokerzeichen fehl am Platz..

database

Hallo,

"...In dem Formular rufe ich den gewünschten Kunden über ein ungebundenes Kombinationsfeld auf ... "

Wenn du das Kombifeld so aufbaust, dass in der ersten Spalte die ID des Kunden steht und deine Auswahl nicht über den angezeigten Text erfolgt,
kann es nicht passieren, dass falsche Aufrufe erfolgen.
Die ID der Kunden MUSS eindeutig sein - gib TTM ein und klapp mal das Kombifeld auf - da sollte Wittmann nicht an erster Stelle stehen,
Der Zeiger verweist nach der Eingabe des ersten T auf den ersten Listeneintrag, der mit T beginnt, Wittman beginnt mit W

Axel18

... das ist die SQL Anweisung aus der Abfrage.
Sorry, es ist kein Kombinationsfeld sondern eine Parameterabfrage.

Beste Grüße
Axel

MaggieMay

Hallo Axel,
Zitat von: Axel18 am Oktober 27, 2014, 08:10:05Sorry, es ist kein Kombinationsfeld sondern eine Parameterabfrage.
und wie sieht diese Abfrage aus? Zeig doch bitte den SQL-Code dazu.

Aber im Grunde wurde die Antwort ja bereits gegeben: Wenn du bei der Eingabe von TTM nicht Wittmund erhalten willst, darfst du keinen Stern vor den Suchbegriff setzen.
Freundliche Grüße
MaggieMay

Axel18

Mir war nicht bekannt, dass die Senilität langsam um sich greift. Ich wollte doch die SQL Anweisung senden, habe das aber dann vergessen. Hier ist sie nun:

SELECT Kunden.kname1, Kunden.kpostfach, Kunden.kland, Kunden.kplz, Kunden.kort, Kunden.ktel, UmsatzManuelleEingabe.prodNr, UmsatzManuelleEingabe.Bezeichnung, UmsatzManuelleEingabe.kg13, UmsatzManuelleEingabe.kg14
FROM Kunden LEFT JOIN UmsatzManuelleEingabe ON Kunden.ksort = UmsatzManuelleEingabe.ksort
WHERE (((Kunden.ksort) Like "*" & [welcher Kunde] & "*"))
ORDER BY UmsatzManuelleEingabe.prodNr;
Beste Grüße
Axel

MaggieMay

WHERE (((Kunden.ksort) Like "*" & [welcher Kunde] & "*"))
Es ist so wie es bereits vermutet wurde, du suchst nach der Zeichenkette mitten im Wort.
Wenn du das nicht willst, musst du den ersten * weglassen.
Freundliche Grüße
MaggieMay

Axel18

ja, das habe ich inzwischen auch ausprobiert. Aber dann muss ich bei Wittmann den kompletten Namen eingeben, es würde also nciht "Witt" reichen.

Gibt es nciht eine Methode, die mir "alles" bietet?
Beste Grüße
Axel

bahasu

Zitat von: Axel18 am Oktober 27, 2014, 13:42:42
Aber dann muss ich bei Wittmann den kompletten Namen eingeben, es würde also nciht "Witt" reichen.

Probier mal bei dem Auswahlfeld im Reiter "Daten" die Eigenschaft "Automatisch ergänzen" auf "ja" zu setzen.

Harald
Servus

DF6GL

HAllo,

"Aber dann muss ich bei Wittmann den kompletten Namen eingeben, es würde also nciht "Witt" reichen.

dann hast Du nicht genau gelesen...

Wenn Du so schreibst:

WHERE (((Kunden.ksort) Like  [welcher Kunde] & "*"))

dann werden alle Kunden gelistet, die mit "witt" in Ihrem Namen beginnen,

also "Wittmann", "Wittemberger", "Witt","Wittel",  aber nicht "Gewitter", "Withaler", etc.


"die mir "alles" bietet?"


Was bedeutet hier "alles"?


Axel18

Beste Grüße
Axel