Avatar billede jansangill Nybegynder
05. maj 2007 - 01:24 Der er 9 kommentarer og
1 løsning

samme post bliver trækket ud hver gang.

Okay

Je har et problem. Den samme post i min database bliver trækket ud hver gang. Har prøvet mange forskellige metoder, men intet synes at virke. Og hvis i undrer jer over den måde jeg gør det på, er det fordi at jeg skal have det ind i flash med en tableMaker component, som er lidt følsom.Men ligemeget om jeg trækker dataen ud på en mere traditionel måde, bliver det samme resulttat som med det kode jeg har nu, som virker med min flash component.

her er koden:

<%
dim dato, dato2, bruger, tid
dato = DateAdd("d",-2,date)
dato = Year(dato) & "-" & Month(dato) & "-" & Day(Dato)

dim rakke1Arr(3)

Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = ("SELECT * FROM hylde WHERE dato >= #" & dato & "# ORDER BY tid ASC")
JET = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("../database/jn.mdb")
rs.Open SQL, JET, 1



do while not rs.eof
rakke1Arr(1)= rs("bruger")
rakke1Arr(2)= rs("dato")
rakke1Arr(3) =rs("tid")

rs.movenext
loop

response.write"<table border='1'>"

for i =1 to 5
response.write"<tr>"
response.write"<td width='75' height='25'>"&rakke1Arr(1)&"</td>"
response.write"<td width='75' height='25'>"&rakke1Arr(2)&"</td>"
response.write"<td width='75' height='25'>"&rakke1Arr(3)&"</td>"
response.write "</tr>"
next
response.write "</table>"


rs.Close
Set rs=Nothing
%>
Avatar billede mitbrugernavn Praktikant
05. maj 2007 - 07:36 #1
prøv dette

<%
dim dato, dato2, bruger, tid
dato = DateAdd("d",-2,date)
dato = Year(dato) & "-" & Month(dato) & "-" & Day(Dato)

dim bruger,dato,tid,arr_bruger,arr_dato,arr_tid

Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = ("SELECT * FROM hylde WHERE dato >= #" & dato & "# ORDER BY tid ASC")
JET = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("../database/jn.mdb")
rs.Open SQL, JET, 1



do while not rs.eof
i = i + 1
if i > 1 then
bruger = bruger & "," & rs("bruger")
dato = dato & "," & rs("dato")
tid = tid & "," & rs("tid")
else
bruger = rs("bruger")
dato = rs("dato")
tid = rs("tid")
end if
rs.movenext
loop

if i > 0 then
response.write"<table border='1'>"
arr_bruger = split(bruger,",")
arr_dato = split(dato,",")
arr_tid = split(tid,",")
for b =1 to ubound(i)
response.write"<tr>"
response.write"<td width='75' height='25'>"&arr_bruger(b)&"</td>"
response.write"<td width='75' height='25'>"&arr_dato(b)&"</td>"
response.write"<td width='75' height='25'>"&arr_tid(b)&"</td>"
response.write "</tr>"
next
response.write "</table>"
end if

rs.Close
Set rs=Nothing
%>
Avatar billede jansangill Nybegynder
05. maj 2007 - 13:42 #2
Jeg får denne fejlmeddelse når jeg bruger dit.

Microsoft VBScript runtime  error '800a000d'

Type mismatch: 'ubound'

/logbog.asp, line 44
Avatar billede lasserasch Juniormester
06. maj 2007 - 00:23 #3
Og linie 44 er?
Avatar billede jansangill Nybegynder
06. maj 2007 - 00:38 #4
for b =1 to ubound(i), som der står i fejlmeddelsen.
Avatar billede mitbrugernavn Praktikant
06. maj 2007 - 07:43 #5
lyder lidt mærkeligt.

prøv at erstatte dette:

if i > 0 then
response.write"<table border='1'>"
arr_bruger = split(bruger,",")
arr_dato = split(dato,",")
arr_tid = split(tid,",")
for b =1 to ubound(i)
response.write"<tr>"
response.write"<td width='75' height='25'>"&arr_bruger(b)&"</td>"
response.write"<td width='75' height='25'>"&arr_dato(b)&"</td>"
response.write"<td width='75' height='25'>"&arr_tid(b)&"</td>"
response.write "</tr>"
next
response.write "</table>"
end if

med

response.write i

for at se om det er et tal der udskrives
Avatar billede mitbrugernavn Praktikant
06. maj 2007 - 07:49 #6
hvis det er et tal så kan du prøve at skrive således:
dim dato, dato2, bruger, tid
dato = DateAdd("d",-2,date)
dato = Year(dato) & "-" & Month(dato) & "-" & Day(Dato)

dim bruger,dato,tid,arr_bruger,arr_dato,arr_tid,i,b

Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = ("SELECT * FROM hylde WHERE dato >= #" & dato & "# ORDER BY tid ASC")
JET = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("../database/jn.mdb")
rs.Open SQL, JET, 1

do while not rs.eof
i = int(i)+ 1
if int(i) > 1 then
bruger = bruger & "," & rs("bruger")
dato = dato & "," & rs("dato")
tid = tid & "," & rs("tid")
else
bruger = rs("bruger")
dato = rs("dato")
tid = rs("tid")
end if
rs.movenext
loop

if int(i) > 0 then
response.write"<table border='1'>"
arr_bruger = split(bruger,",")
arr_dato = split(dato,",")
arr_tid = split(tid,",")
for b =1 to int(ubound(i))
response.write"<tr>"
response.write"<td width='75' height='25'>"&arr_bruger(b)&"</td>"
response.write"<td width='75' height='25'>"&arr_dato(b)&"</td>"
response.write"<td width='75' height='25'>"&arr_tid(b)&"</td>"
response.write "</tr>"
next
response.write "</table>"
end if

rs.Close
Set rs=Nothing
%>
Avatar billede jansangill Nybegynder
06. maj 2007 - 10:19 #7
ja samme fejl kommer desværre.

Microsoft VBScript runtime  error '800a000d'

Type mismatch: 'ubound'

/logbog.asp, line 43

Prøvede at repose.write i ud, det blev et tal. Prøvede også at droppe ubound, så gav den godt udskrive tabellen, minus 1. Men så var array out of subrange.
Avatar billede jansangill Nybegynder
06. maj 2007 - 10:21 #8
Det skal dog siges at mange af mine felter i databasen er tomme, ved ikke om det har noget med det at gøre.
Avatar billede jansangill Nybegynder
07. maj 2007 - 22:38 #9
hej igen, smid du bare et svar. Du var tæt på.

Løsningen lagde i at det jo ikke er en array du have gang ved i (i), derfor fjernede jeg ubound, og ændrede denne linie.

if i > 1 then

til if i > 0 then


Smid du bare et fortjent svar
Avatar billede mitbrugernavn Praktikant
08. maj 2007 - 06:51 #10
svar
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