PDA

Vollständige Version anzeigen : datumsfelder null setzen die dummy enthalten


Lucasss
24.03.2004, 06:54
habe ein abfragefeld das formatiert ist als datumsfeld
in diesen datumsfelder sind "richtige" datumsangaben und dummyangaben drinnen (00.00.0000) nun macht mir access einen überlauf im nummerischen feld wenn ich die datenbank vor dem aktualisieren nicht kompremiere
nun meine frage:
kann ich die dummyfelder irgentwie leeren (null setzten) ohne den rest der daten löschen zu müssen
es ist eine anfügeabfrage die die daten aus einer txt holt und auch so bleiben muss da das txt dynamisch erstellt wird
die ganzen AND sind um fragmente der txt zu löschen
INSERT INTO T_Zugang ( Material, Disp, Schl, Um_Dat,
Zugangsdatum, DE, Zugang_Bedarf, Fix_Datum, 1, DGr, [NR-Disp] )
SELECT Zugang.Material, Zugang.Disp, Zugang.Schl, Zugang.UM_Dat,
Zugang.Datum AS Zugangsdatum, Zugang.DE, Zugang.Zugang_Bedarf,
Zugang.Fix_Datum, Zugang.[1], Zugang.DGr, Zugang.[NR-Disp]

FROM Zugang
WHERE (((Zugang.Material) Not Like " Material" And (Zugang.Material) Not
Like "-*" And (Zugang.Material) Is Not Null And (Zugang.Material) Not
Like ".*" And (Zugang.Material) Not Like "d*" And (Zugang.Material) Not
Like "4.*" And (Zugang.Material) Not Like "edarfsänderungen*" And
(Zugang.Material) Not Like "M*"));

Lucasss
24.03.2004, 07:37
hat sich erledigt hab selbst ne lösung gefunden

Lanz Rudolf
24.03.2004, 07:48
hallo
schade das Du nicht sagst welche

Lucasss
24.03.2004, 08:36
ohh sorry
hier meine lösung
ich hab beim einlesen der txt die spezifikation geändert und aus den datumsfeldern textfelder gemacht
eine if abfrage für das jeweilige feld und somit das problem der datumsfehler auch somit umgangen und ich bekomme kein überlauf mehr im numerischen feld
INSERT
INTO T_ZUGANG
(
MATERIAL,
SCHL,
UM_DAT,
ZUGANGSDATUM,
DE,
ZUGANG_BEDARF,
FIX_DATUM,
DISP,
DGR,
[NR-DISP]
)
SELECT
DISTINCTROW ZUGANG.MATERIAL,
ZUGANG.SCHL,
IIF([UM_DAT]<>"00.00.0000",[UM_DAT],NULL) AS UM_DAT1,
ZUGANG.DATUM AS ZUGANGSDATUM,
ZUGANG.DE,
ZUGANG.ZUGANG_BEDARF,
IIF([FIX_DATUM]<>"00.00.0000",[FIX_DATUM],NULL) AS FIX_DATUM1,
ZUGANG.DISP,
ZUGANG.DGR,
ZUGANG.[NR-DISP]
FROM ZUGANG
WHERE
(
(
(
ZUGANG.MATERIAL
)
NOT LIKE " MATERIAL"
AND
(
ZUGANG.MATERIAL
)
NOT LIKE "-*"
AND
(
ZUGANG.MATERIAL
)
IS NOT NULL
AND
(
ZUGANG.MATERIAL
)
NOT LIKE ".*"
AND
(
ZUGANG.MATERIAL
)
NOT LIKE "D*"
AND
(
ZUGANG.MATERIAL
)
NOT LIKE "4.*"
AND
(
ZUGANG.MATERIAL
)
NOT LIKE "EDARFSÄNDERUNGEN*"
AND
(
ZUGANG.MATERIAL
)
NOT LIKE "M*"
)
AND
(
(
ZUGANG.DATUM
)
IS NOT NULL
)
)
;
und die tabelle an die ich anfüge die werte als datumsfelder belassen