Avatar billede vatos Nybegynder
17. juli 2000 - 17:05 Der er 23 kommentarer og
1 løsning

39 checkbokse

Jeg har 39 checkbokse som skal lægges ned i en database.
Der skal bruges en "update funktion".
Findes der en let måde at ligger så mange felter ned på. Den må kun lægge dem ind hvor ID = session("ID").

Avatar billede erikjacobsen Ekspert
17. juli 2000 - 19:08 #1
Du kunne jo afsætte eet felt af type string/text, og lave det 39 tegn langt. Hvert
tegn repræsenterer så om man har sat krydset eller ej:

  x xx  x x  x x x  xxx  x x x  x x x x

f.eks. ;-)
Avatar billede spacey Nybegynder
17. juli 2000 - 20:16 #2
Hvad med at gøre som erik, men så skrive et "0" hvis den ikke er checked og et "1" hvis den er checket.


Så skriver du dem ind i databasen ved først at lave en variabel der samler alle dataene i en stregn, fx:

Data = Request.form("Nr1") & Request.form("Nr2") osv...


Så skriver du dem bare ind med en normal SQL sætning hvor du så bare kalder variablen Data når du skal hente værdierne...

//Jens
Avatar billede flemming Nybegynder
17. juli 2000 - 21:59 #3
jeg vil ikke foreslå at du benytter ovenstående metode idet alt udtræk af data fra databasen herefter skal gøres manuelt, dvs efterfølgende opslag med join bliver ret meget tunge at arbejde med, f.eks. laver join med andre tabeller på delmængder af de valg der er foretaget i en af dine 39 checkbokse. (man må jo gå ud fra at data skal anvendes til et eller andet fornuftigt i relation til andre tabeller ;=) Hvis det sidste ikke er tilfældet - tja så kan du gøre det.

I stedet for ovenstående ville jeg lave en mapning af data internt i dit program (Et array) til din tabel (databasen).

VB Script: Array(0..30)
SQL tabel: [ID,CheckBoxID] 

Herefter laver du en funtion der tager dit VB array og generer SQL koden, noget a la:

Sub UpdateMultiCheckBox( ByRef Conn, intID, ByRef Ary )
  DIM strSQL
  DIM intBoxID

  intBoxID=0
  For Each Box IN Ary
    strSQL = strSQL &"UPDATE tblTABEL SET Box=" &Value
    strSQL = strSQL &" WHERE CheckBoxID=" &intBoxID &" AND ID=" intID
    intBoxID=intBoxID+1
  Next
  Conn.Execute(strSQL)
End Sub

   






Avatar billede flemming Nybegynder
17. juli 2000 - 22:01 #4
et par smårettelse ;=)

Sub UpdateMultiCheckBox( ByRef Conn, intID, ByRef Ary ) ' Array must contain 0 | 1
  DIM strSQL
  DIM intBoxID

  intBoxID=0
  For Each BoxValue IN Ary
    strSQL = strSQL &"UPDATE tblTABEL SET Box=" &BoxValue
    strSQL = strSQL &" WHERE CheckBoxID=" &intBoxID &" AND ID=" intID
    intBoxID=intBoxID+1
  Next
  Conn.Execute(strSQL)
End Sub

   






Avatar billede vatos Nybegynder
17. juli 2000 - 22:41 #5
Flemming: Det var noget i din stil jeg tænkt på (men må indrømme jeg ikke selv ville kunne udtænke det)

Jeg vil derfor spørge om din hjælp til at implementere det i min kode.
Avatar billede vatos Nybegynder
17. juli 2000 - 22:47 #6
Avatar billede stingbat Nybegynder
18. juli 2000 - 02:12 #7
Tror ikke lige Flemmings eksempel holder!! Den kommer højst sandsynligt med en fejl-meddelelse, hvis der er mere end én box!!
Så nok hellere:
et par smårettelse ;=)

Sub UpdateMultiCheckBox( ByRef Conn, intID, ByRef Ary ) ' Array must contain 0 | 1
  DIM strSQL
  DIM intBoxID

  intBoxID=0
  For Each BoxValue IN Ary
    strSQL = "UPDATE tblTABEL SET Box=" & BoxValue
    strSQL = strSQL & " WHERE CheckBoxID=" & intBoxID & " AND ID=" & intID
    Conn.Execute(strSQL)
    intBoxID=intBoxID+1
  Next
End Sub

// Stingbat
Avatar billede vatoz Nybegynder
18. juli 2000 - 20:39 #8
Spørgsmål forsat i nyt spørsmål med flere point
Avatar billede spacey Nybegynder
18. juli 2000 - 23:16 #9
Vatos>>>> Det der er altså FAKE!

Du har tydeligvis 2 brugere, en der ender på S og en der ender på Z!
Avatar billede vatos Nybegynder
18. juli 2000 - 23:18 #10
hvad skal jeg gøre, jeg mangler hjælp til at implementere det og havde ikke flere point !!!
Avatar billede spacey Nybegynder
18. juli 2000 - 23:28 #11
Du må jo stadig overholde reglerne!

Så må du vente et par dage og få flere point på den måde, eller prøve at oprette et spm. til 0 points og se om der ikke er en venlig sjæl der vil hjælpe!
Avatar billede vatos Nybegynder
18. juli 2000 - 23:32 #12
du har ret
Avatar billede erikjacobsen Ekspert
19. juli 2000 - 00:07 #13
og så er vatos/vatoz kommet på min "sorte liste"...... ;-(
Avatar billede vatos Nybegynder
19. juli 2000 - 00:10 #14
hvordan sletter man den ene bruger ?
Avatar billede vatos Nybegynder
19. juli 2000 - 00:11 #15
Jeg gjorde ikke for at snyde !
Avatar billede erikjacobsen Ekspert
19. juli 2000 - 00:14 #16
Bare rolig, v, der sker intet ved at være på min sorte liste. Der skal nok være masser andre
der vil hjælpe dig. Jeg gider bare ikke hjælpe en, der ikke gider sætte sig ind i reglerne og
ikke gider overholde dem. Det er efter min erfaring her på stedet rent tidsspilde.
Avatar billede spacey Nybegynder
19. juli 2000 - 00:22 #17
Erik>>> HVorfor er du ikke på ICQ?

Og btw, vatos, jeg tror ikke at erik er den eneste der har smidt dig på den sorte list.....
Avatar billede vatoz Nybegynder
19. juli 2000 - 00:23 #18
Ja, jeg ved det godt, men du ved hvordan der er, man krydser bare de felter der skal til for at blive færdig hurtigt.
Det har sgu aldrig været min mening at udnytte nogen som gerne ville hjælpe.
Avatar billede spacey Nybegynder
19. juli 2000 - 00:27 #19
Vatoz>>>> Der er faktisk nogen der prøver at tage dette sted seriøst!!!!

Se fx. Erik som har besvaret 403 spørgsmål herinde, næsten alle sammen om programmering, og i mange af dem har han leveret mere eller mindre komplette sourcecodes!!!

Tænk på hvormange timer han alt ialt har brugt på at hjælpe folk herinde, er det så ikke at skide på dem der gider hjælpe når man bryder en af de få men MEGET SIMPLE regler som der er herinde????


(det syntes jeg det er)

//Jens
Avatar billede vatos Nybegynder
19. juli 2000 - 00:32 #20
Spacey:
Jeg gir dig fuldstændig ret. Jeg havde bare ikke orienteret mig disse simple regler, som jeg udemærket forstår. Det er min fejl.
Dog ville du kunne se at jeg på ingen måde udnyttede det, jeg ønskede blot ydeligere oplysninger i et spørgsmål.
Hvis jeg havde været ude på at udnytte nogen ville jeg have oprettet ligegyldige spørgsmål og selv svaret på dem og på den måde få point.
Jeg gjorde det fordi jeg utrolig gerne vil have mit projekt til at fungere.
Avatar billede vatos Nybegynder
19. juli 2000 - 00:33 #21
Vatoz vil ikke blive logget på mere !
Avatar billede erikjacobsen Ekspert
19. juli 2000 - 00:35 #22
Så så, spacey. Tag det nu lige lidt roligt..... Slap af .... Hold sommerferie ..... Min "sorte liste" er
såmænd bare min måde at fordele min tid lidt fornuftigt. Og jeg glemmer også sommetider at
kigge på den.... hehe...    (PS: Mit ICQ-program døde og jeg har ikke fået det slået ihjel og genstartet. Derfor)
Avatar billede spacey Nybegynder
19. juli 2000 - 00:38 #23
Vatos>>> INdrømmet, det er ikke din slags der er de værste, og jeg kan godt forstå din desperation over manglen på points!!!

Erik>>> Hmmm, efter jeg har mødt idioter som Wip13 og andre herinde skal man sq ikke slappe af, de skal da bare have at vide hvad man mener om dem :-)
Avatar billede vatos Nybegynder
19. juli 2000 - 00:42 #24
I bestemmer selv om I vil putter mig på jeres sorteliste, men jeg håber I kan bærer over med mig hvis jeg får brug for hjælp ( og det gør jeg, da jeg stadig er begynder i ASP)
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