25. juni 2004 - 11:12Der er
20 kommentarer og 1 løsning
Sammenligning af checkmarks
Hejsa! Jeg har en db med ca. 3000 poster. På hver post er der et "bør"-felt og et "er sket" felt som checkmarks (dem med flueben). Faktisk er der 12 gange de to felter. Et sæt for hver måned. Nu vil jeg gerne have en forespørgsel, der giver mig de poster, hvor markeringen i "bør"-feltet og "er sket"-feltet IKKE stemmer overens. Dvs. der er 12 gange 2 felter på hver post, der skal sammenlignes. Hvordan gør jeg det? Og kan man overhovedet lave en forspørgsel, der sammenligner på checkmarks? /LO
Takker. Jeg kan ikke lige gennemskue.... vil den så give mig en liste over alle de poster, hvor der er uoverensstemmelse? Der er jo sådan set 12 gange 2 kolonner, hvor der kan være uoverensstemmelser i (pr. post i db'en) Lister den så også hvad for nogle af de 12, det er? Gør jeg overhovedet mig selv forståelig....jeg er ikke engang sikker på, at jeg helt selv ville kunne forstå det ;) V.H. LO
Select * From Dintabel Where Bør01<>ErSket01 Or Bør02<>ErSket02 Or Bør03<>ErSket03 Or Bør04<>ErSket04 Or Bør05<>ErSket05 Or Bør06<>ErSket06 Or Bør07<>ErSket07 Or Bør08<>ErSket08 Or Bør09<>ErSket09 Or Bør10<>ErSket10 Or Bør11<>ErSket11 Or Bør12<>ErSket12
Navngivningen af Bør01-Bør12 og ErSket01 til ErSket12 skal selvølgelig ændres til dine egne feltnavne ligesom tabelnavnet.
Det ser mere ud som noget jeg kan bruge :o) Kan desværre ikke nå at arbejde mere på det nu, så jeg ser på mandag, hvordan det ser ud og om det virker... Men det er jo lige før, at man ikke kan holde weekend i ro, af bar spænding over, om det nu også gør det... ;)
Hmmm det virkede så ikke :( De felter, der skal sammenlignes er ja/nej-felter i tabellen, men vises som checkmarks i formularen. Når jeg prøver at køre SQL'en siger den, at der mangler en parameter værdi for de forskellige måneder.....?!? Den er ellers tastet ind, præcis som de skal. Nogle ideer
Hvis der er bindestreg, mellemrum eller andre specialtegn (dog ikke _) skal der kantede parenteser omkring feltnavnene: Select * From [Dintabel] Where [Bør01]<>[ErSket01] Or [Bør02]<>[ErSket02]....
ok.... Nu er det meget mærkeligt.....faktisk De navne der indeholdt bindestreg, brokker den sig ikke længere over, men dem, der indeholder underscore og alligevel er sat i firkantede paranteser, beder den nu om en parameterværdi på.....
Nu harjeg prøvet at slette de firkantede paranteser rund om de navne, der inde holder underscore, men den beder stadig om en parameterværdi. Hvis jeg ny trykker ok til det, alle 12 gange, kommer den med en sortering....desværre synes jeg bare ikke, at det ser rigtigt ud....på nuværende tidpunkt burde alle mine poster nemlig komme med på sådan en forespørgsel, da jeg ikke har afkrydset i "er sket" feltet endnu..... /LO
Når den beder om parameterværdi, så kan du være sikker på, at det er fordi der er tastet noget forkert. Når du bare trykker OK, så indsættes en blank, hvorfor sorteringen selvfølgelig bliver forkert.
Konklusionen er, at feltnavnene MÅ være forkerte! Er du sikker på, at alle de 12 feltnavne er med i den/de tabeller, som er med i den øverste del af forespørgselsgeneratoren?
Juhuuu nu virker det....det viste sig, at der havde sneget sig en stavefejl ind, fra dem der tidligere har arbejdet med databasen.....hvordan skal man også kunne vide, at Februar, skal staves uden R i midten?????? /LO
Hmm...sådan som tabellen er bygget op, kan du ikke umiddelbart skule de måneder, som 'går godt'.
tabellen burde måske have været delt op i 2 tabeller, hvor hver måned således blev en post i stedet for en kolonne. Derved ville du automatisk kun få de måneder som var forskellige. Men det er nok en større omstrukturering der skal til :o(
Ja det lyder lidt omfattende..... Det ville også være ok, hvis det kun var månederne, der blev vist...men alle data for de enkelte poster bliver vist, så man skal langt ud på arket for at finde de relevante oplysninger.... Men takker for svarene anyway :o)
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.