Avatar billede quarkb Nybegynder
24. februar 2009 - 23:27 Der er 6 kommentarer og
1 løsning

Begræsning af db udtræk.

Nedenstående formular skulle gerne i de første felter give mig alle poster med Linje1 i de første felter og alle poster med Linje2 i de næste o.s.v.
Men posterne med Linje2 kommer først i række 20 altså med tomme felter mellem posterne med Linje1 og Linje2, hvordan kommer jeg uden om dette mellemrum med tomme felter
<%
idx = 1
for idx = 1 to 19
    rs.movefirst
    do while not rs.eof %>
<TR>
<TD>
<INPUT SIZE="7" NAME="Ordrenr<%= idx %>" value="<% if rs.Fields("Linje") = idx then response.write rs.Fields("Ordrenr") %>"></TD>
<TD><INPUT SIZE="25" NAME="Adresse<%= idx %>"></TD>
<TD><INPUT SIZE="20" NAME="Note<%= idx %>"></TD>
<TD><INPUT class="time" SIZE="2" NAME="ManT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="ManM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TirsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TirsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="OnsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="OnsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TorsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TorsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="FreT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="FreM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="LorT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="LorM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="SonT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="SonM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="50T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="50M<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="100T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="100M<%= idx %>" maxlength="2"></TD>
<TD><INPUT SIZE="3" NAME="KM<%= idx %>"></TD>
</TR>
<%
    rs.movenext
    loop
next
    rs.close
    set rs = nothing
    conn.close
    set conn = nothing   
%>
Avatar billede mitbrugernavn Praktikant
25. februar 2009 - 09:02 #1
det er fordi at du laver en løkke der kører 19 gange

<%
idx = 0

    rs.movefirst
    do while not rs.eof
idx = idx + 1
%>
<TR>
<TD>
<INPUT SIZE="7" NAME="Ordrenr<%= idx %>" value="<% if rs.Fields("Linje") = idx then response.write rs.Fields("Ordrenr") %>"></TD>
<TD><INPUT SIZE="25" NAME="Adresse<%= idx %>"></TD>
<TD><INPUT SIZE="20" NAME="Note<%= idx %>"></TD>
<TD><INPUT class="time" SIZE="2" NAME="ManT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="ManM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TirsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TirsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="OnsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="OnsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TorsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TorsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="FreT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="FreM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="LorT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="LorM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="SonT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="SonM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="50T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="50M<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="100T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="100M<%= idx %>" maxlength="2"></TD>
<TD><INPUT SIZE="3" NAME="KM<%= idx %>"></TD>
</TR>
<%

    rs.movenext
    loop

    rs.close
    set rs = nothing
    conn.close
    set conn = nothing   
%>
Avatar billede quarkb Nybegynder
25. februar 2009 - 22:06 #2
Du har ret,
Jeg har dog ændret lidt på det hele nu,

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application( "HRH" )

idx = 1
for idx = 1 to 19

sql = "SELECT * FROM [Linje] WHERE UgeseddelNr = '" & UgeseddelNr & "' AND LinjeNr = " & idx
           
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn, 3,3   

if rs.bof or rs.eof then

else
    rs.movefirst
    do while not rs.eof %>
<TR>
<TD>
<INPUT SIZE="7" NAME="Ordrenr<%= idx %>" value="<%= rs.Fields("OrdreNr") %>"></TD>
<TD><INPUT SIZE="25" NAME="Adresse<%= idx %>" value="<%= rs.Fields("Adresse") %>"></TD>
<TD><INPUT SIZE="20" NAME="Note<%= idx %>" value="<%= rs.Fields("Note") %>"></TD>
<TD><INPUT class="time" SIZE="2" NAME="ManT<%= idx %>" maxlength="1" value="<%= rs.Fields("ManT") %>">:<INPUT class="min" SIZE="2" NAME="ManM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TirsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TirsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="OnsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="OnsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TorsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TorsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="FreT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="FreM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="LorT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="LorM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="SonT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="SonM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="50T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="50M<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="100T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="100M<%= idx %>" maxlength="2"></TD>
<TD><INPUT SIZE="3" NAME="KM<%= idx %>"></TD>
</TR>
<%
    rs.movenext
    loop
    rs.close
    set rs = nothing
    end if
next
    conn.close
    set conn = nothing
%>

Ovenstående giver mig 2 linjer med formular felter (2 poster som passer på db kreterierne) jeg vil så gerne at resten af gennemløbet forsætter med tommer formular felter.... har du nogen ide på hvordan det kan løses!!!!
Avatar billede mitbrugernavn Praktikant
25. februar 2009 - 22:19 #3
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application( "HRH" )

idx = 1
for idx = 1 to 19

sql = "SELECT * FROM [Linje] WHERE UgeseddelNr = '" & UgeseddelNr & "' AND LinjeNr = " & idx
           
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn, 3,3   

if rs.bof or rs.eof then

else
    rs.movefirst
    do while not rs.eof %>
