Avatar billede Slettet bruger
06. november 2004 - 17:05 Der er 12 kommentarer og
1 løsning

felt i access-db = ingenting

Min sql ser sådan her ud:

sql = "update [testing] set [Testing started] = '" & Day(Now) & "-" & Month(Now) & "-" & Year(Now) & "' where [Remaining] <> [Duration] and [Testing started] = ''"

Det er [Testing started] = ''-delen, der ikke virker..
jeg har prøvet med:

[Testing started] Is Null
IsNull([Testing started])
Trim([Testing started]) = ''
Len(trim([Testing started])) = 0
Len(trim([Testing started] & ' ')) = 0
[Testing started] = Null
og meget mere..

Hvad skal man gøre, for at kunne finde alle værdier, der har længden 0.. det være sig en streng med længden 0 ('') eller værdien Null... Er ved at være godt træt af, at man ikke bare kan sammenligne det med = ''..
Avatar billede jkrons Professor
06. november 2004 - 23:09 #1
Hvis dit felæt er defineret som et datofelt, bør

WHERE [Testing Started] Is Null kunne gøre det.

Men det du prøver at skrive i feltet er en streng, og den kan ikek være i et datofelt, så måske ligger problemet her? Hvorfor bruger du ikke bare:


sql = "update [testing] set [Testing started] = Date() where [Remaining] <> [Duration] and [Testing started] Is Null

Din streng finder jo alligevel bare datoen af Now().
Avatar billede Slettet bruger
07. november 2004 - 09:07 #2
Det er ikke et datofelt, men et varchar(255) not null felt..
Avatar billede jkrons Professor
07. november 2004 - 14:50 #3
Det burde virke alligevel. Det gør det i hvert fald hos mig. Så måske ligger problemet et andet sted. Hvad er det for en fejl, du får?
Avatar billede Slettet bruger
07. november 2004 - 16:51 #4
jeg får ikke noget desideret fejl.. problemet ligger i, at [Testing started] = '' returnerer false selvom [Testing started] er null eller en streng uden længde..
Avatar billede jkrons Professor
07. november 2004 - 16:54 #5
Det lyder mystisk? Hvad sker, hvis du tester med Len? Bliver længden rent faktisk 0, eller er der enlængde? Har du evt. mulighed for at sende databasen?
Avatar billede Slettet bruger
07. november 2004 - 17:01 #6
Databasen fylder 30 Mb, så den kan ikke lige sådan sendes, men der er et screenshot af propertiesne her: http://balder.users.whitehat.dk/database.JPG
Avatar billede jkrons Professor
07. november 2004 - 17:17 #7
Properties er såmænd godt nok, men spørgsmålet er jo mere, hvilke data, der ligger i de felter, som tilsyneladende er tomme. Har du prøvet at forespørge på dem med Len()?
Avatar billede Slettet bruger
07. november 2004 - 17:18 #8
jeg har prøvet med
Len(trim([Testing started])) = 0
Len(trim([Testing started] & ' ')) = 0
og der var der ingen, der matchede..
Avatar billede jkrons Professor
07. november 2004 - 17:20 #9
Helt i orden. Men har du prøvet bare at køre en forespørgsel, hvor du som udtryk bruger Len([Testing started]) for at se om feltet ovehovedet har en længde. Altså en udvælgelsesforespørgsel direkte i databasen fremfor i VBA.
Avatar billede Slettet bruger
07. november 2004 - 17:27 #10
Så, som du sagde, efter, hvilke data, der var i databasen, og det viser sig, at felterne havde en standartværdi, som jeg jeg replacede med ingenting, når de blev skrevet ud i excel.. så problemet er løst.. tak for hjælpen.. hvis du gider lægge et svar, ville det være perfekt :P..

/1..
Avatar billede jkrons Professor
07. november 2004 - 23:00 #11
Godt du fik det løst ;-)
Avatar billede Slettet bruger
07. november 2004 - 23:01 #12
jepper.. igen tak for hjælpen :P..

/1..
Avatar billede jkrons Professor
07. november 2004 - 23:02 #13
Velbekomme. Tak for point :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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