Avatar billede jensdreier Nybegynder
19. februar 2004 - 14:39 Der er 29 kommentarer og
2 løsninger

Chekboks / ja/nej / access

hejsa.

Jeg er ved at lave et bruger system.

1. Jeg vil lave det sådan at jeg ud fra en formular udfylder navn osv. Også har jeg lavet en chekboks i formularen, der skal kunne afmærke et yes/no felt i min database.

Min chekboks i formularen hedder admin. og den sender data til denne sql streng

strSQL="insert into Brugere(Navn, Brugernavn, Adgangskode) values ('" & request.form("Navn") & "', '" & request.form("Brugernavn") & "', '" & request.form("Adgangskode") & "')"
conn.execute(strsql)

Hvad og hvordan skal jeg flette det ind i den streng for at kunne afmærke yes/no feltet ?

jeg vil også have mulighed for at redigere i det yes/no felt.
igen hedder checkboxen admin. og SQL strengen er således

strSQL="Update brugere Set navn = '" & request.form("navn") & "', brugernavn = '" & request.form("brugernavn") & "', adgangskode = '" & request.form("adgangskode") & "' Where id = " & request.form("id") & ""
Conn.Execute(strSQL)

Igen vil jeg gerne have info om hvad og hvordan jeg skal sætte det ind i den streng.

En ting mere er jeg skal have lavet et udtræk i databasen fra netop det ja/nej felt så verdien kommer i min chekboks .
jeg har prøvet med den her nedestående kode

<input type="checkbox" name="admin" value="<% if rs("Admin") = "ja" then response.write"ON" end if %>">

Men det fungere ikke


Jeg har prøvet at søge lidt på nettet men fandt ikke rigtig noget der kan løse de 3 punkter jeg har til jer at hjælpe mig med.

Jeg har prøvet at forkalre mig så godt som muligt. håbet jeg får et brugebart svar :)

-/ Jens
Avatar billede fennec Nybegynder
19. februar 2004 - 15:14 #1
1. del

dim admin
if request.form("admin") = "on" then
  admin = "true"
else
  admin = "false"
end if
conn.execute("insert into bruger(admin) values("& admin &")")
conn.execute("update bruger set admin="& admin &" where id="& request.form("id"))
Avatar billede fennec Nybegynder
19. februar 2004 - 15:16 #2
2. del

<input type="checkbox" name="admin" value="on" <% if rs("Admin") = "ja" then response.write "checked" %>>
Avatar billede fennec Nybegynder
19. februar 2004 - 15:19 #3
jeg er ikke sikker på hvad rs("Admin") returnere, men jeg tror ikke det er "ja", ellers lav en response.write rs("Admin"), for at finde ud af det. Der bliver sikkert returneret "true"/"false" også skal rs("Admin") = "ja" selvfølgelig ændres til rs("Admin") = "true"
Avatar billede jensdreier Nybegynder
19. februar 2004 - 20:47 #4
Hmm response.write rs("admin") retunere enten 0 eller -1 :7
Avatar billede jensdreier Nybegynder
19. februar 2004 - 20:57 #5
<input type="checkbox" name="admin" value="on" <% if rs("admin") = "0" then response.write "checked" end if %>>

det virker ikke .. den sætter ikke flueben i dem der er af værdien 0
Avatar billede askeb Nybegynder
19. februar 2004 - 20:59 #6
<input type="checkbox" name="admin" value="on" <%
if rs("admin") = "0" then
response.write "checked"
end if %>>
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:06 #7
askeb <- er det ikke også det jeg har skrevet over dit forslag ? *G*
Avatar billede askeb Nybegynder
19. februar 2004 - 21:08 #8
jo :P
det var mere hvis han tog det som det stod, istedet for at dele det op på flere linier...
Avatar billede fennec Nybegynder
19. februar 2004 - 21:11 #9
<input type="checkbox" name="admin" value="on" <% if rs("admin")&"" = "0" then response.write "checked" end if %>>

du sammenligner en streng med et tal = aldrig opfyldt... som vist eller rs("admin") = 0
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:12 #10
strSQL="Update brugere Set navn = '" & request.form("navn") & "', brugernavn = '" & request.form("brugernavn") & "', adgangskode = '" & request.form("adgangskode") & "', admin = '" & request.form("admin") & "' Where id = " & request.form("id") & ""
Conn.Execute(strSQL) <- linje 108
retunere denne fejl
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/herluf/brug.asp, line 108

strSQL="insert into Brugere(Navn, Brugernavn, Adgangskode, admin) values ('" & request.form("Navn") & "', '" & request.form("Brugernavn") & "', '" & request.form("Adgangskode") & "', '" & request.form("admin") & "')"
conn.execute(strsql) <- linje 28

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/herluf/brug.asp, line 28
Avatar billede askeb Nybegynder
19. februar 2004 - 21:14 #11
ej undskyld - jeg skulle vist ikke ha blandet mig *G* - sorry
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:15 #12
fennec .. ok det vil sige at så længe min database udskriver 0 og -1 som true og false så vil det ikke virker ?
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:16 #13
askeb -> det gør skam ikke noget.
Avatar billede askeb Nybegynder
19. februar 2004 - 21:17 #14
det vil virke når du gør ligesom han har skrevet ;)
(( if rs("admin")&"" = "0" then ))
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:20 #15
<input type="checkbox" name="admin" value="on" <% if rs("admin") <> 0 then response.write "checked" end if %>> det virker !!! damn det var bare et rent gæt *G*
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:21 #16
askeb -> nej det virkede ikke men den kode jeg skrev oven-over virker altså

<input type="checkbox" name="admin" value="on" <% if rs("admin") <> 0 then response.write "checked" end if %>>
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:23 #17
så mangler jeg bare en logisk forklaring på det sidste
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:27 #18
aaah .. min fejl do
conn.execute("insert into bruger(admin) values("& admin &")")
conn.execute("update bruger set admin="& admin &" where id="& request.form("id"))
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:28 #19
fennec -> du får point for det med
conn.execute("insert into bruger(admin) values("& admin &")")
conn.execute("update bruger set admin="& admin &" where id="& request.form("id"))

Checkboxen fandt jeg selv ud af men tak for inspiration

lav et svar så du kan få de 30
Avatar billede askeb Nybegynder
19. februar 2004 - 21:32 #20
"if rs("admin") <> 0 then response.write "checked" end if"

nu gør den det at hvis admin er alt andet end 0 så er chekboxen checket.
så burde check boxen være checket når den ikke skal være det...
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:32 #21
HOV !!!
når jeg har den her kode

strSQL="Update brugere Set navn = '" & request.form("navn") & "', brugernavn = '" & request.form("brugernavn") & "', adgangskode = '" & request.form("adgangskode") & "' Where id = " & request.form("id") & ""
conn.execute("update brugere set admin="& admin &" where id="& request.form("id"))
response.redirect "?mode=red"

så smider den kun data i tabellen om chekboksen resten af felterne er pludselig blanke ...
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:33 #22
jeps og true er = -1 ;) :D
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:35 #23
Jeg mente den her kode
strSQL="insert into Brugere(Navn, Brugernavn, Adgangskode) values ('" & request.form("Navn") & "', '" & request.form("Brugernavn") & "', '" & request.form("Adgangskode") & "')"
conn.execute("insert into brugere(admin) values("& admin &")")

så opretter den brugere men den vil kun tageimod dataer fra chekboxen. de andre indput felter ignorer den
Avatar billede askeb Nybegynder
19. februar 2004 - 21:35 #24
det er klart...
Du executer kun det inden i parantesen ;) :

strSQL="Update brugere Set navn = '" & request.form("navn") & "', brugernavn = '" & request.form("brugernavn") & "', adgangskode = '" & request.form("adgangskode") & ", admin = "& admin &" Where id = " & request.form("id") & ""

conn.execute(strSQL)
Avatar billede askeb Nybegynder
19. februar 2004 - 21:36 #25
sårn så:

strSQL="insert into Brugere(Navn, Brugernavn, Adgangskode, Admin) values ('" & request.form("Navn") & "', '" & request.form("Brugernavn") & "', '" & request.form("Adgangskode") & "'," & admin & ")"
conn.execute(strSQL)
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:44 #26
Mange tak askeb...

Bare en lille ting mere
din Update brugere kode ( som jeg også fik brug for :D )retunere en fejl

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''testbruger, admin = true Where id = 8'.

/herluf/brug.asp, line 111

Kan det have noget med den variabel at gøre ?
Avatar billede askeb Nybegynder
19. februar 2004 - 21:47 #27
der mangler bare et quot:

strSQL="Update brugere Set navn = '" & request.form("navn") & "', brugernavn = '" & request.form("brugernavn") & "', adgangskode = '" & request.form("adgangskode") & "', admin = "& admin &" Where id = " & request.form("id") & ""
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:51 #28
Okay...

Jamen så syntes jeg at du fortjener pointne askeb..

svar plz :)
Avatar billede jensdreier Nybegynder
19. februar 2004 - 21:52 #29
det der med ' og " og & skal jeg virkelig have lært en dag :o jeg kan ikke lige se logikken i det .. :/
Avatar billede askeb Nybegynder
19. februar 2004 - 21:58 #30
det er nok en af de mest basale ting i asp, så det er nok smart at få det på plads...
jeg synes vi skal dele pointene...
Avatar billede fennec Nybegynder
20. februar 2004 - 08:03 #31
den er jeg med 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