/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Checkboxe til access-db og tilbage igen
Fra : Jørgen Harreby


Dato : 21-10-02 10:01

Det her er nok rimelig simpelt, jeg kan bare ikke få det til at
virke.

Jeg har en ASP-side med en liste fra en database. Tilknyttet hver
entry er der 8 checkboxe. Disse checkboxe skulle gerne vise
værdierne i 8 Ja/Nej felter i en access db. Ligeledes skal man
kunne ændre hakkerne i checkboxene og opdatere databasen med de
nye værdier. Ingen af tingene kan jeg få til at virke. Jeg får i
stedet en "Falsk" værdi i min database.

Er man nød til at konvertere værdien fra checkboxen til et Ja/Nej
før man sender det til databasen, eller er der noget jeg har
overset. I givet fald, hvordan tester jeg på om boxen er
"checked". Den anden vej kan jeg nok hitte ud af, hvis man altså
er nødt til at konvertere data manuelt.

På forhånd tak

Jørgen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Chrisser (21-10-2002)
Kommentar
Fra : Chrisser


Dato : 21-10-02 10:13

"Jørgen Harreby" <jorgen@harreby.com> skrev i en meddelelse
news:ap0fp1$esu$1@sunsite.dk...
>
> Er man nød til at konvertere værdien fra checkboxen til et Ja/Nej
> før man sender det til databasen, eller er der noget jeg har
> overset. I givet fald, hvordan tester jeg på om boxen er
> "checked". Den anden vej kan jeg nok hitte ud af, hvis man altså
> er nødt til at konvertere data manuelt.
>
Du skriver ikke hvilken type dine felter i databasen er... ( hvis det f.eks
er hvad der i MSSQL svarer til en tinyint som har værdien 1 eller 0, så
stemmer det måske ikke overensmed den rå værdi fra checkboksen)
Så vidt jeg husker vil en checkboks antage værdien "on" eller "of", hvis du
ikke særskilt angiver en anden værdi, men da min hukommelse nogele gange
tager pis på mig vil jeg foreslå at du, før du prøver at indsætte/opdatere i
databasen, udskriver værdien af en af dine checkbokse når den henholdsvis er
krydset af og når den ikke er:

Response.write "værdi: " & Request.Form("checkboks1")

Nu ved du så hvad du får ud af formen, hvis det ikke lige passer til det du
gerne vil have ind i database kan du jo altid sætte nogle mere passende
værdier på:

If Request.Form("checkboks1") = "on" Then
nyværdi = "ja" ' eller 1
Else
nyværdi = "nej" ' eller 0
End If
- og så putte nyværdi i databasen

Håber dette var noget du kunne bruge
Chrisser



