[Access] Abfrage aus Memo-Feld liefert kryptische Zeichen

TS-JC

Erfahrenes Mitglied
Hallo zusammen,

also ich habe in meiner Tabelle ein Memo-Feld um dort größere Textteile zu speichern.
Die frage ich nun in einer Abfrage ab und bekomme auch den Text richtig angezeigt.

Jedoch nicht, wenn ich eine größere Abfrage starte, mit 3 Tabellen.
Zuerst hatte ich sie per Join verknüpft bekam jedoch falsche Daten und musste de Joins entfernen. Mit den Joins kamen auch schon kryptische Zeichen, diese konnte ich jedoch per CStr bzw ZString richtig darstellen. Dies funktioniert nun nich mehr.

Hat jemand eine Idee woran es liegen könnte?
Hier einfach mal meine Abfrage stark verkürzt:

Code:
SELECT T_Maßnahmen.maßnahmen
FROM T_Freigaben, T_Maßnahmen, PRF2_TEMP, A_Anzahl_SG2
WHERE (((T_Freigaben.id)=43) 
AND ((PRF2_TEMP.PRUEFSTART) Between [T_Freigaben].[beginn] And [T_Freigaben].[ende]) 
AND ((PRF2_TEMP.FHL_PRUEF)>0) 
AND ((PRF2_TEMP.APLTYP)=[A_Anzahl_SG2].[APLTYP]) 
AND ((T_Maßnahmen.freigabe_id)=[T_Freigaben].[id]))

Das Feld T_Maßnahmen.maßnahmen ist das Memo.
Ergebnis aktuell: ?
 
Hi,

ohne direkt auf dein Problem eingehen zu können (Zeitmangel) gebe ich dir einen Tipp, wie du eine (ekelige) Fehlerquelle ausschließt:
"Maßnahmen" enthält ein deutsches Sonderzeichen, das "ß". Verwende moeglichst immer bei Feldnamen und Variablen nur die internationale Schreibweise, also "ss" statt des Umlauts und ae statt "ä" und so. - Zumindest weisst du dann, dass es daran nicht mehr liegen kann.
 
Jo hast recht... mache ich normal auch nicht sowas, aber dachte das Access damit wohl umgehen kann.
Scheint aber nicht die Fehlerquelle zu sein.

Das Memo ist es wohl eindeutig, denn ich hab es in Text umgewandelt, da geht es und eine Rückumwandlung brachte dann wieder den Fehler.
 
EDIT:
Habs gelöst. Keine Ahnung wo das Problem war, aber ich hab gemerkt das ich statt der beiden letzten Tabellen, wo eine Auswertung gemacht wird, ja auch die Abfrage nehmen kann, in der dies ohnehin schon passiert. Hatte ich voll übersehen..


Interessanterweise klappt übrigens die verkürzte Abfrage im oberen Beitrag. Scheinbar liegt das Problem irgendwo in den angezeigten Werten. Nehme ich die Tabellen PRF2_TEMP und A_Anzahl_SG2 heraus geht es auch. Jedoch nicht, wenn ich nur auf einer der Beiden verzichte.

Hier also noch einmal der gesamte Code
Code:
SELECT PRF2_TEMP.APLTYP AS Prüftor, 
	A_Anzahl_SG2.Anzahl AS [Anzahl SG], 
	Sum(IIf(PRF2_TEMP.FHL_PRUEF>=1,1,0)) AS Fehler, 
	Sum(IIf(PRF2_TEMP.FHL_ECHT>=1,1,0)) AS Echt,
	Sum(IIf(PRF2_TEMP.FHL_PSEUDO>=1,1,0)) AS Pseudo, 
	Sum(IIf(PRF2_TEMP.FHL_TOL>=1,1,0)) AS Toleranz, 
	Sum(IIf(PRF2_TEMP.FHL_ABLAUF>=1,1,0)) AS Ablauf, 
	Sum(IIf(PRF2_TEMP.FHL_NOQUIT>=1,1,0)) AS NoQuit, 
	T_Freigaben.beginn, 
	T_Freigaben.ende, 
	T_Freigaben.linie, 
	T_Freigaben.familie, 
	T_Freigaben.autor, 
	T_Freigaben.freigabe, 
	T_Freigaben.palette, 
	CStr(T_Maßnahmen.maßnahmen) AS maßnahme, 
	T_Freigaben.snr
FROM T_Freigaben, 
	T_Maßnahmen, 
	PRF2_TEMP, 
	A_Anzahl_SG2
WHERE (((T_Freigaben.id)=46) 
	AND ((PRF2_TEMP.PRUEFSTART) Between [T_Freigaben].[beginn] And [T_Freigaben].[ende]) 
	AND ((PRF2_TEMP.FHL_PRUEF)>0) 
	AND ((PRF2_TEMP.APLTYP)=[A_Anzahl_SG2].[APLTYP]) 
	AND ((T_Maßnahmen.freigabe_id)=[T_Freigaben].[id]))
GROUP BY PRF2_TEMP.APLTYP, 
	A_Anzahl_SG2.Anzahl, 
	T_Freigaben.beginn, 
	T_Freigaben.ende, 
	T_Freigaben.linie, 
	T_Freigaben.familie, 
	T_Freigaben.autor, 
	T_Freigaben.freigabe, 
	T_Freigaben.palette, 
	T_Freigaben.snr, 
	T_Maßnahmen.maßnahmen
HAVING (((PRF2_TEMP.APLTYP)="DAE" Or (PRF2_TEMP.APLTYP)="ELEP" Or (PRF2_TEMP.APLTYP)="OOE"));
 
Zuletzt bearbeitet:
Zurück