Hallo!

Ja, die gibt's.

Du brauchst kein UNION:

SELECT   link_pool.link_pool_id, link_pool.link_url,
         link_pool.link_action, link_pool.add_value, popup_pool.width,
         popup_pool.height, popup_pool.window_name, text_pool.copytext
FROM     link_pool, text_pool, popup_pool
WHERE    (link_pool.content_id = text_pool.text_pool_id) AND 
         (link_pool.add_value = popup_pool.popup_pool_id) AND 
         ((link_pool.link_pool_id = 53) OR (link_pool.link_pool_id =
54))
ORDER BY link_pool.link_pool_id

Ein UNION baut eine tempor�re Tabelle, was mit Memo-Feldern aus mehreren
Gr�nden einfach nicht funktioniert. Da Du hier aber hier die gleichen
Tabellen verwendest, brauchst Du kein UNION. Stattdessen kannst Du ja
die WHERE-Klausel benutzen (OR).

Dar�ber hinaus w�rde ich nicht mehr nach der alten Methode verkn�pfen,
sondern direkt mit JOIN. Das ist sicherer. Und denke daran, einen
Static-Cursor zu verwenden, sonst macht das Memo-Feld weitere
Schwierigkeiten.

Freundliche Gr��e
Joachim van de Bruck

> -----Urspr�ngliche Nachricht-----
> Von: Alexander Bohle [mailto:[EMAIL PROTECTED]]
> Gesendet: Freitag, 5. Oktober 2001 13:56
> An: ASP Datenbankprogrammierung
> Betreff: [aspdedatabase] UNION Abfrage �ber Memo-Feld
> 
> Hi Liste,
> 
> Leider hat bis jetzt noch keiner auf mein Problem geantwortet, deshalb
poste
> ich einfach nochmal und
> erkl�re mein Problem vielleicht ein wenig genauer:
> 
> Ich mache eine UNION Abfrage �ber ein Memeofeld in meiner
Access-Datenbank
> um das Ergebniss nach einer bestimmten Reihenfolge zu sortieren.
> 
> Hier die generierte SQL-Anweisung:
> '-------------
> SELECT
> 1 AS sort ,link_pool.link_pool_id, link_pool.link_url,
> link_pool.link_action, link_pool.add_value, popup_pool.width,
> popup_pool.height, popup_pool.window_name, text_pool.copytext
> FROM
> link_pool, text_pool, popup_pool
> WHERE
> link_pool.content_id = text_pool.text_pool_id AND link_pool.add_value
=
> popup_pool.popup_pool_id AND link_pool.link_pool_id = 53
> 
> UNION
> 
> SELECT
> 2 AS sort ,link_pool.link_pool_id, link_pool.link_url,
> link_pool.link_action, link_pool.add_value, popup_pool.width,
> popup_pool.height, popup_pool.window_name, text_pool.copytext
> FROM
> link_pool, text_pool, popup_pool
> WHERE
> link_pool.content_id = text_pool.text_pool_id AND link_pool.add_value
=
> popup_pool.popup_pool_id AND link_pool.link_pool_id = 54
> ORDER BY sort
> '-------------
> 
> Dabei wird dieser Fehler generiert:
> 
> [Microsoft][ODBC Microsoft Access Driver] Ein Memo- oder
OLE-Objektfeld
> 'copytext' kann in einem SELECT-Abschnitt einer Union-Abfrage nicht
> verwendet werden.
> 
> gibt es f�r diesen Fehler eine L�sung (ausser Memofeld auf Text
umstellen).
> 
> Vielen dank f�r jede Antwort
> 
> Alex
> 
> 
> | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
> 
> 
> | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an