Avatar billede hundevennen Nybegynder
11. april 2006 - 12:46 Der er 13 kommentarer og
1 løsning

udskrivning af recordset?

jeg henter et recordset der gir 28 poster med dette stykke script:
strText =    "SELECT * FROM sider order by id asc"

getdata strtext     
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"
         
            Do while not dbset.eof
            i = i + 1

                Response.write "</tr>"
            response.write "<td>&nbsp;" & trim(dbset(0)) & "</td><td>&nbsp;" & trim(dbset(1)) & "</td>"
 
 

            Response.write "</tr>"

Jeg vil gerne ha de første 10 linier udskrevet på side 1 og resten altså i mit tilfælde 18 på side 2, men 30 poster pr side på resterende sider - hvis der er så mange poster
Avatar billede hundevennen Nybegynder
11. april 2006 - 12:47 #1
har forsøgt tidligere under dette spm
http://www.eksperten.dk/spm/701460
men jeg fatter ikke hvad pgl laver - muligvis er det bare mig :-)
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 12:51 #2
prøv at kører det jeg smed til dig sidst - er det på skærmen eller er det det ved print - ved print fungerer det som det skal - men på skærmen kan du ikke se det
Avatar billede hundevennen Nybegynder
11. april 2006 - 13:41 #3
hej igen mitbrugernavn - det er det sidste du sendte til mig jeg ikke selv kan tilføje til resten af ovenstående - det næstsidste du sendte virker ihvertfald ikke ved udprintning hos mig?
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 13:44 #4
det sidste jeg sendte til dig var bare for at teste om det i det hele taget fungerede hos dig, prøv det - hvis det virker så skal det andet også virke
Avatar billede hundevennen Nybegynder
11. april 2006 - 14:08 #5
Hej - det sidste du sendte udskriver 3 sider med tallene 1 - 30
Avatar billede hundevennen Nybegynder
11. april 2006 - 14:11 #6
det er er det næstsidste du sendte og som så også skulle virke:
<!-- #include file="utils.asp" -->
<style>
#page-break-before {
    page-break-after: always;
}

</style>
<body background="lysbaggrund.jpg">
<%
    dim color
openconnection
side_1 = 10

strText =    "SELECT * FROM sider order by id asc"

getdata strtext     
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"
         
            Do while not dbset.eof
            i = i + 1

                Response.write "</tr>"
            response.write "<td>&nbsp;" & trim(dbset(0)) & "</td><td>&nbsp;" & trim(dbset(1)) & "</td>"
 
 

            Response.write "</tr>"
    if side_1 = i then  'her er der en rettelse
    side_1 = 30
    i = 0  'og selvfølgelig skal i nulstilles
%>
<div id="page-break-before">
</div>

<%
end if

            dbset.movenext
            loop
            response.write "</table>" 
closeconnection
%>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--

window.print();

//-->
</SCRIPT>


men jeg får alle 28 poster på side 1
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 14:51 #7
det var det jeg ville - have tjekke om den med 3 sider og 1-30 virkede - så der må være en variabel i din include fil util.asp der hedder i og hvis så tager den den variabel med ned og vil aldrig ramme til sideskift, så prøv at lave variabelnavnet i om til b - som her:

<!-- #include file="utils.asp" -->    'der er en variabel i denne fil der hedder i (tror jeg)
<style>
#page-break-before {
    page-break-after: always;
}

</style>
<body background="lysbaggrund.jpg">
<%
    dim color
openconnection
side_1 = 10

strText =    "SELECT * FROM sider order by id asc"

getdata strtext     
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"
         
            Do while not dbset.eof
            b = b + 1    'lav om til b

                Response.write "</tr>"
            response.write "<td>&nbsp;" & trim(dbset(0)) & "</td><td>&nbsp;" & trim(dbset(1)) & "</td>"
 
 

            Response.write "</tr>"
    if side_1 = b then  'her er der en rettelse
    side_1 = 30
  b = 0  'og selvfølgelig skal b nulstilles
%>
<div id="page-break-before">
</div>

<%
end if

            dbset.movenext
            loop
            response.write "</table>" 
closeconnection
%>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--

window.print();

//-->
</SCRIPT>
Avatar billede hundevennen Nybegynder
11. april 2006 - 14:56 #8
det her er min util.asp, som jeg bruger som forbindelsesfil
<%

' ADO constants include file for VBScript
'
'--------------------------------------------------------------------

'---- CursorTypeEnum Values ----
'Const adOpenForwardOnly = 0
'Const adOpenKeyset = 1
'Const adOpenDynamic = 2
'Const adOpenStatic = 3


