PDA

Vollständige Version anzeigen : Bug in Code-Funktion??


Arne Dieckmann
01.07.2003, 16:03
Halli Hallo,

mache ich hier irgendetwas falsch?

Folgender Code lässt sich nicht ordentlich mit der CODE-Funktion darstellen. Mittels PHP-Button klappt es aber:

Ergebnis mit PHP
SELECT MeineTabelle.MeinNamensFeld, MeineTabelle.Geburtsdatum, MeineTabelle.Eingangsdatum, DateDiff("yyyy",[Geburtsdatum],Date())+
(Format(Date(),"mmdd")<Format([Geburtsdatum],"mmdd")) AS
AlterswertDatum, DateDiff("yyyy",[Geburtsdatum],[Eingangsdatum])+(Format([eingangsdatum],"mmdd")<Format([Geburtsdatum],"mmdd")) AS
AltersWertEingang
FROM MeineTabelle;

Ergebnis mit CODESELECT MeineTabelle.MeinNamensFeld, MeineTabelle.Geburtsdatum, MeineTabelle.Eingangsdatum, DateDiff("yyyy",[Geburtsdatum],Date())+(Format(Date(),"mmdd")<Format([Geburtsdatum],"mmdd")) AS AlterswertDatum, DateDiff("yyyy",[Geburtsdatum],[Eingangsdatum])+(Format([eingangsdatum],"mmdd")<Format([Geburtsdatum],"mmdd")) AS AltersWertEingang
FROM MeineTabelle;

Manuela Kulpa
01.07.2003, 18:44
Kleiner Test:

SELECT tbl1.Nachname, Count(tbl2.[Kunden-Code]) AS Gesamt
FROM Personal AS tbl1 INNER JOIN Bestellungen AS tbl2 ON tbl1.[Personal-Nr] = tbl2.[Personal-Nr]
GROUP BY tbl1.Nachname;

Hmmm, bei mir schaut's eigentlich recht vernünftig aus! Hast du Zeilenumbrüche in deiner SQL-Anweisung?

lg
Manuela

Arne Dieckmann
01.07.2003, 20:08
Hi Manuela,

tut mir leid, dass ich anscheinend etwas voreilig gepostet habe. Anscheinend liegt es an dem Kleiner-Zeichen, das man wohl mittels
&amp;lt; eingeben sollte. Angeblich soll auch der Code-Converter helfen. Hier mal die Anweisung ohne Umbrüche:SELECT MeineTabelle.MeinNamensFeld, MeineTabelle.Geburtsdatum, MeineTabelle.Eingangsdatum, DateDiff("yyyy",[Geburtsdatum],Date())+(Format(Date(),"mmdd")<Format([Geburtsdatum],"mmdd")) AS AlterswertDatum, DateDiff("yyyy",[Geburtsdatum],[Eingangsdatum])+(Format([eingangsdatum],"mmdd")<Format([Geburtsdatum],"mmdd")) AS AltersWertEingang FROM MeineTabelle;


Jetzt noch mal manuell nachbearbeitet (< ersetzt durch &amp;lt;):
SELECT MeineTabelle.MeinNamensFeld, MeineTabelle.Geburtsdatum, MeineTabelle.Eingangsdatum, DateDiff("yyyy",[Geburtsdatum],Date())+(Format(Date(),"mmdd")&lt;Format([Geburtsdatum],"mmdd")) AS AlterswertDatum, DateDiff("yyyy",[Geburtsdatum],[Eingangsdatum])+(Format([eingangsdatum],"mmdd")&lt;Format([Geburtsdatum],"mmdd")) AS AltersWertEingang FROM MeineTabelle;


Geht anscheinend nur mittels der manuellen Nachbearbeitung

Arne Dieckmann
01.07.2003, 20:21
Das ganze "Maskieren" kann man sich sparen, wenn man hinter dem < ein Leerzeichen setzt (habe ich nur mittels Vorschau getestet). Anscheinend wird < als Einleitung eines HTML-Tags angesehen?
Hier gab es das Problem übrigens auch schon mal. (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=62885)

Ich gebe jetzt mal folgende 2 Sätze ein (anscheinend ist das also auch nicht nur ein Bug der Code-Funktion):

1. Satz:
"Ein &lt;ohne Leerzeichen."
Ergebnis:
Ein <ohne Leerzeichen.



2. Satz:
"Ein &lt; mit Leerzeichen."
Ergebnis:
Ein < mit Leerzeichen.


Jetzt die beiden Sätze noch mal als "Codes"
Code1:Ein <ohne Leerzeichen.

Code2:Ein < mit Leerzeichen.