<TR>
<TD>
<INPUT SIZE="7" NAME="Ordrenr<%= idx %>" value="<%= rs.Fields("OrdreNr") %>"></TD>
<TD><INPUT SIZE="25" NAME="Adresse<%= idx %>" value="<%= rs.Fields("Adresse") %>"></TD>
<TD><INPUT SIZE="20" NAME="Note<%= idx %>" value="<%= rs.Fields("Note") %>"></TD>
<TD><INPUT class="time" SIZE="2" NAME="ManT<%= idx %>" maxlength="1" value="<%= rs.Fields("ManT") %>">:<INPUT class="min" SIZE="2" NAME="ManM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TirsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TirsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="OnsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="OnsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TorsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TorsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="FreT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="FreM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="LorT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="LorM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="SonT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="SonM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="50T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="50M<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="100T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="100M<%= idx %>" maxlength="2"></TD>
<TD><INPUT SIZE="3" NAME="KM<%= idx %>"></TD>
</TR>
<%
    rs.movenext
    loop
    rs.close
    set rs = nothing
else
%>
<TR>
<TD>
<INPUT SIZE="7" NAME="Ordrenr<%= idx %>" value="<%= rs.Fields("OrdreNr") %>"></TD>
<TD><INPUT SIZE="25" NAME="Adresse<%= idx %>" value="<%= rs.Fields("Adresse") %>"></TD>
<TD><INPUT SIZE="20" NAME="Note<%= idx %>" value="<%= rs.Fields("Note") %>"></TD>
<TD><INPUT class="time" SIZE="2" NAME="ManT<%= idx %>" maxlength="1" value="<%= rs.Fields("ManT") %>">:<INPUT class="min" SIZE="2" NAME="ManM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TirsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TirsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="OnsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="OnsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TorsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TorsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="FreT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="FreM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="LorT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="LorM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="SonT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="SonM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="50T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="50M<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="100T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="100M<%= idx %>" maxlength="2"></TD>
<TD><INPUT SIZE="3" NAME="KM<%= idx %>"></TD>
</TR>
<%
    end if
next
    conn.close
    set conn = nothing
%>
Avatar billede quarkb Nybegynder
25. februar 2009 - 22:26 #4
Det giver denne fejl:
Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/hrh/edit_ugeseddel.asp, line 153

else

line 153 = else
Avatar billede quarkb Nybegynder
25. februar 2009 - 22:33 #5
Det var ikke helt forkert dit forslag, med lidt rettelser har jeg fundet den rigtige løsning.

Mellem de to formular områder skal der stå:
<%
rs.movenext
loop
end if
if rs.bof then
%>
Efter sidste formula område:
<%
end if
rs.close
set rs = nothing
next
conn.close
set conn = nothing
%>

Mange tak for din hjælp.
Avatar billede mitbrugernavn Praktikant
25. februar 2009 - 22:51 #6
for at formularen ikke får de samme felt nr tror jeg at jeg ville gøre flg.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application( "HRH" )



sql = "SELECT * FROM [Linje] WHERE UgeseddelNr = '" & UgeseddelNr & "' AND LinjeNr = " & idx
           
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn, 3,3   

if not rs.eof then

    rs.movefirst
    do while not rs.eof
idx = idx + 1
%>
<TR>
<TD>
<INPUT SIZE="7" NAME="Ordrenr<%= idx %>" value="<%= rs.Fields("OrdreNr") %>"></TD>
<TD><INPUT SIZE="25" NAME="Adresse<%= idx %>" value="<%= rs.Fields("Adresse") %>"></TD>
<TD><INPUT SIZE="20" NAME="Note<%= idx %>" value="<%= rs.Fields("Note") %>"></TD>
<TD><INPUT class="time" SIZE="2" NAME="ManT<%= idx %>" maxlength="1" value="<%= rs.Fields("ManT") %>">:<INPUT class="min" SIZE="2" NAME="ManM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TirsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TirsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="OnsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="OnsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TorsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TorsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="FreT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="FreM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="LorT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="LorM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="SonT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="SonM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="50T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="50M<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="100T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="100M<%= idx %>" maxlength="2"></TD>
<TD><INPUT SIZE="3" NAME="KM<%= idx %>"></TD>
</TR>
<%
    rs.movenext
    loop
    rs.close
    set rs = nothing
    end if
    conn.close
    set conn = nothing


b = idx
if b < 20 then
for idx = int(b) to 20
%>
<TR>
<TD>
<INPUT SIZE="7" NAME="Ordrenr<%= idx %>" value="<%= rs.Fields("OrdreNr") %>"></TD>
<TD><INPUT SIZE="25" NAME="Adresse<%= idx %>" value="<%= rs.Fields("Adresse") %>"></TD>
<TD><INPUT SIZE="20" NAME="Note<%= idx %>" value="<%= rs.Fields("Note") %>"></TD>
<TD><INPUT class="time" SIZE="2" NAME="ManT<%= idx %>" maxlength="1" value="<%= rs.Fields("ManT") %>">:<INPUT class="min" SIZE="2" NAME="ManM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TirsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TirsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="OnsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="OnsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="TorsT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="TorsM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="FreT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="FreM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="LorT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="LorM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="SonT<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="SonM<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="50T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="50M<%= idx %>" maxlength="2"></TD>
<TD><INPUT class="time" SIZE="2" NAME="100T<%= idx %>" maxlength="1">:<INPUT class="min" SIZE="2" NAME="100M<%= idx %>" maxlength="2"></TD>
<TD><INPUT SIZE="3" NAME="KM<%= idx %>"></TD>
</TR>
<%
next
%>

husk at afslutte spørgsmålet
Avatar billede quarkb Nybegynder
25. februar 2009 - 22:58 #7
Sorry,

formularen får faktisk ikke de samme felt nr, men jeg vil da lige af prøve dit forslag også.

Lav et svar og pointene er dine, igen mange tak for din hjælp.

:o)
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