Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Olytyp am September 13, 2023, 14:07:47

Titel: Access Zeilenumbruch in Abfrage entfernen
Beitrag von: Olytyp am September 13, 2023, 14:07:47
Hallo,

ich habe ein Problem.Ich muss eine externe Tabelle aus einem Linux ERP System in ABAS auswerten.
Dabei sind in den Textfeldern auch Zeilenumbrüche vorhanden.
Wenn ich  Ersetzen([Artikel].[vbez];"vbCrLf";" ") verwende, bekomme ich immer "Datentypenkonflikt im Kriterienausdruck".

Was mache ich falsch?

Grüße aus der Pfalz
Titel: Re: Access Zeilenumbruch in Abfrage entfernen
Beitrag von: MzKlMu am September 13, 2023, 14:14:48
Hallo,
vbCrLf ist VBA (VBA Konstante), das kann man in einer Abfrage nicht verwenden.
Du musst die Ascii Codes verwenden.

Ersetzen([vbez];Chr(13) & Chr(10);" ")Wobei Du erst mal prüfen solltest, ob wirklich 13 und 10 verwendet wird.
Oder nur 10 (LF). Auch die Reihenfolge könnte anders sein.
Vieleicht sind auch 2 Durchläufe erforderlich (erst 13, dann 10m oder umgekehrt).
Da musst Du etwas probieren.

Titel: Re: Access Zeilenumbruch in Abfrage entfernen
Beitrag von: Olytyp am September 13, 2023, 14:40:08
Danke für den Tipp Klaus,

jetzt poppt die Abfrage kurz korrekt auf und dann kommt wieder "Datentypkonflikt..."

SELECT Ziffer.nummer, Ziffer.vbez
FROM Ziffer
WHERE (((Ziffer.vbez)=Replace([vbez],Chr(10) & Chr(10)," ")));

habe 10 und 13 probiert.
Titel: Re: Access Zeilenumbruch in Abfrage entfernen
Beitrag von: MzKlMu am September 13, 2023, 15:36:37
Hallo,
Du hast ja 2x 10 in der Abfrage.
Hast Du verschiedene Versionen probiert, wenn ja was ?
Hast Du geprüft, ob Chr(10) und 13 überhaupt vorhanden ist ?
Titel: Re: Access Zeilenumbruch in Abfrage entfernen
Beitrag von: Olytyp am September 13, 2023, 18:08:58
Hallo,

ich habe alle Varianten getestet, wie kann ich den prüfen welches Zeichen vorhanden ist?
Beispiel:
Orginal: Präsentationsmappe  - befüllt mit
aktuellen Flyern (+ Auslauf Flyer)
Nach der "Entf" Taste:
Präsentationsmappe  - befüllt mitaktuellen Flyern (+ Auslauf Flyer)

Gruß Edwin
Titel: Re: Access Zeilenumbruch in Abfrage entfernen
Beitrag von: PhilS am September 13, 2023, 18:15:34
Zitat von: Olytyp am September 13, 2023, 14:40:08jetzt poppt die Abfrage kurz korrekt auf und dann kommt wieder "Datentypkonflikt..."
[...]
WHERE (((Ziffer.vbez)=Replace([vbez],Chr(10) & Chr(10)," ")));
Warum steht der Ausdruck in der Where-Klausel? Damit hast du nur Datensätze im Ergebnis, bei denen nichts zu ersetzen war. - Das ergibt doch wenig Sinn.

Nebenbei ist es auch die Ursache für den Datentypkonflikt.
Wenn du NULL-Werte in der Spalte vbez hast, ist das Ergebnis des Ausdrucks: #Error
Wenn du dann noch in der Where-Klause #Error mit dem Ausgangswert der Spalte vergleichen willst, kommt es zum Datentypkonflikt.

Verwende die NZ-Funktion, um NULL-Werte zu behandeln.
Das könnte dann etwa so aussehen:
SELECT nummer, vbez, Replace(NZ([vbez],''),Chr(13) & Chr(10),' ') AS VBezOhneZeilenumbruch
FROM Ziffer;
Titel: Re: Access Zeilenumbruch in Abfrage entfernen
Beitrag von: Olytyp am September 13, 2023, 18:47:52
Toll Danke das wars bin halt trotz 71 ein Newbie :)