Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ADO und Filter ?

Empfohlene Antworten

Veröffentlicht

Hallo,

habe mal wieder ein Problem.

Es geht darum das ich aus einem Feld (Typ : Integer) einen LIKE-Filter anwenden will. Und zwar unter ADO. Allerdings habe ich schon alles durchprobiert, also auch zum Beispiel:

rs.Filter(JAHR LIKE '199*')

(ohne ' gehts übrigens auch nicht !)

usw.

bringt aber alles nichts.

Kennt sich da einer/eine aus und kann mir helfen ?

Viele Grüße

Rossi

Das Platzhalzerzeichen in SQL ist % (Prozent) nicht * (Stern).

Das kann ja sein, aber es klappt trotzdem nicht.

Wenn ich es mit % versuche gehts auch nicht. Und das obwohl als Einträge in der Tabelle Werte von 1997 bis 2001 stehen, also sollte mir 199% alle Werte von 97 bis einschliesslich 99 liefern, aber es liefert mir keine Datensätze zurück, bzw ist RecordCount = 0.

Noch weitere Ideen ?

Das muss doch irgendwie gehen !

Hat echt keiner mehr Ideen dazu wie man das machen könnte ?

sorry aber ich steh grad etwas auf dem Schlauch....

wie bekommst du die Daten in dein RS ?

vielleicht irgendwie mit select * from xxx where (jahr like '199%' )

oder auch

select * from xxx where (jahr like '199_' )

Ach so... kein prob.

Dim strFilter as String

Dim rs as ADODB.RecordSet

Set rs = new ADODB.Recordset

rs.open tblName, CurrentProject.Connection

strFilter = "Jahr Like '199%'"

rs.Filter = strFilter

debug.print rs.recordcount

rs.close

set rs = nothing

Hoffe das hilft.... Das Feld Jahr ist vom Typ Integer und enthält Werte von 1997 bis 2001. Aber ich möchte halt auch ein Like benutzen können, geht einfach ums Know How für ein Projekt. Also für Hilfe oder sonstiges wäre ich echt dankbar. Bin schon am verzweifeln

Gruss

Rossi

ok hab grad ma lein wenig zu Recordsets gesucht :

RstObj.Filter = "[phone] LIKE '706*'"

könnte dir das helfen wenn du es auf deine Tabelle abänderst =

also :

rs.Filter = "[Jahr] LIKE '199*' "

Greetz

Panther

Also erst mal, tblname enthält den Namen der Tabelle. Sind alles ADO-Methoden (Ich hasse DAO). Filter ist ein string ohne where Klausel. Also z.b. "Essen = 3 AND Mixer < 'Alaska" Er unterstützt die meisten Funktionen. Ausserdem muss man bei Access-VBA unter Verweise noch die ActiveX Library 2.6 einbinden damit obiges funktioniert. Also ich will eigentlich nichts anderes als ein Abfrage über ein Integer-Feld ausführen. Und dabei will ich halt mal den Like-Operator verwenden.

Tabelle

Jahr----------------......

1999

2001

1997

1997

1998

2001

2000

2000

rs.filter(Jahr Like *****) (***** Ich habe keine Ahnung wie ich das machen soll)

soll mir dann z.b. 1999,1998,1997 liefern

Alles Klar....

Hilfe, ich sitze schon fünf Stunden an dem Problem....

siehe editiertes Posting oben :D

Klar, das ist schon mal gut, allerding ist der Recordset nach dem Filtern leer, d.h. er findet also keinen Datensatz der auf das geg. Kriterium passt.

denn dann ist rs.RecordCount einfach 0

also ganz kanns das noch nicht sein

Probier doch spasseshalber mal andere Operatoren aus, vielleicht mag er LIKE bei Integerfeldern nicht... :confused:

rs.Filter "Jahr > 1989 AND Jahr < 2000"

Doch es funktioniert. Ich werde es demnächst berichten. Muss noch schaffen. Habe es aber anders gelöst. Hängt wahrscheinlich an der Implementierung der Parser der FIND und FILTER Methoden. Wenn einer Lust hat kann er die mal besser schreiben. Ich machs jetzt per SQL an die JET-Engine. Danke nochmal.

Gruß Rossi

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.