尽管 if 语句被正确关闭,但循环没有 Do 错误

Loop without Do error despite if statements being properly closed

我收到错误 "Loop without do"。 我不知道为什么,因为我所有的 if 语句都以 end if.

结尾

也许你们可以帮我看看哪里没有关闭(如果没有关闭的话)

这是我的代码

Do until Int(uitgevoerd)=Int(aantal_cat)
    Do until Not IsEmpty(request.form("categorie" & i)) 
        i=i+1
    loop
    Select Case True
        cbvcode = request.form("cbvcode" & i)

        ' Case Instr(cbvcode, "cbvcode") > 0
        if Instr(cbvcode, "cbvcode") > 0 then
            'objConProjecten.Execute(finanSQL)
            uitgevoerd=uitgevoerd+1 
            i=i+1   
        else
            bedragdeelnemer = request.form("bedragdeelnemer"& i)
            cat_id = request.form("categorie" & i)
            huidig_cat_id = request.form("huidig_cat_id_" & i)
            volgnummer = request.form("volgnummer" & i)
            'cbvcode = request.form("cbvcode" & i)

            'kijk of bedragdeelnemer leeg is. Zoniet doe een update of een insert.
            if bedragdeelnemer = "" then
                bedragdeelnemer = 0
            end if

            FOR c=1 to 5
                if Int(categorieen(c))=Int(cat_id) then
                    catgebruikt = TRUE 
                    categorieen(c)=null
                end if
            NEXT        
            response.write("<br>")
            response.write(i)
            response.write("<br>")
            if catgebruikt then
                finanSQL =  _
                    "UPDATE intakeformulieren_financien " & _
                    "SET bedragdeelnemer=" & replace(bedragdeelnemer, ",", ".") & _
                        ", volgnummer=" & volgnummer & _
                        ", cbvcode='" & cbvcode & _
                        "' WHERE formuliernr = " & formnummer & _
                        " AND cat_id = " & cat_id
                        response.write(finanSQL)
                        catgebruikt = FALSE
            else
                finanSQL =  _
                    "INSERT INTO " & _
                    "intakeformulieren_financien (formuliernr, bedragdeelnemer, cat_id, volgnummer, cbvcode) " & _
                    "VALUES ("& & _
                         formnummer & "," & _
                         replace(bedragdeelnemer, ",", ".") & "," & _
                         cat_id & "," & _
                         volgnummer & ",'" & _
                         cbvcode & "')"
                response.write(finanSQL)
            end if
            objConProjecten.Execute(finanSQL)
            uitgevoerd=uitgevoerd+1 
            i=i+1
        end if
Loop

这是一个问题:

    finanSQL =  "INSERT INTO intakeformulieren_financien (formuliernr, bedragdeelnemer, cat_id, volgnummer, cbvcode) " &_
                "VALUES ("& formnummer & "," & replace(bedragdeelnemer, ",", ".") & "," & cat_id & "," & volgnummer & ",'" & cbvcode & "')"

因为你用的是“&_”而不是“&_”。下划线必须被隔离。它可能会破坏您的代码。

我看到的另一个问题是您的 Select 案例正确。我喜欢 Select Case true,但你没有任何东西可以利用它。您没有任何 end select,也没有任何未被注释掉的 Case。尝试删除整行。

然后再试一次,post 您的新代码,如果仍然无效,请告诉我们。啊,还有请把缩进做得更好

最后我就是这样做的。它有效 :) 谢谢!

Do until Int(uitgevoerd)=Int(aantal_cat)
    Do until Not IsEmpty(request.form("categorie" & i)) 
        i=i+1
    loop
    cbvcode = request.form("cbvcode" & i)
    Select Case True

    Case Instr(cbvcode, "-1") > 0
        'objConProjecten.Execute(finanSQL)
        uitgevoerd=uitgevoerd+1 
        i=i+1   
    Case else
       ...
       ...
    End Select
Loop