簡體   English   中英

VBScript If Instr與記錄集

[英]VBScript If Instr with a recordset

我正在嘗試對VBScript中的記錄集執行if語句,以“比較”比較記錄集。

While Not rs.EOF
    result = result & "<tr style='" & FontStyle(FontFamily, FontSize) & _
             " background-color: " & RowColors(number mod 2) & "'>" &_
             Tdc(number) & Td(rs("Name")) & Tdc(rs("Machine Type")) & _
             Tdc(ChooseStatusColor(rs("Backup Status"))) & _
             Tdc(rs("Backup State")) & Td(rs("Last Backup Start")) & _
             Td(rs("Last Backup End")) & _
             If InStr(rs("Next Backup"), "*M") > 0 Then Td(rs("Next Backup")) Else Td(rs("Next Backup")) & "12:00:00 AM" & _
             End If &_
             "</tr>"
    rs.MoveNext
    number = number + 1
Wend

如果我僅使用Td(rs("Next Backup")) & "12:00:00 AM" &_可以正常工作,但是如果我添加比較If Instr(rs("Next Backup"), "*M") > 0 then Td(rs("Next Backup")) Else Td(rs("Next Backup")) & "12:00:00 AM" &_ ,我得到了VB編譯錯誤。 我不確定此邏輯中的錯誤在哪里,或者我什至不能在InStr函數中使用記錄集。 我在這里做錯了什么?

當我使用多行時,我得到相同的結果:

While Not rs.EOF
    result = result & "<tr style='" & FontStyle(FontFamily, FontSize) & _
             " background-color: " & RowColors(number mod 2) & "'>" & _
             Tdc(number) & Td(rs("Name")) & Tdc(rs("Machine Type")) & _
             Tdc(ChooseStatusColor(rs("Backup Status"))) & _
             Tdc(rs("Backup State")) & Td(rs("Last Backup Start")) & _
             Td(rs("Last Backup End")) & _
             If InStr(1, (rs("Next Backup")), "*M") > 0 Then & _
             Td(rs("Next Backup")) & _
             Else Td(rs("Next Backup")) & "12:00:00 AM" & _
             End If &_
             "</tr>"
    rs.MoveNext
    number = number + 1
Wend

您不能內聯VBScript中的條件條件。 將您的代碼更改為如下所示:

While Not rs.EOF
    result = result & "<tr style='" & FontStyle(FontFamily, FontSize) & _
             " background-color: " & RowColors(number mod 2) & "'>" & _
             Tdc(number) & Td(rs("Name")) & Tdc(rs("Machine Type")) & _
             Tdc(ChooseStatusColor(rs("Backup Status"))) & _
             Tdc(rs("Backup State")) & Td(rs("Last Backup Start")) & _
             Td(rs("Last Backup End"))
    If InStr(rs("Next Backup"), "M") > 0 Then
        result = result & Td(rs("Next Backup"))
    Else
        result = result & Td(rs("Next Backup") & "12:00:00 AM")
    End If
    result = result & "</tr>"
    rs.MoveNext
    number = number + 1
Wend

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM