Jeg kiggede på noget gammelt ASP/Excel kode jeg har lavet. Jeg kan huske at visse ting virkede ret underlige, som du selv har oplevet nu. Jeg checker om det er et tal ved at skrive:
If IsNumeric(objData.Fields.Item(j).Value) Then Response.Write "blablabla" End If
...hvor "objData.Fields.Item(j).Value" er min måde at iterere Excel-filen. Du har sikkert en anden. Det vigtigste i kodeeksemplet er "IsNumeric()"-funktionen. Du kan også checke med "VarType()"-funktionen, men der må være en grund til at jeg har brugt "IsNumeric()" (som jeg ellers aldrig bruger).
Tjaa... ved bare ikke hvad jeg skal tjecke for..... feltet der skal få iterationen til at stoppe er et tomt felt... hvilken værdi repræsentere den så? hmmm....
er der så en end loop eller noget man kan bruge for at bryde inde den når til eof.
Jeg har checket dit link. Du kan få ASP til at skrive hvilken type det er. Det er et af mine bedste debug-værktøjer. Skriv f.eks.:
Response.Write VarType(excelhalløjsa) & "<br>"
Nu skriver ASP typen af indholdet, repræsenteret af en talværdi. Find det sted hvor det går galt (er tom), og send mig værdien. Andre ting er IsNull() og IsEmpty. Du må også gerne sende lidt kode.
Response.Write "</table>" & vbCrLf Set rs = Nothing xlCn.Close Set xlCn = Nothing end if %>
Men den siger Error Type: Microsoft VBScript compilation (0x800A0400) Expected statement /flyver/Default.asp, line 97
I denne linie står Wend.... Før var det ikke en While - Wend.... men en do until - loop ting...... der sagde den "loop" without do når rs.movenext og loop kom ind i en betingelsessætning... hvad gør jeg galt....¿
Jeg kan ikke se hvad du har gjort galt, men jeg kan se at det blot er en ASP syntaxfejl. De er ikke svære at rette. Min "kodestruktur" er opbygget således:
For i = 0 To objData.RecordCount - 1 Response.Write "<tr>" For j = 0 To objData.Fields.Count - 1 If IsNumeric(objData.Fields.Item(j).Value) Then Response.Write "<td class=""Right"">" & aryTEMP(0) & fnkNumberFormat(FormatNumber(objData.Fields.Item(j).Value, 2)) & aryTEMP(1) & "</td>" Else Response.Write "<td>" & aryTEMP(0) & fnkHTMLEncode(objData.Fields.Item(j).Value & " ") & aryTEMP(1) & "</td>" End If Next Response.Write "</tr>" objData.MoveNext Next
Håber at det kan hjælpe dig på en eller anden måde.
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.