Avatar billede Slettet bruger
02. april 2003 - 15:12 Der er 13 kommentarer og
1 løsning

Pagning og opdatering

De poster (betaling) der kommer på side 1, er efterhånden så mange at siden bliver meget "tung", så jeg har delt den op. Nu er det så problemet opstår, for de sider jeg ikke opdater bliver "betaling" sat til "false". Altså alle de registeret betalinger bliver slettet. Så koden skal ændre, så det kun er de poster/ID som er på den, man stå på, når de bliver opdateret.

Side 1
Do While Not rsData.EOF

<% Response.Write (rsData("Id")) %>


<% if rsData("Betalt")= True Then%>
<INPUT TYPE="checkbox" NAME="<% Response.Write (rsData("Id")) %>" checked value="betalt">
<%Else%>
<INPUT TYPE="checkbox" NAME="<% Response.Write (rsData("Id")) %>" value="betalt">
<%End If%>

rsData.MoveNext
Loop

dbconnect.Close
Set dbconnect = Nothing

Side 2
Dim dbconnect, dbrecord, strSQL
Set dbconnect = Server.CreateObject("ADODB.Connection")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(dbpath)
dbconnect.Open strDSN

Set dbrecord = dbconnect.Execute("SELECT * FROM femina")

Do While not dbrecord.EOF
If Request.Form(CStr(dbrecord("Id"))) = "betalt" Then
  strSQL = "UPDATE femina SET Betalt = True WHERE Id =" & dbrecord("Id")
Else
  strSQL = "UPDATE femina SET Betalt = False WHERE Id =" & dbrecord("Id")
End If

dbconnect.Execute(strSQL)
dbrecord.MoveNext
Loop

dbrecord.Close
dbconnect.Close
Set dbconnect = Nothing

"Problemet" kan hentes her:
http://www.kif-atletik.dk/opgave.zip
Avatar billede -master-d- Nybegynder
02. april 2003 - 19:40 #1
Sidst jeg hjalp dig fik jeg det til at virke, så nu har jeg lige lagt dit eget ud på nettet. Det virker altså så vidt jeg kan se.

http://friserverplads.dk/denpei/eksperten/ispind/femina_adm_opdatering_betaling_navn.asp
Avatar billede Slettet bruger
02. april 2003 - 19:51 #2
Det virker ikke, prøv at vælge side 2. Der fidner ingen markeringer, alle de andre sider her ingen hakker i betalt. Hvis du får det til at virke, giver jeg dig med glæde kredit for det - men først når det virker.
Avatar billede hossein Nybegynder
02. april 2003 - 19:52 #3
Dette bliver:
--------< femina_adm_opdatering_betaling_navn.asp >----------------
<% @Language="VBScript" %>
<HTML>
<HEAD>
<TITLE> Opdatering af betaling</TITLE>
<META NAME="Robots" CONTENT="NOINDEX,FOLLOW">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<LINK REL="stylesheet" HREF="../css/admstyle_screen.css" TYPE="TEXT/CSS" MEDIA="screen">
<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

'Databaseforbindelse
Set conn = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("feminalobet_test.mdb") 'dbpath
conn.Open strDSN
Set dbconnect = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM femina"

dbconnect.Open strSQL, strDSN,1,3
%>

<SCRIPT language=javascript>
<!--
function checkAll()
{
var oForm = document.forms['betaling'];
var n = oForm.length;
for (var i = 0; i < n ; i++) {
  oForm.item(i).checked =true;
}
}
-->
</SCRIPT>
</HEAD>
<BODY>
<BR><DIV ID=H1>Opdatering af betaling</DIV><BR>
<DIV ID=PCB>Sorteret efter navn</DIV><BR><BR>
<FORM NAME="betaling" METHOD="post" ACTION="femina_adm_opdatering_betaling2.asp">
<DIV STYLE="text-align:right">
<DIV ID=P>Hak betyder betalt. <A href="java script:checkAll()">Vælg alle</A></DIV><BR><BR>
<DIV STYLE="text-align:center">
<TABLE BORDER="0" WIDTH="95%">
<TR><TD WIDTH="30%"><DIV ID=PB>Fornavn</DIV></TD>
<TD WIDTH="30%"><DIV ID=PB>Efternavn</DIV></TD>
<TD WIDTH="10%"><DIV ID=PB>Refnr.</DIV></TD>
<TD WIDTH="10%"><DIV ID=PB>HoldID</DIV></TD>
<TD WIDTH="10%"><DIV ID=PB>Betaling</DIV></TD></TR>
<%
If Not (dbconnect.BOF Or dbconnect.EOF) Then
    dbconnect.PageSize = 200
    dbconnect.AbsolutePage = intPage
    intRecCount = dbconnect.PageSize
    intPageCount = dbconnect.PageCount
    Do While Not dbconnect.EOF And intRecCount > 0
   
'BAGGRUNDSFARVE
tal = tal + 1
dim tal
if tal MOD 2 = 0 then
%>
<tr bgcolor=#e5e5e5>
<% else %>
<tr bgcolor=#ffffff>
<% end if %>
<TD WIDTH="40%"><% Response.Write (dbconnect("fornavn")) %></TD>
<TD WIDTH="40%"><% Response.Write (dbconnect("efternavn")) %></TD>
<TD WIDTH="10%"><% Response.Write (dbconnect("Id")) %></TD>
<TD WIDTH="10%"><% Response.Write (dbconnect("holdID")) %></TD>
<TD WIDTH="10%">
<%
    id = dbconnect("ID")
    cbName = "CB_" & id
    hvName = "HV_" & id
    If dbconnect("betalt") = True Then
        active = "Ja"
        chkd = " CHECKED "
    Else
        active = "Nej"
        chkd = ""
    End If
    Response.Write _
        "<INPUT Type='CheckBox' " _
        & "Name='" & cbName & "' Value='Ja'" & chkd & ">" _
        & "<INPUT Type='Hidden' " _
        & "Name='" & hvName & "' Value='" & active & "'>" _
        & " -- " & dbconnect("fornavn") & "<BR>" & vbNewLine
