janx
Goto Top

Access SQL Filterabfrage

Folgendes Problem: Ich möchte Artikelnummern suchen. Es soll die gesuchte Nummer (alphanumerisch) abgefragt werden und dann in der Tabelle gesucht werden.

Soweit kein Problem.

Aber manche Nummern sind mit Bindestrich eingetragen, andere nicht. Bei der Such-Eingabe ist das nicht immer vorarb klar. Es soll also folgendes möglich sein: Egal wie die Suchnummer eingegeben wird, und egal wie die in der Tabelle erfasst wurde, soll das gefunden werden. Ich stell mir das so vor:

Set ds1 = gDB.OpenRecordset("SELECT ARTNR, ARTBEZEICHNUNG FROM tblArtikel " & _
"WHERE formatArtikel(ARTNR) = '" & formatArtikel(me!artikelnr) & "' ")

Die Funktion formatArtikel soll die Artikelnummer so bearbeiten, daß eine Einheitsausgabe erzeugt wird. Also z. B. 123-45678. Das funktioniert soweit auch schon. Sprich: Die Artikelnummer wird korrekt formatiert.

Aber: Sobald ich das Tabellenfeld formatieren möchte, bekomme ich einen "3464: Datentypen in Kriterienausdruck unverträglich". Ich kann machen was ich will, das geht so nicht. Die Formatierung des Suchbegriffes ist dagegen ohne Fehlermeldung möglich. Wird dann aber natürlich nicht gefunden.

Die Formatierungsfunktion habe ich überprüft. Die arbeitet einwandfrei und gibt auch das korrekte Ergebnis zurück. Hab ich wahlweise mit Sting oder numerisch probiert, bringt nichts im Egebnis.

Hat jemand eine Idee? Vielleicht ist ja schon mein Ansatz falsch?

Jan

Content-Key: 100893

Url: https://administrator.de/contentid/100893

Printed on: April 26, 2024 at 14:04 o'clock

Mitglied: 27234
27234 Nov 03, 2008 at 15:56:39 (UTC)
Goto Top
Hallo,

es fehlt nach (ARTNR) das Gleichheitszeichen "=".

Gruß - René
Member: JanX
JanX Nov 03, 2008 at 16:28:48 (UTC)
Goto Top
Hallo René,

Recht hast Du. Tippfehler von mir, aber nur hier im Forum. Im Code steht das natürlich drin face-smile

Jan
Member: Biber
Biber Nov 03, 2008 at 16:58:18 (UTC)
Goto Top
Moin JanX,

ist es definitiv ausgeschlossen, dass einer der tblArtikel-Datensätze einen Wert im Feld ARTNR enthält, der NULL ist bzw bei der Konvertierung mit formatArtnr() zu NULL wird?
Hast Du Dir mal ALLE Datensätze mit "Select Artnr, formatArtnr(Artnr) fromtblArtikel" anzeigen lassen?

Grüße
Biber