Avatar billede mortency Nybegynder
24. maj 2004 - 14:10 Der er 21 kommentarer og
2 løsninger

Sjekke array

Det hender at jeg får en feilmeldig med:

Subscript out of range: '[number: 0]'

, hvordan kan jeg forhindre dette? Dvs sjekke filen for feil? Gi en error melding om hva som er feil eventuelt hvilken linje????

Fil som skal sjekkes kan se slik ut!
22;BP86045;3;37;1;2003;2.2;0;1;181;43;07.11.2003;JA;07.11.2003
22;BP86046;3;37;1;2003;2.2;0;1;181;43;07.11.2003;JA;07.11.2003
22;BP86179;3;37;1;2003;2.2;0;1;181;43;07.11.2003;JA;07.11.2003
22;BP86180;3;37;1;2003;2.2;0;1;181;43;07.11.2003;JA;07.11.2003

<%
Filespec = strPath
Set F = FSO.OpenTextFile(Filespec,1)

error = ""

'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - START
'----------------------------------------------------------------------------------------------------------------------------------------
function CheckRegNr(inputstreng)
    dim regcon
    set regcon = new RegExp
    regcon.ignoreCase = true
    regcon.Global = true
    regcon.pattern = "^([a-zæøå]{2}\d{5})$"
    CheckRegNr = regcon.test(inputstreng)
end function
'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
   
strMinus30dager = date()
   
i = 1
iNew = 0
Do While not F.AtEndOfStream

    FilArr = Split(F.Readline, ";")
               
    'Henter data fra txtfil
    strEier = Trim(filArr(0))
    strRegnr = UCASE(Trim(filArr(1)))
    strFabrikat = Trim(filArr(2))
    strModell = Trim(filArr(3))
    strType = Trim(filArr(4))
    strArsmodell = Trim(filArr(5))
    strMotor = Trim(Replace(filArr(6),".","," ))'Fjerner punktum og setter inn et komma.
    strListePris = Trim(filArr(7))
    strPremie = Trim(filArr(8))'Denne hentes automatisk ut fra systemet, det er kun en premie.
    strAvdeling = Trim(filArr(9))
    strRegAv = Trim(filArr(10))'Denne kan godt settes til fast siden den ikke skal tukles med
    strGjelderFra = Trim(Replace(filArr(11),".","/" ))
    strAktiv = Trim(filArr(12))
    strSiOppForsikringFra = Trim(Replace(filArr(13),".","/" ))
               
    '----------------------------------------------------------------------------------------------------------------------------------------
    'SJEKKER DATA - START
    '----------------------------------------------------------------------------------------------------------------------------------------
    strFeilLinje = " - Feilen var på linje <b>" & i & "</b> der regnr var <b>" & strRegnr & "</b>!<br>"
               
    If Isnumeric(strEier) = False Then
        error = error & "- Eier må være nummer! Innholdert i eier er <b>" & strEier & "</b>" & strFeilLinje
    End if
               
    If Len(strRegnr) <> 7 Then
        error = error & "- Regnr må ha en lengde på 7! Innholdet i regnr er <b>" & strRegnr & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
    End if
               
    If not CheckRegNr(strRegnr) Then
        error = error & "- Regnr må ha 2 bokstaver så 5 tall! Innholdet i regnr er <b>" & strRegnr & "</b>" & strFeilLinje
    End if
               
    If Isnumeric(strFabrikat) = False Then
        error = error & "- Fabrikat må være nummer! Innholdert i fabrikat er <b>" & strFabrikat & "</b>" & strFeilLinje
    End if
               
    If Isnumeric(strModell) = False Then
        error = error & "- Modell må være nummer! Innholdert i modell er <b>" & strModell & "</b>" & strFeilLinje
    End if
               
    If Isnumeric(strType) = False Then
        error = error & "- Type må være nummer! Innholdert i type er <b>" & strType & "</b>" & strFeilLinje
    End if
               
    If Isnumeric(strArsmodell) = False And Len(strArsmodell) <> 4 Then
        error = error & "- Årsmodell må være nummer og ha 4 tegn! Innholdert i årsmodell er <b>" & strArsmodell & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
    End if                   
               
    If (inStr(strMotor,",")=2) AND isNumeric(left(strMotor,1)) AND isNumeric(right(strMotor,1)) AND (len(strMotor) = 3) then
    Else
        error = error & "- Motorstørrelse må ha en lengde på 3! Innholdet i motorstørrelse er <b>" & strMotor & "</b> og lengden er " & Len(strMotor) & strFeilLinje
    End if
               
    If Isnumeric(strListepris) = False Then
        error = error & "- Listepris må være nummer! Innholdert i listepris er <b>" & strListepris & "</b>" & strFeilLinje
    End if
               
    If Isnumeric(strPremie) = False Then
        error = error & "- Premie må være nummer! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
    End if
       
    'Denne kan fjernes hvis det skal velges flere premier!
    If strPremie <> 1 Then
        error = error & "- Premie må være 1! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
    End if       
               
    If Isnumeric(strAvdeling) = False Then
        error = error & "- Avdeling må være nummer! Innholdert i avdeling er <b>" & strAvdeling & "</b>" & strFeilLinje
    End if
               
    If Isnumeric(strRegAv ) = False Then
        error = error & "- Registert av må være nummer! Innholdert i Registert av er " & strRegAv  & strFeilLinje
    End if

OSV..........
Avatar billede ellebaek Nybegynder
24. maj 2004 - 14:39 #1
if not LBound(filArr) = 0 then
så er der fejl..
end if

sådan her fx.
Avatar billede mortency Nybegynder
24. maj 2004 - 14:43 #2
Hvordan kan jeg sjekke hvilken linje det er da?
Avatar billede ellebaek Nybegynder
24. maj 2004 - 14:52 #3
så kan du lave en tæller der tæller hvor du tæller fx. i en op hver gang..
altså inde i den her for løkke: Do While not F.AtEndOfStream

så med i = i +1 hver gang du kalder dem..
Avatar billede mortency Nybegynder
24. maj 2004 - 15:02 #4
Sånn som dette?

<%
Filespec = strPath
Set F = FSO.OpenTextFile(Filespec,1)

error = ""

'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - START
'----------------------------------------------------------------------------------------------------------------------------------------
function CheckRegNr(inputstreng)
    dim regcon
    set regcon = new RegExp
    regcon.ignoreCase = true
    regcon.Global = true
    regcon.pattern = "^([a-zæøå]{2}\d{5})$"
    CheckRegNr = regcon.test(inputstreng)
end function
'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
   
strMinus30dager = date()
   
i = 1
iNew = 0

'Sjekker filen at den er korrekt
Do While not F.AtEndOfStream
    if not LBound(filArr) = 0 then
        error = error "- Det er feil på linje <b>" & i & "</b></br>"
    end if
i = i + 1   
Loop

If error <> "" Then
    error = ""
    Do While not F.AtEndOfStream

        FilArr = Split(F.Readline, ";")
                   
        'Henter data fra txtfil
        strEier = Trim(filArr(0))
        strRegnr = UCASE(Trim(filArr(1)))
        strFabrikat = Trim(filArr(2))
        strModell = Trim(filArr(3))
        strType = Trim(filArr(4))
        strArsmodell = Trim(filArr(5))
        strMotor = Trim(Replace(filArr(6),".","," ))'Fjerner punktum og setter inn et komma.
        strListePris = Trim(filArr(7))
        strPremie = Trim(filArr(8))'Denne hentes automatisk ut fra systemet, det er kun en premie.
        strAvdeling = Trim(filArr(9))
        strRegAv = Trim(filArr(10))'Denne kan godt settes til fast siden den ikke skal tukles med
        strGjelderFra = Trim(Replace(filArr(11),".","/" ))
        strAktiv = Trim(filArr(12))
        strSiOppForsikringFra = Trim(Replace(filArr(13),".","/" ))
                   
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - START
        '----------------------------------------------------------------------------------------------------------------------------------------
        strFeilLinje = " - Feilen var på linje <b>" & i & "</b> der regnr var <b>" & strRegnr & "</b>!<br>"
                   
        If Isnumeric(strEier) = False Then
            error = error & "- Eier må være nummer! Innholdert i eier er <b>" & strEier & "</b>" & strFeilLinje
        End if
                   
        If Len(strRegnr) <> 7 Then
            error = error & "- Regnr må ha en lengde på 7! Innholdet i regnr er <b>" & strRegnr & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if
                   
        If not CheckRegNr(strRegnr) Then
            error = error & "- Regnr må ha 2 bokstaver så 5 tall! Innholdet i regnr er <b>" & strRegnr & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strFabrikat) = False Then
            error = error & "- Fabrikat må være nummer! Innholdert i fabrikat er <b>" & strFabrikat & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strModell) = False Then
            error = error & "- Modell må være nummer! Innholdert i modell er <b>" & strModell & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strType) = False Then
            error = error & "- Type må være nummer! Innholdert i type er <b>" & strType & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strArsmodell) = False And Len(strArsmodell) <> 4 Then
            error = error & "- Årsmodell må være nummer og ha 4 tegn! Innholdert i årsmodell er <b>" & strArsmodell & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if                   
                   
        If (inStr(strMotor,",")=2) AND isNumeric(left(strMotor,1)) AND isNumeric(right(strMotor,1)) AND (len(strMotor) = 3) then
        Else
            error = error & "- Motorstørrelse må ha en lengde på 3! Innholdet i motorstørrelse er <b>" & strMotor & "</b> og lengden er " & Len(strMotor) & strFeilLinje
        End if
                   
        If Isnumeric(strListepris) = False Then
            error = error & "- Listepris må være nummer! Innholdert i listepris er <b>" & strListepris & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strPremie) = False Then
            error = error & "- Premie må være nummer! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if
           
        'Denne kan fjernes hvis det skal velges flere premier!
        If strPremie <> 1 Then
            error = error & "- Premie må være 1! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if       
                   
        If Isnumeric(strAvdeling) = False Then
            error = error & "- Avdeling må være nummer! Innholdert i avdeling er <b>" & strAvdeling & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strRegAv ) = False Then
            error = error & "- Registert av må være nummer! Innholdert i Registert av er " & strRegAv  & strFeilLinje
        End if
                   
        strDato2 = strGjelderFra
                   
        strDay2 = Day( strdato2 )
        if len(strDay2) = 1 then
            strDay2 = "0" & strDay2
        end if
                               
        strMonth2 = Month( strdato2 )
        if len(strMonth2) = 1 then
            strMonth2 = "0" & strMonth2
        end if
                           
        strYear2 = Year( strdato2 )
        if len(strYear2) = 1 then
            strYear2 = "0" & strYear2
        end if
                           
        strGjelderFra =  strDay2 & "/" & strMonth2    & "/" & strYear2
                   
        If Len(strGjelderFra) <> 10 OR Instr(strGjelderFra,"/")=0 OR Instr(strGjelderFra,"/")=0 Then
            error = error & "- Gjelder fra er ugyldig! Eks: dd.mm.yyyy Innholdert i gjelder fra er " & strGjelderFra & strFeilLinje
        End If
           
        'Teller antall dager
        strAntDager = DateDiff("Y", strGjelderFra, strMinus30dager)
               
        If strAntDager > 30 Then
            error = error & "- Gjelder fra kan ikke være eldre enn 30 dager. Antall dager var tilbake var " & strAntDager & strFeilLinje
        End if           
                   
        If strAktiv <> "JA" AND strAktiv <> "NEI" Then
            error = error & "- Aktiv må være enten JA eller NEI! Innholdet i strAktiv er " & strAktiv & strFeilLinje
        End if   
       
        If Len(strSiOppForsikringFra) <> 10 OR Instr(strSiOppForsikringFra,"/")=0 OR Instr(strSiOppForsikringFra,"/")=0 Then
            error = error & "- Si oppForsikring fra er ugyldig! Eks: dd.mm.yyyy Innholdert i si opp forsikring fra er " & strSiOppForsikringFra & strFeilLinje
        End If                               
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - SLUTT
        '----------------------------------------------------------------------------------------------------------------------------------------
    i = i + 1
    iNew = iNew + 1
    Loop
       
    Session("AntBiler") = iNew
       
    If i = 0 Then
        Response.Redirect "step1.asp?MSG=Filen hadde ingen poster! Prøv med ny fil"
    End if

    Set F = Nothing   

    If error = "" Then
        FSO.CopyFile strPath,strOKPath
        FSO.DeleteFile(strPath)
    Else
        FSO.DeleteFile(strPath)
    End if


    Set FSO = Nothing
End if

