Avatar billede tommyrasmussen Nybegynder
12. april 2005 - 13:01 Der er 4 kommentarer og
1 løsning

sæt felt=Null hvis værdi er "0"

Mit spørgsmål har til dels været behandlet før: http://www.eksperten.dk/spm/608369

Jeg har en tabel med 8 kolonner.
De hedder A1,A2,A3,A4,A5,A6,A7,A8

Jeg vil gerne have kørt en kodestump der kigger på hver enkelt post for at se om nogle værdier =0 for så vil jeg gerne have slettet feltet helt (=Null)

Nedenstående kode virker på den første kolonne, men hvordan får jeg koblet de andre på ?

UPDATE Data SET Data.A1 = Null
WHERE (((Data.A1)=0));
Avatar billede sjap Praktikant
12. april 2005 - 16:13 #1
Prøv med

UPDATE Data SET Data.A1 = IIf([A1]=0,Null,[A1]), Data.A2 = IIf([A2]=0,Null,[A2]), Data.A3 = IIf([A3]=0,Null,[A3]), Data.A4 = IIf([A3]=0,Null,[A4]), Data.A5 = IIf([A3]=0,Null,[A5]), Data.A6 = IIf([A3]=0,Null,[A6]), Data.A7 = IIf([A3]=0,Null,[A7]), Data.A8 = IIf([A3]=0,Null,[A8])
WHERE (((Data.A1)=0)) OR (((Data.A2)=0)) OR (((Data.A3)=0)) OR (((Data.A4)=0)) OR (((Data.A5)=0)) OR (((Data.A6)=0)) OR (((Data.A7)=0)) OR (((Data.A8)=0)) OR ;

Where delen er faktisk overflødig, så den kan du godt udelade (det kan give en langsommere afvikling, da den så opdaterer i alle poster).
Avatar billede tommyrasmussen Nybegynder
12. april 2005 - 18:03 #2
Det ser ud til at virke fint.
Tak for hjælpen.
Der var et par småfejl jeg har rettet. [A3] gik igen for mange gange i den øverste del af sætningen. Skidt pyt - småting.

Jeg har udeladt Where-delen, og det virker tilsyneladende uden.
Avatar billede sjap Praktikant
12. april 2005 - 18:20 #3
Jeg det gik måske for hurtigt med kopieringen :0)
Avatar billede tommyrasmussen Nybegynder
12. april 2005 - 20:27 #4
Undskyld, men hvordan ville ovenstående se ud i VBA.
Jeg skulle gerne have lagt det ned i kode, så jeg kan aktivere det ved
hjælp af en timer.
Avatar billede sjap Praktikant
12. april 2005 - 21:13 #5
Du kan bruge DoCmd.RunSQL - f.eks.:

DoCmd.RunSQL "UPDATE Data SET Data.A1 = IIf([A1]=0,Null,[A1]), Data.A2 = IIf([A2]=0,Null,[A2]), Data.A3 = IIf([A3]=0,Null,[A3]), Data.A4 = IIf([A4]=0,Null,[A4]), Data.A5 = IIf([A5]=0,Null,[A5]), Data.A6 = IIf([A6]=0,Null,[A6]), Data.A7 = IIf([A7]=0,Null,[A7]), Data.A8 = IIf([A8]=0,Null,[A8])
WHERE (((Data.A1)=0)) OR (((Data.A2)=0)) OR (((Data.A3)=0)) OR (((Data.A4)=0)) OR (((Data.A5)=0)) OR (((Data.A6)=0)) OR (((Data.A7)=0)) OR (((Data.A8)=0));"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester