Teile eines Memo Feldes abfragen

hypa

Mitglied
Wie kann ich ein Teil eines Memofeld mittels Textstrings die irgendwo im Memofeld vorkommen suchen? Die Textstrings sind in einer zweitenTabelle gespeichert.
Besten Dank...
 
Vielleicht geht das folgendermaßen, da mußt du mal rumexperimentieren:

(arbeite mit MS SQL, du musst den Code also eventuell anpassen)


select * from tabelle1 where memo_spalte like ('%(select spaltenname from tabelle2)%')


Das ist nur ein Ansatz, der eventuell funktionieren könnte, aber vielleicht hilft es dir ja ein wenig,

ciao Anke
 
Ist eigendlich genau das was ich braachen würde, nur zeigt es mir keinen Datensatz an...

SELECT *
FROM dbo_syslog
WHERE MsgText like ('%(select MsgTextString from Messages)%');

muss ich da noch eine beziehung zwischen den tabellen haben?

Ps ist das in Access nicht auch Ms Sql?
 
Beide SQL-Sprachen haben wohl einige Unterschiede, kann dir aber leider nichtg enau sagen, wo die liegen.

Es werden bei Access Teile vom SQL sprachschatz unterstützt aber nicht alle.

1. Soll genau 1 Wort vorkommen:

dann wahrscheilich so:

SELECT *
FROM dbo_syslog
WHERE MsgText like ('%(select MsgTextString from Messages where id=irgendwas)%');

du müßtest einen eindeutigen Datensatz übergeben (denke ich) . Dies würde über eine ID, damit meine ich einen Primärschlüssel geschehen.


2. Oder soll ein Datensatz zurückkommen, wenn eins der Wörter aus der Spalte MsgTextString aus der Tabelle Messages vorkommt?

Da kann ich dir dann leider auch nicht helfen. Da wäre etwas wie ein IN hilfreich, aber ich weiß nicht genau wie man dort die Prozente ('%%') anwenden kann.
Hier mal ein Anwendungsbeispiel für ein IN:

SELECT * FROM dbo_syslog
WHERE MsgText IN (SELECT MsgTextString from Messages)

Soweit ich weiß, gibt es da noch den Befehl ALL, ist aber schon ne Weile her, das ich dass mal im Studium hatte, ich kann mich nicht mehr genau dran erinnern...


ciao Anke
 
Das währe wohl eher punkt 2, da ich textteile und nicht blos wörter filtern möchte...

hmm was macht denn das IN? Bekomme auch kein Ergebnis... vielleicht doch etwas am Syntax falsch!

Danke trotzdem
 
SELECT * FROM dbo_syslog
WHERE text_1 IN (SELECT text_2 from Messages)

Dieser Code, würde überprüfen, ob text_1 ind der Spalte text_2 der Tabelle Messages vorkommt (ob er also mindestens 1 mal auftaucht).


ciao Anke
 
Ungültiges Memo- oder OLE- Objekt in Unterabfrage ("MsgTextString")

verstehe nur bahnhof




vielleicht hilft das noch zum verständnis: Klick
 
Zurück