If error <> "" Then
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <LINK REV=made href="mailto:morten@cyren.no">
  <TITLE><%=strtittel%></TITLE>
  <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  <META HTTP-EQUIV="Pragma" content="no-cache">
  <META name="robots" content="NOINDEX">
  <META name="Author" content="Morten Marius Cyrèn">
  <META name="Copyright" content="Morten Marius Cyrèn">
  <META name="Publisher" content="Morten Marius Cyrèn">
  <link rel="shortcut icon" href="../../profil/icon/icon.ico">
  <link rel="stylesheet" type="text/css" href="../css/stylesheetIE.css">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
  <tr>
    <td align="center">
        <div align="center" class="text"><b>STEG 3 AV 4 - <font color="red">FILEN HADDE FEIL!</font></b></div>
        <table style="border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; width: 650px; border-bottom: rgb(204,204,204) 1px solid" cellspacing=0 cellpadding=0 border=0>
        <tbody>
        <tr valign=top>
        <td style="padding-right: 10px; padding-left: 10px; padding-bottom: 10px; padding-top: 10px">
        <table style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px" cellspacing=0 cellpadding=0 border=0>
        <tbody>       
        <tr>
            <td class="error"><font color="red"><%=error%></font></td>
        </tr>
        <tr>
            <td class="error" align="middle"><font color="red"><b>Filen er slettet!<b></font></td>
        </tr>       
        <tr>
            <td class="text" align="middle">[ <a href="step1.asp">Last opp ny fil</a> ]</td>
        </tr>
        </tbody>
        </table>
        </td>
        </tr>
        </tbody>
        </table>   
    </td>
  </tr>
</table>
</body>
</html>
<%
Else
    Response.Redirect("step3_OK.asp")
End if
%>
Avatar billede ellebaek Nybegynder
24. maj 2004 - 15:04 #5
ikke helt..
Nærmere..

<%
Filespec = strPath
Set F = FSO.OpenTextFile(Filespec,1)

error = ""

'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - START
'----------------------------------------------------------------------------------------------------------------------------------------
function CheckRegNr(inputstreng)
    dim regcon
    set regcon = new RegExp
    regcon.ignoreCase = true
    regcon.Global = true
    regcon.pattern = "^([a-zæøå]{2}\d{5})$"
    CheckRegNr = regcon.test(inputstreng)
end function
'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
   
strMinus30dager = date()
   
i = 1
iNew = 0
j = 0


If error <> "" Then
    error = ""
    Do While not F.AtEndOfStream

        FilArr = Split(F.Readline, ";")
        'chekker om filen er ok..
        if LBound(FilArr) = 0 then
                   
        'Henter data fra txtfil
        strEier = Trim(filArr(0))
        strRegnr = UCASE(Trim(filArr(1)))
        strFabrikat = Trim(filArr(2))
        strModell = Trim(filArr(3))
        strType = Trim(filArr(4))
        strArsmodell = Trim(filArr(5))
        strMotor = Trim(Replace(filArr(6),".","," ))'Fjerner punktum og setter inn et komma.
        strListePris = Trim(filArr(7))
        strPremie = Trim(filArr(8))'Denne hentes automatisk ut fra systemet, det er kun en premie.
        strAvdeling = Trim(filArr(9))
        strRegAv = Trim(filArr(10))'Denne kan godt settes til fast siden den ikke skal tukles med
        strGjelderFra = Trim(Replace(filArr(11),".","/" ))
        strAktiv = Trim(filArr(12))
        strSiOppForsikringFra = Trim(Replace(filArr(13),".","/" ))
                   
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - START
        '----------------------------------------------------------------------------------------------------------------------------------------
        strFeilLinje = " - Feilen var på linje <b>" & i & "</b> der regnr var <b>" & strRegnr & "</b>!<br>"
                   
        If Isnumeric(strEier) = False Then
            error = error & "- Eier må være nummer! Innholdert i eier er <b>" & strEier & "</b>" & strFeilLinje
        End if
                   
        If Len(strRegnr) <> 7 Then
            error = error & "- Regnr må ha en lengde på 7! Innholdet i regnr er <b>" & strRegnr & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if
                   
        If not CheckRegNr(strRegnr) Then
            error = error & "- Regnr må ha 2 bokstaver så 5 tall! Innholdet i regnr er <b>" & strRegnr & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strFabrikat) = False Then
            error = error & "- Fabrikat må være nummer! Innholdert i fabrikat er <b>" & strFabrikat & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strModell) = False Then
            error = error & "- Modell må være nummer! Innholdert i modell er <b>" & strModell & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strType) = False Then
            error = error & "- Type må være nummer! Innholdert i type er <b>" & strType & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strArsmodell) = False And Len(strArsmodell) <> 4 Then
            error = error & "- Årsmodell må være nummer og ha 4 tegn! Innholdert i årsmodell er <b>" & strArsmodell & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if                   
                   
        If (inStr(strMotor,",")=2) AND isNumeric(left(strMotor,1)) AND isNumeric(right(strMotor,1)) AND (len(strMotor) = 3) then
        Else
            error = error & "- Motorstørrelse må ha en lengde på 3! Innholdet i motorstørrelse er <b>" & strMotor & "</b> og lengden er " & Len(strMotor) & strFeilLinje
        End if
                   
        If Isnumeric(strListepris) = False Then
            error = error & "- Listepris må være nummer! Innholdert i listepris er <b>" & strListepris & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strPremie) = False Then
            error = error & "- Premie må være nummer! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if
           
        'Denne kan fjernes hvis det skal velges flere premier!
        If strPremie <> 1 Then
            error = error & "- Premie må være 1! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if       
                   
        If Isnumeric(strAvdeling) = False Then
            error = error & "- Avdeling må være nummer! Innholdert i avdeling er <b>" & strAvdeling & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strRegAv ) = False Then
            error = error & "- Registert av må være nummer! Innholdert i Registert av er " & strRegAv  & strFeilLinje
        End if
                   
        strDato2 = strGjelderFra
                   
        strDay2 = Day( strdato2 )
        if len(strDay2) = 1 then
            strDay2 = "0" & strDay2
        end if
                               
        strMonth2 = Month( strdato2 )
        if len(strMonth2) = 1 then
            strMonth2 = "0" & strMonth2
        end if
                           
        strYear2 = Year( strdato2 )
        if len(strYear2) = 1 then
            strYear2 = "0" & strYear2
        end if
                           
        strGjelderFra =  strDay2 & "/" & strMonth2    & "/" & strYear2
                   
        If Len(strGjelderFra) <> 10 OR Instr(strGjelderFra,"/")=0 OR Instr(strGjelderFra,"/")=0 Then
            error = error & "- Gjelder fra er ugyldig! Eks: dd.mm.yyyy Innholdert i gjelder fra er " & strGjelderFra & strFeilLinje
        End If
           
        'Teller antall dager
        strAntDager = DateDiff("Y", strGjelderFra, strMinus30dager)
               
        If strAntDager > 30 Then
            error = error & "- Gjelder fra kan ikke være eldre enn 30 dager. Antall dager var tilbake var " & strAntDager & strFeilLinje
        End if           
                   
        If strAktiv <> "JA" AND strAktiv <> "NEI" Then
            error = error & "- Aktiv må være enten JA eller NEI! Innholdet i strAktiv er " & strAktiv & strFeilLinje
        End if   
       
        If Len(strSiOppForsikringFra) <> 10 OR Instr(strSiOppForsikringFra,"/")=0 OR Instr(strSiOppForsikringFra,"/")=0 Then
            error = error & "- Si oppForsikring fra er ugyldig! Eks: dd.mm.yyyy Innholdert i si opp forsikring fra er " & strSiOppForsikringFra & strFeilLinje
        End If                               
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - SLUTT
        '----------------------------------------------------------------------------------------------------------------------------------------
    i = i + 1
    iNew = iNew + 1
else
error = error "- Det er feil på linje <b>" & j & "</b></br>"
    end if

    Loop
       
    Session("AntBiler") = iNew
       
    If i = 0 Then
        Response.Redirect "step1.asp?MSG=Filen hadde ingen poster! Prøv med ny fil"
    End if

    Set F = Nothing   

    If error = "" Then
        FSO.CopyFile strPath,strOKPath
        FSO.DeleteFile(strPath)
    Else
        FSO.DeleteFile(strPath)
    End if


    Set FSO = Nothing
End if

If error <> "" Then
%>
Avatar billede ellebaek Nybegynder
24. maj 2004 - 15:05 #6
og så glemte jeg lige at tælle j op..

så du skal sætte denne linie:

j = j+1
ind foran loop i denne del..

error = error "- Det er feil på linje <b>" & j & "</b></br>"
    end if

    Loop
Avatar billede mortency Nybegynder
24. maj 2004 - 15:11 #7
Sånn?

<%
Filespec = strPath
Set F = FSO.OpenTextFile(Filespec,1)

error = ""

'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - START
'----------------------------------------------------------------------------------------------------------------------------------------
function CheckRegNr(inputstreng)
    dim regcon
    set regcon = new RegExp
    regcon.ignoreCase = true
    regcon.Global = true
    regcon.pattern = "^([a-zæøå]{2}\d{5})$"
    CheckRegNr = regcon.test(inputstreng)
end function
'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
   
strMinus30dager = date()
   
i = 1
iNew = 0
j = 1
Do While not F.AtEndOfStream

    FilArr = Split(F.Readline, ";")
   
    'Sjekker om formatet er OK
    If LBound(FilArr) = 0 Then
               
        'Henter data fra txtfil
        strEier = Trim(filArr(0))
        strRegnr = UCASE(Trim(filArr(1)))
        strFabrikat = Trim(filArr(2))
        strModell = Trim(filArr(3))
        strType = Trim(filArr(4))
        strArsmodell = Trim(filArr(5))
        strMotor = Trim(Replace(filArr(6),".","," ))'Fjerner punktum og setter inn et komma.
        strListePris = Trim(filArr(7))
        strPremie = Trim(filArr(8))'Denne hentes automatisk ut fra systemet, det er kun en premie.
        strAvdeling = Trim(filArr(9))
        strRegAv = Trim(filArr(10))'Denne kan godt settes til fast siden den ikke skal tukles med
        strGjelderFra = Trim(Replace(filArr(11),".","/" ))
        strAktiv = Trim(filArr(12))
        strSiOppForsikringFra = Trim(Replace(filArr(13),".","/" ))
                   
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - START
        '----------------------------------------------------------------------------------------------------------------------------------------
        strFeilLinje = " - Feilen var på linje <b>" & i & "</b> der regnr var <b>" & strRegnr & "</b>!<br>"
                   
        If Isnumeric(strEier) = False Then
            error = error & "- Eier må være nummer! Innholdert i eier er <b>" & strEier & "</b>" & strFeilLinje
        End if
                   
        If Len(strRegnr) <> 7 Then
            error = error & "- Regnr må ha en lengde på 7! Innholdet i regnr er <b>" & strRegnr & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if
                   
        If not CheckRegNr(strRegnr) Then
            error = error & "- Regnr må ha 2 bokstaver så 5 tall! Innholdet i regnr er <b>" & strRegnr & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strFabrikat) = False Then
            error = error & "- Fabrikat må være nummer! Innholdert i fabrikat er <b>" & strFabrikat & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strModell) = False Then
            error = error & "- Modell må være nummer! Innholdert i modell er <b>" & strModell & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strType) = False Then
            error = error & "- Type må være nummer! Innholdert i type er <b>" & strType & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strArsmodell) = False And Len(strArsmodell) <> 4 Then
            error = error & "- Årsmodell må være nummer og ha 4 tegn! Innholdert i årsmodell er <b>" & strArsmodell & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if                   
                   
        If (inStr(strMotor,",")=2) AND isNumeric(left(strMotor,1)) AND isNumeric(right(strMotor,1)) AND (len(strMotor) = 3) then
        Else
            error = error & "- Motorstørrelse må ha en lengde på 3! Innholdet i motorstørrelse er <b>" & strMotor & "</b> og lengden er " & Len(strMotor) & strFeilLinje
        End if
                   
        If Isnumeric(strListepris) = False Then
            error = error & "- Listepris må være nummer! Innholdert i listepris er <b>" & strListepris & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strPremie) = False Then
            error = error & "- Premie må være nummer! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if
           
        'Denne kan fjernes hvis det skal velges flere premier!
        If strPremie <> 1 Then
            error = error & "- Premie må være 1! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if       
                   
        If Isnumeric(strAvdeling) = False Then
            error = error & "- Avdeling må være nummer! Innholdert i avdeling er <b>" & strAvdeling & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strRegAv ) = False Then
            error = error & "- Registert av må være nummer! Innholdert i Registert av er " & strRegAv  & strFeilLinje
        End if
                   
        strDato2 = strGjelderFra
                   
        strDay2 = Day( strdato2 )
        if len(strDay2) = 1 then
            strDay2 = "0" & strDay2
        end if
                               
        strMonth2 = Month( strdato2 )
        if len(strMonth2) = 1 then
            strMonth2 = "0" & strMonth2
        end if
                           
        strYear2 = Year( strdato2 )
        if len(strYear2) = 1 then
            strYear2 = "0" & strYear2
        end if
                           
        strGjelderFra =  strDay2 & "/" & strMonth2    & "/" & strYear2
                   
        If Len(strGjelderFra) <> 10 OR Instr(strGjelderFra,"/")=0 OR Instr(strGjelderFra,"/")=0 Then
            error = error & "- Gjelder fra er ugyldig! Eks: dd.mm.yyyy Innholdert i gjelder fra er " & strGjelderFra & strFeilLinje
        End If
           
        'Teller antall dager
        strAntDager = DateDiff("Y", strGjelderFra, strMinus30dager)
               
        If strAntDager > 30 Then
            error = error & "- Gjelder fra kan ikke være eldre enn 30 dager. Antall dager var tilbake var " & strAntDager & strFeilLinje
        End if           
                   
        If strAktiv <> "JA" AND strAktiv <> "NEI" Then
            error = error & "- Aktiv må være enten JA eller NEI! Innholdet i strAktiv er " & strAktiv & strFeilLinje
        End if   
       
        If Len(strSiOppForsikringFra) <> 10 OR Instr(strSiOppForsikringFra,"/")=0 OR Instr(strSiOppForsikringFra,"/")=0 Then
            error = error & "- Si oppForsikring fra er ugyldig! Eks: dd.mm.yyyy Innholdert i si opp forsikring fra er " & strSiOppForsikringFra & strFeilLinje
        End If                               
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - SLUTT
        '----------------------------------------------------------------------------------------------------------------------------------------
    i = i + 1
    iNew = iNew + 1
    j = J + 1
Else
    error = error & "- Det er feil i linje <b>" & j & "</b><br>"
    Loop
       
    Session("AntBiler") = iNew
       
    If i = 0 Then
        Response.Redirect "step1.asp?MSG=Filen hadde ingen poster! Prøv med ny fil"
    End if

    Set F = Nothing   

    If error = "" Then
        FSO.CopyFile strPath,strOKPath
        FSO.DeleteFile(strPath)
    Else
        FSO.DeleteFile(strPath)
    End if


    Set FSO = Nothing
End if

If error <> "" Then
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <LINK REV=made href="mailto:morten@cyren.no">
  <TITLE><%=strtittel%></TITLE>
  <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  <META HTTP-EQUIV="Pragma" content="no-cache">
  <META name="robots" content="NOINDEX">
  <META name="Author" content="Morten Marius Cyrèn">
  <META name="Copyright" content="Morten Marius Cyrèn">
  <META name="Publisher" content="Morten Marius Cyrèn">
  <link rel="shortcut icon" href="../../profil/icon/icon.ico">
  <link rel="stylesheet" type="text/css" href="../css/stylesheetIE.css">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
  <tr>
    <td align="center">
        <div align="center" class="text"><b>STEG 3 AV 4 - <font color="red">FILEN HADDE FEIL!</font></b></div>
        <table style="border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; width: 650px; border-bottom: rgb(204,204,204) 1px solid" cellspacing=0 cellpadding=0 border=0>
        <tbody>
        <tr valign=top>
        <td style="padding-right: 10px; padding-left: 10px; padding-bottom: 10px; padding-top: 10px">
        <table style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px" cellspacing=0 cellpadding=0 border=0>
        <tbody>       
        <tr>
            <td class="error"><font color="red"><%=error%></font></td>
        </tr>
        <tr>
            <td class="error" align="middle"><font color="red"><b>Filen er slettet!<b></font></td>
        </tr>       
        <tr>
            <td class="text" align="middle">[ <a href="step1.asp">Last opp ny fil</a> ]</td>
        </tr>
        </tbody>
        </table>
        </td>
        </tr>
        </tbody>
        </table>   
    </td>
  </tr>
</table>
</body>
</html>
<%
Else
    Response.Redirect("step3_OK.asp")
End if
%>
Avatar billede mortency Nybegynder
24. maj 2004 - 15:46 #8
//ELLEBAEK

Får feil i linje 168

<%
Option Explicit
%>
<!--#include file ="../include/global_variables.asp"-->
<!--#include file ="../user_include/check_import_login.asp"-->
<!--#include file ="include/sjekk_loggin.asp"-->
<%
strFil = Trim(Request.Form("txtFile"))
strPath = "d:\users\import_files_not_OK\" & strFil
strOKPath = "d:\users\import_files_OK\" & strFil

Set FSO = CreateObject("Scripting.FileSystemObject")
           
If not FSO.FileExists(strPath) Then
        Response.Redirect "step1.asp?MSG=Filen eksisterer ikke lenger, last opp ny fil(S3)"
        Response.End
End if

Filespec = strPath
Set F = FSO.OpenTextFile(Filespec,1)

error = ""

'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - START
'----------------------------------------------------------------------------------------------------------------------------------------
function CheckRegNr(inputstreng)
    dim regcon
    set regcon = new RegExp
    regcon.ignoreCase = true
    regcon.Global = true
    regcon.pattern = "^([a-zæøå]{2}\d{5})$"
    CheckRegNr = regcon.test(inputstreng)
end function
'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
   
strMinus30dager = date()
   
i = 1
iNew = 0
j = 1
Do While not F.AtEndOfStream

    FilArr = Split(F.Readline, ";")
   
    'Sjekker om formatet er OK
    If LBound(FilArr) = 0 Then
               
        'Henter data fra txtfil
        strEier = Trim(filArr(0))
        strRegnr = UCASE(Trim(filArr(1)))
        strFabrikat = Trim(filArr(2))
        strModell = Trim(filArr(3))
        strType = Trim(filArr(4))
        strArsmodell = Trim(filArr(5))
        strMotor = Trim(Replace(filArr(6),".","," ))'Fjerner punktum og setter inn et komma.
        strListePris = Trim(filArr(7))
        strPremie = Trim(filArr(8))'Denne hentes automatisk ut fra systemet, det er kun en premie.
        strAvdeling = Trim(filArr(9))
        strRegAv = Trim(filArr(10))'Denne kan godt settes til fast siden den ikke skal tukles med
        strGjelderFra = Trim(Replace(filArr(11),".","/" ))
        strAktiv = Trim(filArr(12))
        strSiOppForsikringFra = Trim(Replace(filArr(13),".","/" ))
                   
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - START
        '----------------------------------------------------------------------------------------------------------------------------------------
        strFeilLinje = " - Feilen var på linje <b>" & i & "</b> der regnr var <b>" & strRegnr & "</b>!<br>"
                   
        If Isnumeric(strEier) = False Then
            error = error & "- Eier må være nummer! Innholdert i eier er <b>" & strEier & "</b>" & strFeilLinje
        End if
                   
        If Len(strRegnr) <> 7 Then
            error = error & "- Regnr må ha en lengde på 7! Innholdet i regnr er <b>" & strRegnr & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if
                   
        If not CheckRegNr(strRegnr) Then
            error = error & "- Regnr må ha 2 bokstaver så 5 tall! Innholdet i regnr er <b>" & strRegnr & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strFabrikat) = False Then
            error = error & "- Fabrikat må være nummer! Innholdert i fabrikat er <b>" & strFabrikat & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strModell) = False Then
            error = error & "- Modell må være nummer! Innholdert i modell er <b>" & strModell & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strType) = False Then
            error = error & "- Type må være nummer! Innholdert i type er <b>" & strType & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strArsmodell) = False And Len(strArsmodell) <> 4 Then
            error = error & "- Årsmodell må være nummer og ha 4 tegn! Innholdert i årsmodell er <b>" & strArsmodell & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if                   
                   
        If (inStr(strMotor,",")=2) AND isNumeric(left(strMotor,1)) AND isNumeric(right(strMotor,1)) AND (len(strMotor) = 3) then
        Else
            error = error & "- Motorstørrelse må ha en lengde på 3! Innholdet i motorstørrelse er <b>" & strMotor & "</b> og lengden er " & Len(strMotor) & strFeilLinje
        End if
                   
        If Isnumeric(strListepris) = False Then
            error = error & "- Listepris må være nummer! Innholdert i listepris er <b>" & strListepris & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strPremie) = False Then
            error = error & "- Premie må være nummer! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if
           
        'Denne kan fjernes hvis det skal velges flere premier!
        If strPremie <> 1 Then
            error = error & "- Premie må være 1! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if       
                   
        If Isnumeric(strAvdeling) = False Then
            error = error & "- Avdeling må være nummer! Innholdert i avdeling er <b>" & strAvdeling & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strRegAv ) = False Then
            error = error & "- Registert av må være nummer! Innholdert i Registert av er " & strRegAv  & strFeilLinje
        End if
                   
        strDato2 = strGjelderFra
                   
        strDay2 = Day( strdato2 )
        if len(strDay2) = 1 then
            strDay2 = "0" & strDay2
        end if
                               
        strMonth2 = Month( strdato2 )
        if len(strMonth2) = 1 then
            strMonth2 = "0" & strMonth2
        end if
                           
        strYear2 = Year( strdato2 )
        if len(strYear2) = 1 then
            strYear2 = "0" & strYear2
        end if
                           
        strGjelderFra =  strDay2 & "/" & strMonth2    & "/" & strYear2
                   
        If Len(strGjelderFra) <> 10 OR Instr(strGjelderFra,"/")=0 OR Instr(strGjelderFra,"/")=0 Then
            error = error & "- Gjelder fra er ugyldig! Eks: dd.mm.yyyy Innholdert i gjelder fra er " & strGjelderFra & strFeilLinje
        End If
           
        'Teller antall dager
        strAntDager = DateDiff("Y", strGjelderFra, strMinus30dager)
               
        If strAntDager > 30 Then
            error = error & "- Gjelder fra kan ikke være eldre enn 30 dager. Antall dager var tilbake var " & strAntDager & strFeilLinje
        End if           
                   
        If strAktiv <> "JA" AND strAktiv <> "NEI" Then
            error = error & "- Aktiv må være enten JA eller NEI! Innholdet i strAktiv er " & strAktiv & strFeilLinje
        End if   
       
        If Len(strSiOppForsikringFra) <> 10 OR Instr(strSiOppForsikringFra,"/")=0 OR Instr(strSiOppForsikringFra,"/")=0 Then
            error = error & "- Si oppForsikring fra er ugyldig! Eks: dd.mm.yyyy Innholdert i si opp forsikring fra er " & strSiOppForsikringFra & strFeilLinje
        End If                               
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - SLUTT
        '----------------------------------------------------------------------------------------------------------------------------------------
    i = i + 1
    iNew = iNew + 1
    Loop
Else
    error = error & "- Det er feil i linje <b>" & j & "</b> (Sjekk formatet i filen!)<br>"
    j = J + 1
    Loop
End if
       
Session("AntBiler") = iNew
       
If i = 0 Then
    Response.Redirect "step1.asp?MSG=Filen hadde ingen poster! Prøv med ny fil"
End if

Set F = Nothing   

If error = "" Then
    FSO.CopyFile strPath,strOKPath
    FSO.DeleteFile(strPath)
Else
    FSO.DeleteFile(strPath)
End if


Set FSO = Nothing

If error <> "" Then
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <LINK REV=made href="mailto:morten@cyren.no">
  <TITLE><%=strtittel%></TITLE>
  <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  <META HTTP-EQUIV="Pragma" content="no-cache">
  <META name="robots" content="NOINDEX">
  <META name="Author" content="Morten Marius Cyrèn">
  <META name="Copyright" content="Morten Marius Cyrèn">
  <META name="Publisher" content="Morten Marius Cyrèn">
  <link rel="shortcut icon" href="../../profil/icon/icon.ico">
  <link rel="stylesheet" type="text/css" href="../css/stylesheetIE.css">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
  <tr>
    <td align="center">
        <div align="center" class="text"><b>STEG 3 AV 4 - <font color="red">FILEN HADDE FEIL!</font></b></div>
        <table style="border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; width: 650px; border-bottom: rgb(204,204,204) 1px solid" cellspacing=0 cellpadding=0 border=0>
        <tbody>
        <tr valign=top>
        <td style="padding-right: 10px; padding-left: 10px; padding-bottom: 10px; padding-top: 10px">
        <table style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px" cellspacing=0 cellpadding=0 border=0>
        <tbody>       
        <tr>
            <td class="error"><font color="red"><%=error%></font></td>
        </tr>
        <tr>
            <td class="error" align="middle"><font color="red"><b>Filen er slettet!<b></font></td>
        </tr>       
        <tr>
            <td class="text" align="middle">[ <a href="step1.asp">Last opp ny fil</a> ]</td>
        </tr>
        </tbody>
        </table>
        </td>
        </tr>
        </tbody>
        </table>   
    </td>
  </tr>
</table>
</body>
</html>
<%
Else
    Response.Redirect("step3_OK.asp")
End if
%>
Avatar billede ellebaek Nybegynder
24. maj 2004 - 20:07 #9
hvad er linie 168..?
Avatar billede mortency Nybegynder
25. maj 2004 - 11:05 #10
Beklager feilen er i linje 52

Subscript out of range: '[number: 0]'

strEier = Trim(filArr(0)) <--- DETTE ER LINJE 52
Avatar billede ellebaek Nybegynder
25. maj 2004 - 11:14 #11
prøv lige at rette denne linie:
If LBound(FilArr) = 0 Then


til:
If not LBound(FilArr) < 0 Then
Avatar billede mortency Nybegynder
25. maj 2004 - 11:19 #12
Får fortsatt Subscript out of range: '[number: 0]'  i linje 52
Avatar billede ellebaek Nybegynder
25. maj 2004 - 11:27 #13
prøv at udskrive LBound(filarr) hver gang du kører runden, og så lad være med at gøre noget andet..
Avatar billede mortency Nybegynder
25. maj 2004 - 11:31 #14
Den skriver ut kun 00000000000000000000000000000000000000000

<%
Option Explicit
%>
<!--#include file ="../include/global_variables.asp"-->
<!--#include file ="../user_include/check_import_login.asp"-->
<!--#include file ="include/sjekk_loggin.asp"-->
<%
strFil = Trim(Request.Form("txtFile"))
strPath = "d:\users\import_files_not_OK\" & strFil
strOKPath = "d:\users\import_files_OK\" & strFil

Set FSO = CreateObject("Scripting.FileSystemObject")
           
If not FSO.FileExists(strPath) Then
        Response.Redirect "step1.asp?MSG=Filen eksisterer ikke lenger, last opp ny fil(S3)"
        Response.End
End if

Filespec = strPath
Set F = FSO.OpenTextFile(Filespec,1)

error = ""

'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - START
'----------------------------------------------------------------------------------------------------------------------------------------
function CheckRegNr(inputstreng)
    dim regcon
    set regcon = new RegExp
    regcon.ignoreCase = true
    regcon.Global = true
    regcon.pattern = "^([a-zæøå]{2}\d{5})$"
    CheckRegNr = regcon.test(inputstreng)
end function
'----------------------------------------------------------------------------------------------------------------------------------------
'FUNCTION SOM SJEKKER REGNR FOR 2 TEGN og 5 TALL - SLUTT
'----------------------------------------------------------------------------------------------------------------------------------------
   
strMinus30dager = date()
   
i = 1
iNew = 0
j = 1
Do While not F.AtEndOfStream

    FilArr = Split(F.Readline, ";")
   
    Response.write(LBound(filarr))
Loop
       
Session("AntBiler") = iNew
       
If i = 0 Then
    Response.Redirect "step1.asp?MSG=Filen hadde ingen poster! Prøv med ny fil"
End if

Set F = Nothing   

If error = "" Then
    FSO.CopyFile strPath,strOKPath
    FSO.DeleteFile(strPath)
Else
    FSO.DeleteFile(strPath)
End if


Set FSO = Nothing
Response.End
If error <> "" Then
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <LINK REV=made href="mailto:morten@cyren.no">
  <TITLE><%=strtittel%></TITLE>
  <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  <META HTTP-EQUIV="Pragma" content="no-cache">
  <META name="robots" content="NOINDEX">
  <META name="Author" content="Morten Marius Cyrèn">
  <META name="Copyright" content="Morten Marius Cyrèn">
  <META name="Publisher" content="Morten Marius Cyrèn">
  <link rel="shortcut icon" href="../../profil/icon/icon.ico">
  <link rel="stylesheet" type="text/css" href="../css/stylesheetIE.css">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
  <tr>
    <td align="center">
        <div align="center" class="text"><b>STEG 3 AV 4 - <font color="red">FILEN HADDE FEIL!</font></b></div>
        <table style="border-right: rgb(204,204,204) 1px solid; border-top: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; width: 650px; border-bottom: rgb(204,204,204) 1px solid" cellspacing=0 cellpadding=0 border=0>
        <tbody>
        <tr valign=top>
        <td style="padding-right: 10px; padding-left: 10px; padding-bottom: 10px; padding-top: 10px">
        <table style="padding-right: 3px; padding-left: 3px; padding-bottom: 3px; padding-top: 3px" cellspacing=0 cellpadding=0 border=0>
        <tbody>       
        <tr>
            <td class="error"><font color="red"><%=error%></font></td>
        </tr>
        <tr>
            <td class="error" align="middle"><font color="red"><b>Filen er slettet!<b></font></td>
        </tr>       
        <tr>
            <td class="text" align="middle">[ <a href="step1.asp">Last opp ny fil</a> ]</td>
        </tr>
        </tbody>
        </table>
        </td>
        </tr>
        </tbody>
        </table>   
    </td>
  </tr>
</table>
</body>
</html>
<%
Else
    Response.Redirect("step3_OK.asp")
End if
%>
Avatar billede ellebaek Nybegynder
25. maj 2004 - 11:47 #15
det forstår jeg ikke, for så burde det faktisk virke..

Hmm..

Prøv at rette disse linier:
Do While not F.AtEndOfStream

    FilArr = Split(F.Readline, ";")
   
    Response.write(LBound(filarr))
Loop

til:
Do While not F.AtEndOfStream

    FilArr = Split(F.Readline, ";")
   
    Response.write j & vbtab & LBound(filarr) & "<br>"
j = j+1
Loop
Avatar billede mortency Nybegynder
25. maj 2004 - 11:53 #16
Da kommer:

1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0

OSV........
Avatar billede ellebaek Nybegynder
25. maj 2004 - 11:56 #17
så burde det altså virke..

Meget mystisk.

hmm!!!

prøv hvor du kører hele scriptet men remmer den linie ud med filarr(0)
Avatar billede mortency Nybegynder
25. maj 2004 - 11:58 #18
Filen jeg importerer ser slik ut:

22;AA48309;28;269;1;2003;1.2;0;1;181;43;14.08.2003;JA;14.08.2003
22;AA48310;28;269;1;2003;1.2;0;1;181;43;14.08.2003;JA;14.08.2003
22;AJ56074;28;269;1;2003;1.2;0;1;181;43;15.08.2003;JA;15.08.2003
22;BP82441;42;436;1;2003;1.6;0;1;181;43;21.08.2003;JA;21.08.2003
22;BP84445;13;74;1;2003;1.6;0;1;181;43;30.09.2003;JA;30.09.2003
22;BP84470;13;74;1;2003;1.6;0;1;181;43;01.10.2003;JA;01.10.2003
22;BP84937;13;80;1;2004;1.8;0;1;181;43;16.10.2003;JA;16.10.2003
22;BP84938;13;80;1;2004;1.8;0;1;181;43;16.10.2003;JA;16.10.2003
22;BP84939;13;80;1;2004;1.8;0;1;181;43;16.10.2003;JA;16.10.2003
22;BP85408;36;347;1;2003;1.2;0;1;181;43;13.10.2003;JA;13.10.2003
Avatar billede ellebaek Nybegynder
25. maj 2004 - 12:01 #19
nå...