'---- CursorLocationEnum Values ----
'Const adUseServer = 2
'Const adUseClient = 3


    'On Error Resume Next
  DIM DBSet, ADOConn

  SUB Getdata(SqlStr)
    Set DBSet = Server.CreateObject("ADODB.Recordset")
    DBSet.Open SqlStr, ADOConn
  END SUB

  SUB GetCursorData(SqlStr, Cache)
    Set DBSet = Server.CreateObject("ADODB.Recordset")
    DBSet.CursorLocation = adUseClient
    DBSet.CursorType = adOpenStatic
    DBSet.CacheSize = Cache
    DBSet.Open SqlStr, ADOConn
  END SUB

  SUB WriteData(SqlStr)
    ADOConn.Execute SqlStr
  END SUB

  Function CheckDBSet
    CheckDBSet = True
    If DBSet.BOF and DBSet.EOF then CheckDBSet = False
  End Function

  SUB GetTextFile(Name)
    DIM Path, Filename, HTML, HFObject, HTMLFile
    Path = Server.MapPath(".") & "\Include\"
    Filename = Path + Name
    SET HFObject = CreateObject("Scripting.FileSystemObject")
    SET HtmlFile = HFObject.OpenTextFile(Filename)
    HTML = HtmlFile.ReadAll
    HtmlFile.Close
    Response.Write(HTML)
  END SUB

  SUB OpenConnection
    DIM uid, pass
    Set ADOConn = Server.CreateObject("ADODB.Connection")
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
                "Data Source="  & server.mappath("database/db.mdb") &_
                "; Persist Security Info=False"
      ADOConn.Open strCon

  END SUB



  SUB OpenOlapConnection(Base)
    DIM uid, pass
    Set ADOConn = Server.CreateObject("ADODB.Connection")
    ADOConn.Mode = 3
    ADOConn.Open "Provider=MSOLAP;user id=sa;password=;Data Source=shelley;Initial Catalog=Foodmart 2000"
  END SUB

  SUB CloseConnection
    if isObject(DBSet) then DBSet.Close
    ADOConn.Close
  END SUB

  FUNCTION CDato(DatoVar)
    DIM CDatoDay, CDatoMonth, CDatoYear
    if (DatoVar <> "") then
        CDatoDay = CSTR(Datepart("d",DatoVar))
        CDatoMonth = CSTR(Datepart("m",DatoVar))
        CDatoYear = CSTR(Datepart("yyyy",DatoVar))
        if Len(CDatoDay) = 1 then CDatoDay = "0" + CDatoDay
        if Len(CDatoMonth) = 1 then CDatoMonth = "0" + CDatoMonth
        CDato = CDatoDay + "." + CDatoMonth + "." + CDatoYear
    else
        CDato = ""
    end if
  END FUNCTION

    FUNCTION AktivBruger
        DIM User, Split, Taeller
        User = Replace(UCase(Request.ServerVariables("LOGON_USER")) , "\", "/")
        For Taeller = 1 to len(User)
            If Mid(User,Taeller,1) = "/" then Split = Taeller
        Next
        AktivBruger = Mid(User,Split+1)
    END FUNCTION

    Function Daysinmonth(dato)
        select case month(dato)
            case 2
            if (year(dato) mod 4 = 0 and year(dato) mod 100 <> 0) or year(dato) mod 400 = 0 then
            daysinmonth = 29
            else
            daysinmonth = 28
            end if
            case 1, 3, 5, 7, 8, 10, 12
            daysinmonth = 31
            case else
            daysinmonth = 30
            end select
        end function







%>
Avatar billede hundevennen Nybegynder
11. april 2006 - 15:00 #9
og den skriver stadig det hele ud på side 1 pånær linket i toppen af siden - det kommer på side 2??
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 15:43 #10
hvis du trækker din includ fil ud og kører den således - så virker den

<style>
#page-break-before {
    page-break-after: always;
}

</style>
<body background="lysbaggrund.jpg">
<%
  DIM DBSet, ADOConn

  SUB Getdata(SqlStr)
    Set DBSet = Server.CreateObject("ADODB.Recordset")
    DBSet.Open SqlStr, ADOConn
  END SUB
  SUB OpenConnection
    DIM uid, pass
    Set ADOConn = Server.CreateObject("ADODB.Connection")
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
                "Data Source="  & server.mappath("database/db.mdb") &_
                "; Persist Security Info=False"
      ADOConn.Open strCon

  END SUB


  SUB CloseConnection
    if isObject(DBSet) then DBSet.Close
    ADOConn.Close
  END SUB

    dim color,side_1,b
openconnection


strText =    "SELECT * FROM sider order by id asc"

getdata strtext   
    side_1 = 10
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"

     
        if not dbset.eof then
do
            b = b + 1    'lav om til b

            response.write "</tr><td>&nbsp;"& b &"</td><td>&nbsp;" & dbset("id") & "</td></tr>"

      if side_1 = b then  'her er der en rettelse
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"


    side_1 = 30
  b = 0  'og selvfølgelig skal b nulstilles
%>
<div id="page-break-before">
</div>

<%
end if

dbset.movenext
loop while not dbset.eof
end if
            response.write "</table>" 
closeconnection
%>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--

window.print();

//-->
</SCRIPT>
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 15:48 #11
og således med din include fil

<style>
#page-break-before {
    page-break-after: always;
}

</style>
<!-- #include file="utils.asp" -->
<body background="lysbaggrund.jpg">
<%


    dim color
openconnection


strText =    "SELECT * FROM sider order by id asc"

getdata strtext   
    side_1 = 10
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"

     
        if not dbset.eof then
do
            b = b + 1    'lav om til b

            response.write "</tr><td>&nbsp;"& trim(dbset(0)) &"</td><td>&nbsp;" & trim(dbset(1))  & "</td></tr>"

      if side_1 = b then  'her er der en rettelse
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"


    side_1 = 30
  b = 0  'og selvfølgelig skal b nulstilles
%>
<div id="page-break-before">
</div>

<%
end if

dbset.movenext
loop while not dbset.eof
end if
            response.write "</table>" 
closeconnection
%>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--

window.print();

//-->
</SCRIPT>
Avatar billede hundevennen Nybegynder
11. april 2006 - 16:11 #12
så var den knageme - mange tak for din hjælp og tålmodighed
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 16:18 #13
den var da også lidt spøjs ;-))
Avatar billede hundevennen Nybegynder
11. april 2006 - 16:29 #14
tjah - der skal være noget andet på den første side - så der er ikke plads til mere en de 10 linier og hvad der så ellers bliver tilføjet efterhånden i databasen skal så komme på de efterfølgende sider
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