Avatar billede zantiago Nybegynder
19. februar 2003 - 09:19 Der er 18 kommentarer og
1 løsning

Sortering efter aktiv / ikke aktiv

Hej Eksperter

Jeg synes at have prøvet alt!

Jeg skal have sorteret en list med rapporter efter om de er afsluttet eller ej.

De skal sorteres efter et bit felt i SQL database - Kigger jeg i databasen, er resultatet sand, hvis den er krydset af, og "blank" hvis der ikke er krydset noget af.

Jeg har derfor prøvet at gøre følgende:

Dem der er afsluttet:
(Virker fint)
If RS0("caseclosed") <> "" Then

Dem der ikke er afsluttet:
(virker ikke)
If RS0("caseclosed") = "" Then
If RS0("caseclosed") <> "sand" Then
If RS0("caseclosed") = Null Then

????? Arghhhhh - HJÆLP!!

/Bruhn
Avatar billede longshanks Nybegynder
19. februar 2003 - 09:23 #1
prøv:
if len(trim(RSO("caseclosed"))) = 0 then
Avatar billede longshanks Nybegynder
19. februar 2003 - 09:25 #2
el:
if RSO("caseclosed") = isNULL then
Avatar billede zantiago Nybegynder
19. februar 2003 - 09:29 #3
Nope - Men den kan vel heller ikke være 0, da den bare er tom - Det er sq lidt mærkeligt.. Ingen af eksemplerne virkede, jeg prøvede endda at teste endnu flere... Bugger!!
Avatar billede longshanks Nybegynder
19. februar 2003 - 09:35 #4
jo len() metoden returnerer længden på strengen i db...og den må vitterligt være 0 hvis den er tom....Men det er jo ligemeget hvis det ikke virker alligevel! :)
Avatar billede longshanks Nybegynder
19. februar 2003 - 09:36 #5
Står "sand" med store eller små bogtaver i db?
Avatar billede zantiago Nybegynder
19. februar 2003 - 09:40 #6
Sand - med stort!!
Avatar billede longshanks Nybegynder
19. februar 2003 - 09:41 #7
prøv denn her!
if lcase(RSO("caseclosed")) <> "sand" then
Avatar billede zantiago Nybegynder
19. februar 2003 - 09:44 #8
Mystisk!! Så fårjeg den post frem der faktisk står sand ved!! - SYGT
Avatar billede longshanks Nybegynder
19. februar 2003 - 09:47 #9
skal nok lige se lidt mere kode så...
Avatar billede zantiago Nybegynder
19. februar 2003 - 09:51 #10
Den der virker:
<%
  Set RS0=Server.CreateObject("ADODB.recordSet")
  Set SQL0=Server.CreateObject("ADODB.connection")

  SQL0.connectionstring="DSN=AGI"
  SQL0.Open
 
    ' Finder alle fejlskemaer og viser dem
      RS0.Open "SELECT * FROM Logistikfejlskema order by 'id'" , SQL0   

    ' Sålænge der er poster
      Do While NOT RS0.EOF
   
    If RS0("caseclosed") = "True" Then

    %>

Den der ikke virker:
<%
  Set RS3=Server.CreateObject("ADODB.recordSet")
  Set SQL3=Server.CreateObject("ADODB.connection")

  SQL3.connectionstring="DSN=AGI"
  SQL3.Open
 
    ' Finder alle fejlskemaer og viser dem
      RS3.Open "SELECT * FROM Logistikfejlskema order by 'id'" , SQL3   

    ' Sålænge der er poster
      Do While NOT RS3.EOF
     
      If RS3("caseclosed") <> "True" Then
      %>

Der mangler nogen End If osv. Men det er ikke de fejl jeg får - Den viser bare ikke noget!! På forhånd Tak
Avatar billede longshanks Nybegynder
19. februar 2003 - 09:59 #11
prøv at udskrive cInt(RS3("caseclosed")) og se om der fremkommer 0 og 1 taller, hvis ikke er jeg lidt blank det ser jo rigtigt nok ud!!!:)
Avatar billede hugopedersen Nybegynder
19. februar 2003 - 10:02 #12
Bare et forslag -
Da SQL server bruger 0 for Falsk og 1 for Sand så lav det så der som default indsættes 0 i dit felt - så er du ude over et af problemerne !
Hvis det virkelig er et bitfelt, burde det principielt ikke virke med at teste på en strengværdi som du gør ( If RS0("caseclosed") = "True" ) Det rigtige må absolut være  If RS0("caseclosed") = 1
Avatar billede zantiago Nybegynder
19. februar 2003 - 10:03 #13
Den skriver -1 ved den der er godkendt, og ikke noget ved den der ikke er godkendt.. Hmm...
Avatar billede eagleeye Praktikant
19. februar 2003 - 10:03 #14
Den er sikket tom = Null så prøv med denne if

if isNull(RS0("caseclosed")) Then
  'Ikke afsluttet


else
  'Afsluttet
endif
Avatar billede eagleeye Praktikant
19. februar 2003 - 10:04 #15
Du kan også tjekke på længden af feltet:

if Len("" & RS0("caseclosed")) = 0 Then
  'Ikke afsluttet

else
  'Afslyttet
end if
Avatar billede longshanks Nybegynder
19. februar 2003 - 10:06 #16
du sætter ikke false ind i db gør du???
Avatar billede zantiago Nybegynder
19. februar 2003 - 10:08 #17
Sætter false ind - Er der noget i vejen med det??
Avatar billede zantiago Nybegynder
19. februar 2003 - 10:10 #18
Eagleeye - DU ER KONGEN!! Mange tak.. Tak for hjælpen ,longshanks, du er virkelig den moralske vinder ;o)
Avatar billede longshanks Nybegynder
19. februar 2003 - 10:11 #19
Du kunne prøve det, så du kan få 1 og 0 taller ud, de må da kunne arbejdes på !!
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
Kurser inden for grundlæggende programmering

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