Jeg skal have læst til noget eksamen..
Men vender tilbage i aften med en lille kommentar eller 2..
Avatar billede mortency Nybegynder
25. maj 2004 - 12:07 #20
Takker og bukker for hjelpen så langt...
Avatar billede ellebaek Nybegynder
25. maj 2004 - 21:00 #21
når desværre ikke noget i aften...
Men vender tilbage i morgen.
Avatar billede mortency Nybegynder
27. maj 2004 - 12:33 #22
//Ellebaek

Løste feilen på følgende måte: UBound(FilArr) isteden for LBound(FilArr) :-)

Post et svar så skal du få halvparten av pointene... Takk for hjelpen.

i = 1
iNew = 0
j = 1
Do While not F.AtEndOfStream

    FilArr = Split(F.Readline, ";")
   
    If UBound(FilArr) = 13 Then
               
        'Henter data fra txtfil
        strEier = Trim(filArr(0))
        strRegnr = UCASE(Trim(filArr(1)))
        strFabrikat = Trim(filArr(2))
        strModell = Trim(filArr(3))
        strType = Trim(filArr(4))
        strArsmodell = Trim(filArr(5))
        strMotor = Trim(Replace(filArr(6),".","," ))'Fjerner punktum og setter inn et komma.
        strListePris = Trim(filArr(7))
        strPremie = Trim(filArr(8))'Denne hentes automatisk ut fra systemet, det er kun en premie.
        strAvdeling = Trim(filArr(9))
        strRegAv = Trim(filArr(10))'Denne kan godt settes til fast siden den ikke skal tukles med
        strGjelderFra = Trim(Replace(filArr(11),".","/" ))
        strAktiv = Trim(filArr(12))
        strSiOppForsikringFra = Trim(Replace(filArr(13),".","/" ))
                   
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - START
        '----------------------------------------------------------------------------------------------------------------------------------------
        strFeilLinje = " - Feilen var på linje <b>" & i & "</b> der regnr var <b>" & strRegnr & "</b>!<br>"
                   
        If Isnumeric(strEier) = False Then
            error = error & "- Eier må være nummer! Innholdert i eier er <b>" & strEier & "</b>" & strFeilLinje
        End if
                   
        If Len(strRegnr) <> 7 Then
            error = error & "- Regnr må ha en lengde på 7! Innholdet i regnr er <b>" & strRegnr & "</b> og lengden er " & Len(strRegnr) & strFeilLinje
        End if
                   
        If not CheckRegNr(strRegnr) Then
            error = error & "- Regnr må ha 2 bokstaver så 5 tall! Innholdet i regnr er <b>" & strRegnr & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strFabrikat) = False Then
            error = error & "- Fabrikat må være nummer! Innholdert i fabrikat er <b>" & strFabrikat & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strModell) = False Then
            error = error & "- Modell må være nummer! Innholdert i modell er <b>" & strModell & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strType) = False Then
            error = error & "- Type må være nummer! Innholdert i type er <b>" & strType & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strArsmodell) = False OR Len(strArsmodell) <> 4 Then
            error = error & "- Årsmodell må være nummer og ha 4 tall! Innholdert i årsmodell er <b>" & strArsmodell & "</b> og lengden er " & Len(strArsmodell) & strFeilLinje
        End if                   
                   
        If (inStr(strMotor,",")=2) AND isNumeric(left(strMotor,1)) AND isNumeric(right(strMotor,1)) AND (len(strMotor) = 3) then
        Else
            error = error & "- Motorstørrelse må ha en lengde på 3 (tall,tall)! Innholdet i motorstørrelse er <b>" & strMotor & "</b> og lengden er " & Len(strMotor) & strFeilLinje
        End if
                   
        If Isnumeric(strListepris) = False Then
            error = error & "- Listepris må være nummer! Innholdert i listepris er <b>" & strListepris & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strPremie) = False Then
            error = error & "- Premie må være nummer! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if
           
        'Denne kan fjernes hvis det skal velges flere premier!
        If strPremie <> 1 Then
            error = error & "- Premie må være 1! Innholdert i premie er <b>" & strPremie & "</b>" & strFeilLinje
        End if       
                   
        If Isnumeric(strAvdeling) = False Then
            error = error & "- Avdeling må være nummer! Innholdert i avdeling er <b>" & strAvdeling & "</b>" & strFeilLinje
        End if
                   
        If Isnumeric(strRegAv ) = False Then
            error = error & "- Registert av må være nummer! Innholdert i Registert av er " & strRegAv  & strFeilLinje
        End if
                   
        strDato2 = strGjelderFra
                   
        strDay2 = Day( strdato2 )
        if len(strDay2) = 1 then
            strDay2 = "0" & strDay2
        end if
                               
        strMonth2 = Month( strdato2 )
        if len(strMonth2) = 1 then
            strMonth2 = "0" & strMonth2
        end if
                           
        strYear2 = Year( strdato2 )
        if len(strYear2) = 1 then
            strYear2 = "0" & strYear2
        end if
                           
        strGjelderFra =  strDay2 & "/" & strMonth2    & "/" & strYear2
                   
        If Len(strGjelderFra) <> 10 OR Instr(strGjelderFra,"/")=0 OR Instr(strGjelderFra,"/")=0 Then
            error = error & "- Gjelder fra er ugyldig! Eks: dd.mm.yyyy Innholdert i gjelder fra er " & strGjelderFra & strFeilLinje
        End If       
                   
        If strAktiv <> "JA" AND strAktiv <> "NEI" Then
            error = error & "- Aktiv må være enten JA eller NEI! Innholdet i strAktiv er " & strAktiv & strFeilLinje
        End if   
       
        If Len(strSiOppForsikringFra) <> 10 OR Instr(strSiOppForsikringFra,"/")=0 OR Instr(strSiOppForsikringFra,"/")=0 Then
            error = error & "- Si oppForsikring fra er ugyldig! Eks: dd.mm.yyyy Innholdert i si opp forsikring fra er " & strSiOppForsikringFra & strFeilLinje
        End If                               
        '----------------------------------------------------------------------------------------------------------------------------------------
        'SJEKKER DATA - SLUTT
        '----------------------------------------------------------------------------------------------------------------------------------------
    Else
        error = error & "- Det er feil i linje <b>" & j & "</b> (Sjekk at filen ikke har en tom/blank linje og at det er 14 poster separert med semikolon!)<br>"
    End if
i = i + 1
iNew = iNew + 1
j = j + 1   
Loop
Avatar billede ellebaek Nybegynder
27. maj 2004 - 12:35 #23
selfølgelig...

Tænkte slet ikke i de baner ;-)
Der kommer et svar her..
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