%>
</TD>
</TR>
<%
    intRecCount = intRecCount - 1
    dbconnect.MoveNext
    Loop
End If
dbconnect.Close
Set dbconnect = Nothing
%>
</TABLE></DIV>
<BR><BR>
<DIV STYLE="text-align:center">
<INPUT TYPE="submit" VALUE="Opdater" NAME="Opdater">
</DIV>
</FORM>
</DIV>
<BR><BR>
<%
'UDSKRIVNING AF SIDENUMMERNE
Response.Write "<BR>"
If Clng(intPage) > 1 Then
    Response.Write "<A HREF=femina_adm_opdatering_betaling_navn.asp?page=" & intPage - 1 & ">&lt;&lt;</A>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"
'Response.Write "Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<A HREF=femina_adm_opdatering_betaling_navn.asp?page=" & intNum & ">" & intNum & "</A> "
Next

Response.Write "&nbsp;"
If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<A HREF=femina_adm_opdatering_betaling_navn.asp?page=" & intPage + 1 & ">&gt;&gt;</A> "
Else
    Response.Write "&gt;&gt;"
End If
%>
<BR><BR>
</BODY>
</HTML>
Avatar billede hossein Nybegynder
02. april 2003 - 19:56 #4
Og dette bliver:

--------------< femina_adm_opdatering_betaling2.asp  >---------------
<% @Language="VBScript" %>
<HTML>
<HEAD>
<TITLE> Opdatering af betaling - side2</TITLE>
<META NAME="Robots" CONTENT="NOINDEX,FOLLOW">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<LINK REL="stylesheet" HREF="../css/admstyle_screen.css" TYPE="TEXT/CSS" MEDIA="screen">
<%
'Databaseforbindelse
Set conn = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("feminalobet_test.mdb") 'dbpath
conn.Open strDSN
'Set dbrecord = Server.CreateObject("ADODB.RecordSet")
For Each item In Request.Form
    If Left( item, 3 ) = "HV_" Then
        recID = Mid( item, 4 )     
        cbName = "CB_" & recID

        priorValue = Request.Form(item)
        newValue = "" & Request.Form(cbName)

        If newValue = "" Then newValue = "Nej"

        If newValue <> priorValue Then
            active = ( newValue = "Ja" )
            SQL = "UPDATE Femina SET betalt=" & active _
                & " WHERE ID=" & recID
            conn.Execute( SQL )
        End If
    End If
Next
%>
</HEAD>
<BODY>
<BR><DIV ID=H1>Opdatering af betaling2</DIV><BR>
<BR><BR>
<DIV ID=PCB>Betalingerne er nu opdateret!</DIV>
<BR><BR><BR><BR><BR><BR>
</BODY>
</HTML>
Avatar billede hossein Nybegynder
02. april 2003 - 19:58 #5
ups, du skal bare rette stien til din database.
Jeg har prøvet på en accessXP dansk version. Feltet Betalt i dansk Ja/Nej. Hvis du har engelsk så er det Yes/no
Avatar billede Slettet bruger
02. april 2003 - 20:14 #6
Der bare lige den lille detalje, udover hidden tingen ikke bliver skjult, at alle "betalingerne" bliver tomme!?!? Så det virker med ja/nej :D
Avatar billede hossein Nybegynder
02. april 2003 - 20:19 #7
det var en hurtig afvisnig af svaret??
Avatar billede Slettet bruger
02. april 2003 - 20:23 #8
Jeg har prøvet det og det virker ikke :-(((((((
Avatar billede hossein Nybegynder
02. april 2003 - 20:25 #9
OK, god fornøjelse!
Avatar billede Slettet bruger
02. april 2003 - 20:27 #10
Skift dbconnect.Execute(strSQL) ud med Response.write (strSQL) på side 2, så vil du se alle posterne paser revy
Avatar billede Slettet bruger
02. april 2003 - 20:38 #11
UPS! kom tilbage! Jeg er bare halv blind og havde overset side 2. Der er dog en lille ting, som mangler. Det "hidden" felt er ikke gemt der står "--navnet". Jeg kan ikke lige få det til at forsvinde, så hvis du fortælle hvordan jeg gør det blvier jeg glad. Du bliver nød til at svare, så jeg kan give dig point for det arbejde.
Avatar billede hossein Nybegynder
02. april 2003 - 20:47 #12
OK, i denne del:
        "<INPUT Type='CheckBox' " _
        & "Name='" & cbName & "' Value='Ja'" & chkd & ">" _
        & "<INPUT Type='Hidden' " _
        & "Name='" & hvName & "' Value='" & active & "'>" _
        & " -- " & dbconnect("fornavn") & "<BR>" & vbNewLine

bliver til:
Response.Write _
        "<INPUT Type='CheckBox' " _
        & "Name='" & cbName & "' Value='Ja'" & chkd & ">" _
        & "<INPUT Type='Hidden' " _
        & "Name='" & hvName & "' Value='" & active & "'><BR>" & vbNewLine
Avatar billede Slettet bruger
02. april 2003 - 20:52 #13
Jeg fik deres navn væk ved at slette
& " -- " & dbconnect("fornavn") & "<BR>"
og lade
& vbNewLine
blive. Det ser ikke ud til at have nogen effekt.
Enig hossein?

Kan man skrive til en, så de kan få deres point?
Avatar billede Slettet bruger
02. april 2003 - 20:54 #14
Nu er jeg en glad mand, mange tak for hjælpen :-D
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