Jens Gyldenkærne Cla~ (21-10-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 21-10-02 11:26

Chrisser skrev:

> Du skriver ikke hvilken type dine felter i databasen er

Jo da.

bq1:
Fra Jørgen Harrebys indlæg
-
Disse checkboxe skulle gerne vise værdierne i 8 Ja/Nej felter i en
access db.
#

Det drejer sig altså om ja/nej-felter i en Access-database.

> hvis det f.eks er hvad der i MSSQL svarer til en tinyint som
> har værdien 1 eller 0

Tinyint kan indholde tal fra 0-255 (1 byte)

Datatypen bit kan kun indeholde 0 og 1 (samt null). Den fylder også
1 byte, men er der flere bit-felter i samme tabel lægges de sammen
i grupper af 8.

> Så vidt jeg husker vil en checkboks antage værdien "on" eller
> "of", hvis du ikke særskilt angiver en anden værdi,

Du har ret mht. "on" (har just afprøvet det) - men der sendes ingen
værdi hvis der ikke er sat kryds.

> men da min hukommelse nogele gange tager pis på mig vil jeg
> foreslå at du, før du prøver at indsætte/opdatere i databasen,
> udskriver værdien af en af dine checkbokse når den henholdsvis
> er krydset af og når den ikke

Det er altid en god ide.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Chrisser (21-10-2002)
Kommentar
Fra : Chrisser


Dato : 21-10-02 12:03

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns92AE7E7E13167jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Chrisser skrev:
>
> > Du skriver ikke hvilken type dine felter i databasen er
>
> Jo da.
>
> bq1:
> Fra Jørgen Harrebys indlæg
> -
> Disse checkboxe skulle gerne vise værdierne i 8 Ja/Nej felter i en
> access db.

Sorry, jeg var ikke klar over at et Ja/Nej felt i access var en datatype -
jeg opfattede det ligesom hvis man har oprettet "et felt til adressen og et
til postnummeret", altså ingen garanti for hvilken felttype især postnummer
ville være oprettet som...

> Det drejer sig altså om ja/nej-felter i en Access-database.
>
> > hvis det f.eks er hvad der i MSSQL svarer til en tinyint som
> > har værdien 1 eller 0
>
> Tinyint kan indholde tal fra 0-255 (1 byte)
>

Jo, men den jeg har ofte set den brugt som opridset ovenfor, derfor
sammenligningen ( som altså ikke var nødvendig )

> Datatypen bit kan kun indeholde 0 og 1 (samt null). Den fylder også
> 1 byte, men er der flere bit-felter i samme tabel lægges de sammen
> i grupper af 8.


I MSSQL ?
-så blev jeg også klogere idag


> > Så vidt jeg husker vil en checkboks antage værdien "on" eller
> > "of", hvis du ikke særskilt angiver en anden værdi,
>
> Du har ret mht. "on" (har just afprøvet det) - men der sendes ingen
> værdi hvis der ikke er sat kryds.

Det har du vist egentlig ret i...

Jeg har lige læst dit svar til Jørgen og det var, i modsætning til mit,
målrettet til brugen af en access database, som forhåbentlig var mere
brugbart for ham.
Hvad angår checkbokse, har jeg altid bare testet for om den var afkrydset,
og på den baggrund tildelt mine variable en passende værdi, men jeg kan godt
indse det smarte i at sætte value op hvis den alligevel skal puttes direkte
i et "tilsvarende" felt i databasen - det var bare ikke lige den tanke der
faldt mig først ind da jeg læste indlægget, jeg tænkte bare at værdien nok
ikke var sat, og at det kunne være derfor testen fejlede ( hvis den gjorde
det ).


MVH
Chrisser




Jørgen Harreby (22-10-2002)
Kommentar
Fra : Jørgen Harreby


Dato : 22-10-02 09:39

Jeg ville bare sige tak til jer begge to for svarene. Det var rigeligt til at
jeg kunne komme videre.

Det er altid fedt når i hardcore-kodere gider tage jer tid til at hjælpe os
newbies til at komme videre med vores kode-problemer.

Jørgen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (21-10-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 21-10-02 10:26

Jørgen Harreby skrev:

> Er man nød til at konvertere værdien fra checkboxen til et Ja/Nej
> før man sender det til databasen,

Ja - bortset fra at du ikke skal konvertere til ja/nej (som er en
af Access' visninger for et boolesk felt) men til true/false (som
er de værdier der kan gemmes i feltet.

> I givet fald, hvordan tester jeg på om boxen er "checked".

Prøv at eksperimentere med hvad du får ud med et
Request.[Form|Querystring]("checkboksfelt").
Et hak i en boks giver "<name>=<value>", mens intet hak ikke
returnerer noget.

Se evt. et eksempel her: <http://damu.dk/jc/usenet/formtest.asp>

For at konvertere til en accessværdi kan du bruge noget ala det
her:

Dim boolValue

If request.querystring("checkboksfelt") = "true" Then
   boolValue = "true"
Else
   boolValue = "false"
End If

Dim strSQL

strSQL = "UPDATE tbl_navn SET boolFelt = " & boolValue & " ,...."

Bemærk at booleske værdier ikke skal i anførselstegn når de skal
fortolkes af Access - men for at indgå i en sqlsætning skal de
erklæres som tekstvariable (derfor skal der altså _ikke_ stå
boolValue = true i if-sætningen).

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408539
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste