Avatar billede babyworm Nybegynder
12. juli 2004 - 18:56 Der er 13 kommentarer og
1 løsning

Afkrydsning af Ja/nej i Access

Hejsa...


Jeg har et spørgsmål..


Jeg har lavet en database med felterne:

id - autonummering
navn - tekst
mandag - ja/nej
tirsdag - ja/nej
onsdag - ja/nej


og så har jeg lavet en edituser.asp som ser sådan ud:

<!-- #include file="conn.asp" -->
<%
strCmd = Request.QueryString("cmd")

openConn()

strid        = Request.querystring("id")

If strCmd = "update" Then

            strMandag            = replace(Request.Form("mandag")&"","'","''")
            strTirsdag            = replace(Request.Form("tirsdag")&"","'","''")
            strOnsdag          = replace(Request.Form("onsdag")&"","'","''")

        strSQL = "UPDATE meeting SET Mandag='" & strMandag & "',Tirsdag='" & strTirsdag & "',Onsdag='" & strOnsdag & "' WHERE id=" & strid
            connection.Execute(strSQL)
            'Response.Write(strSQL)

%>
        <h1>Brugeren er nu rettet!</h1><br>
<%   

Else

    strId = Request.QueryString("id")
    strSQL = "SELECT navn,mandag,tirsdag,onsdag FROM meeting WHERE Id=" & strId
    Set rs = connection.Execute(strSQL)

        If Not (rs.EOF Or rs.BOF) Then

%>


<form method="post" action="edituser.asp?id=<%=Strid%>&cmd=update">

        <% if rs("Mandag") = False Then %>
            <input type="checkbox" name="Mandag" value="False"> <b>- Mandag</b><br>
        <% Else %>
            <input type="checkbox" name="Mandag" value="True" checked> <b>- Mandag</b><br>
        <% End if %>

        <% if rs("Tirsdag") = False Then %>
            <input type="checkbox" name="Tirsdag" value="False"> <b>- Tirsdag</b><br>
        <% Else %>
            <input type="checkbox" name="Tirsdag" value="True" checked> <b>- Tirsdag</b><br>
        <% End if %>

        <% if rs("Onsdag") = False Then %>
            <input type="checkbox" name="Onsdag" value="False"> <b>- Onsdag</b><br>
        <% Else %>
            <input type="checkbox" name="Onsdag" value="True" checked> <b>- Onsdag</b><br>
        <% End if %>
<input type="submit" value="Rediger brugeren" class="input">

</form>
<% Else %>

Fejl, brugeren eksisterer ikke<br><br>
<a href="java script:this.history.go(-1);">Tilbage</a>
              <div align="left"><font size="2"></font></div>
<%
End If
%>

<%
End if
closeConn()
%>


Når jeg ændrer i afkrydsningen og trykker opdater, sker der ingenting... hvorfor?
Avatar billede ducks Nybegynder
12. juli 2004 - 19:23 #1
Jeg forstår ikke helt hvad du mener?

Er det sådan noget?
If Request.Form("checkbox") = False Then
  Falsk
Else
  True
End If
Avatar billede babyworm Nybegynder
12. juli 2004 - 19:34 #2
nej.. det er noget i stil med:

hvis mandag feltet i databasen er krydset af
  så skal den vise et afkrydsningsfelt der er krydset af
Hvis mandag feltet i databasen ikke er krydset af
  så skal den vise et afkrydsningsfelt der ikke er krydset af

Hvis man så har et afkrydset felt der ikke er kryds i, så skal man kunne sætte kryds i og så ændrer det sig også i databasen
Avatar billede jytte Nybegynder
12. juli 2004 - 19:40 #3
Du må ikke have flere checkboxe der hedder det samme.

Derudover er der det specielle ved checkboxe at du kun kan få en værdi af request.Form("checkboxnavn") hvis denne er checked (ellers findes "checkboxnavn" slet ikke i request.form)I
Avatar billede jytte Nybegynder
12. juli 2004 - 19:51 #4
glem min kommentar om flere checkboxe med samme navn - det har du jo ikke.

Men du kunne måske bruge radioknapper i stedet for checkboxe da ikke alle brugere ved at cheked=ja og unchecked=nej.
Avatar billede babyworm Nybegynder
12. juli 2004 - 19:53 #5
Dvs. det kan slet ikke lade sig gøre?

Jeg ville helst hvis det kunne lade sig gøre at det var afkrydsning...

Kan jeg ikke få det til at virke tror du?
Avatar billede jytte Nybegynder
12. juli 2004 - 20:06 #6
du kan da prøve med

strMandag    = replace(Request.Form("mandag")&"","'","''")
strTirsdag  = replace(Request.Form("tirsdag")&"","'","''")
strOnsdag    = replace(Request.Form("onsdag")&"","'","''")

if request.form("mandag") ="" then strMandag="False"
if request.form("tirsdag")="" then strTirsdag="False"
if request.form("onsdag") ="" then strOnsdag="False"
Avatar billede babyworm Nybegynder
12. juli 2004 - 20:07 #7
Hvor skal de ligge henne?
Avatar billede jytte Nybegynder
12. juli 2004 - 20:13 #8
Da du ønsker "False" indsat i databasen når mandag ikke er checked vil

strMandag    = replace(Request.Form("mandag")&"","'","''")

ikke give den værdi du skal have i databasen da strMandag efter ovenstående vil indeholde den tomme streng. Derfor tilføjer jeg if-sætningen

if request.form("mandag") ="" then strMandag="False"

sådan at strMandag altid vil få en af værdierne "False" eller "True"
Avatar billede jytte Nybegynder
12. juli 2004 - 20:48 #9
Du indsætter altså her

...

strMandag    = replace(Request.Form("mandag")&"","'","''")
strTirsdag  = replace(Request.Form("tirsdag")&"","'","''")
strOnsdag    = replace(Request.Form("onsdag")&"","'","''")

'------------------
if request.form("mandag") ="" then strMandag="False"
if request.form("tirsdag")="" then strTirsdag="False"
if request.form("onsdag") ="" then strOnsdag="False"
'-----------------
strSQL = "UPDATE meeting SET Mandag='" & strMandag & "',Tirsdag='" & strTirsdag & "',Onsdag='" & strOnsdag & "' WHERE id=" & strid

...
Avatar billede babyworm Nybegynder
12. juli 2004 - 21:06 #10
Hmm... Det blev lige lidt for kompliceret.. tog chancen med afkrydsning
Avatar billede jytte Nybegynder
13. juli 2004 - 15:58 #11
hvad blev for kompliceret ?

er 3 ekstra if-sætninger indsat i din kode for kompliceret ?
Avatar billede babyworm Nybegynder
13. juli 2004 - 16:31 #12
nej.. det virkede ikke rigtigt.. så fik jeg ham der skulle have det, overbevist om at radiobuttons var smartere :P
Avatar billede jytte Nybegynder
13. juli 2004 - 16:43 #13
så håber vi du får bedre held med det.
Avatar billede babyworm Nybegynder
15. august 2005 - 13:34 #14
Lukker
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