Avatar billede thomas_regin Nybegynder
04. juli 2001 - 21:23 Der er 11 kommentarer og
1 løsning

Hjælp med irriterende Loop!

Hejsa!.. Jeg har et irriterende simpelt problem, som jeg nu alligevel har kæmpet med i flere timer!..
Jeg har et loop, som skal checke, om min bruger allerede er tilmeldt en given kategori. Hvis denne bruger ER tilmeldt, så skal den lave flueben i checkbox\'en.. Hvis ikke, så skal der ikke være flueben!.. Her er koden:

tear_up_group = split(memRS(\"Costumer_shared_groups\"),\",\")
do while not pri_rs.eof
        for each group in tear_up_group
              if group = cstr(pri_rs(\"Prioritet_ID\")) then
                      check = \"checked\"   
              else
                      check = \"\"
            end if
        next
      Response.Write \"<input type=checkbox \" & check & \" name=the_groups value=\'\" & pri_rs(\"Prioritet_id\") & \"\'>Gruppe: \" & Pri_rs(\"Prioritet_description\") & \"<br>\"&vbcrlf &vbcrlf               
  Pri_rs.MoveNext
loop

Der er pt. 3 \"groups\" in tear_up_group. Problemet er, at denne udgave \"Checker\" alle checkboxe.. Og jeg kan godt forstå hvorfor den fejler, men jeg kan sgu\' ikke lige udtænke en anden måde at opsætte dette loop på, så jeg er MEGET åben over for forslag!..

På forhånd tak,

Thomas Regin.
Avatar billede surreal Nybegynder
04. juli 2001 - 21:24 #1
Response.Write(check) check er nemlig en variable, som skal udskrives ligesom tekst
Avatar billede surreal Nybegynder
04. juli 2001 - 21:26 #2
Lå ikke mærke til at hele sætning var en Response.Write
Avatar billede surreal Nybegynder
04. juli 2001 - 21:26 #3
Prøve udskriv din variable check for at se om der bliver lagt noget i den
Avatar billede nuno Nybegynder
04. juli 2001 - 21:36 #4
arrTear_up_group() = split(memRS(\"Costumer_shared_groups\"), \",\")

do while not pri_rs.eof
  for i = 0 to Ubound(arrTear_up_group)
    if arrTear_up_group(i) = cstr(pri_rs(\"Prioritet_ID\")) then
      check = \"checked\"   
    else
      check = \"\"
    end if
  next

  Response.Write \"<input type=checkbox \" & check & \" name=the_groups value=\'\" & pri_rs(\"Prioritet_id\") & \"\'>Gruppe: \" & Pri_rs(\"Prioritet_description\") & \"<br>\"&vbcrlf &vbcrlf               
  Pri_rs.MoveNext
loop



kan du bruge det?
hvis ikke - så prøv:
for i = 0 to Ubound(arrTear_up_group)
  response.write arrTear_up_group(i)
  response.write cstr(pri_rs(\"Prioritet_ID\"))
  if arrTear_up_group(i) = cstr(pri_rs(\"Prioritet_ID\")) then
    check = \"checked\"   
  else
    check = \"\"
  end if
next

så kan du se hvad variablene indeholder...

/nuno
Avatar billede surreal Nybegynder
04. juli 2001 - 21:45 #5
Prøve:
...
if group = cstr(pri_rs(\"Prioritet_ID\").Value) then
...
Avatar billede nuno Nybegynder
04. juli 2001 - 21:48 #6
surreal> det skulle ikke betyde noget - for i ADO er .Value default på recordsettet - dvs. hvis der ikke skrives andet - så vil den tage value :)
Avatar billede surreal Nybegynder
04. juli 2001 - 21:50 #7
Prøve udskrive check for at se om den er lige med \"checked\" eller \"\"?
Avatar billede thomas_regin Nybegynder
04. juli 2001 - 22:16 #8
Ja, så er jeg tilbage igen, og har kigget igennem jeres forslag!.. Der er desværre ikke nogen af dem, der virker!.. Den laver fuldstændigt det samme som før. Hvis jeg bytter lidt rundt på loopet, så bliver første checkbox \"checked\", men ikke resten. Variablerne bliver udskrevet rigtigt.

Det er sgu\' lige til at blive syg over, at jeg ikke kan løse så simpelt et problem, når man har gjort det 100 gange før!.. :)

Jeg håber, at i har nogle andre forslag, da jeg så småt er ved at begynde, at overveje at finde en høj bro, som jeg kan hoppe fra!.. :-)

Thomas..
Avatar billede thomas_regin Nybegynder
04. juli 2001 - 22:23 #9
Problemet er, at loopet når at sætte Check = \"\" før jeg får udskrevet input-boxen!.. Dvs, at uanset hvad jeg laver, så vil Check altid være = \"\".. Jeg kunne jo selvfølgelig vælge at sætte input-boxen ind i for..Next loopet, men så vil den udskrive denne inbox alt for mange gange, fordi den samtidigt er inde i en do..while løkke!..

Thomas.
Avatar billede nuno Nybegynder
05. juli 2001 - 09:57 #10
hmm...

tear_up_group = split(memRS(\"Costumer_shared_groups\"),\",\")
do while not pri_rs.eof
        for each group in tear_up_group
              if group = cstr(pri_rs(\"Prioritet_ID\")) then
                      check = \"checked\"
                      exit for   
              else
                      check = \"\"
            end if
        next
      Response.Write \"<input type=checkbox \" & check & \" name=the_groups value=\'\" & pri_rs(\"Prioritet_id\") & \"\'>Gruppe: \" & Pri_rs(\"Prioritet_description\") & \"<br>\"&vbcrlf &vbcrlf               
  Pri_rs.MoveNext
loop

exit for bryder ud af for løkken - lige efter den har sat en checkbox til checked - så får du i hvert fald ikke probs med at den tester på andre værdier senere - og dermed igen sætter check=\"\"


/nuno

Avatar billede nuno Nybegynder
05. juli 2001 - 09:58 #11
men det er lidt svært - når man ikke ved hvad dine variable indeholder - fx hvilke data der har betydning for om den skal sætte den til checked - og hvordan det relaterer til recordsettet - for det kan være dine løkker skal konstrueres anderledes - overordnet set...
Avatar billede thomas_regin Nybegynder
04. august 2001 - 10:06 #12
Hejsa igen!

Problemet løste sig selv: Jeg droppede at idéen med at checke de boxe. :)

Jeg giver pointene til Nuno, som var tættest på med et svar!

Mange tak for hjælpen til jer begge to!.. :)

Thomas.
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