VB6运行时错误424

时间:2017-03-31 18:58:59

标签: vb6

我在这条线上收到错误424,任何人都可以帮助我。

lblprvbal.Text = Val(NewItem.SubItems(11))
Private Sub cmdShow_Click()
'lblTotPur/lblTotPayRet/lblBalance
Dim strShow, mSlNo
Dim rsShow As New ADODB.Recordset
Dim NewItem As Variant
If Trim(txtCustomer.Text) = "" Then
    MsgBox "Please select customer to proceed...", vbCritical, POPUP_COMP
    Exit Sub
End If

Dim recCnt
pgrPartyLedger.Min = 0
recCnt = 0
'VOUCHMST_P//VNO,DATED,VTYPE,REMARKS,byUser CASH PURCHASE RETURN
strShow = "select Count(*) as mCnt from VOUCHMST A,VOUCHDAT B, Prevbal C  "
strShow = strShow & " where A.VNO=B.VNO and B.IDNO=C.obd and (A.REMARKS='CASH SALE RETURN' OR A.REMARKS='CREDIT SALE RETURN' OR A.REMARKS='CREDIT SALE' OR A.REMARKS='CASH SALE' OR A.REMARKS='RECEIPT' OR A.REMARKS='CREDIT NOTE') "
strShow = strShow & " and A.DATED between #" & Format(dtFrom.Value, "MM/dd/yyyy") & "# "
strShow = strShow & " and #" & Format(dtTo.Value, "MM/dd/yyyy") & "# "
strShow = strShow & " and B.IDNO = '" & Trim(txtCustomerId.Text) & "' "
'strShow = strShow & " order by A.ID,A.DATED,A.VNO"
rsShow.Open strShow, cn
recCnt = rsShow("mCnt")
rsShow.Close
pgrPartyLedger.Max = recCnt + 1

'VOUCHMST_P//VNO,DATED,VTYPE,REMARKS,byUser
strShow = "select A.Id,A.cmnt,A.ADV,A.VNO,A.DATED,B.IDNO,B.IDNAME,B.AMOUNT,B.DR_CR,B.VNARRATION,A.REMARKS,B.CQ_TYPE, B.BANKNAME, B.BANKBRANCH, B.CQ_NO, C.amnt from VOUCHMST A,VOUCHDAT B, Prevbal C "
strShow = strShow & " where A.VNO=B.VNO and B.IDNO=C.obd and (A.REMARKS='CASH SALE RETURN' OR A.REMARKS='CREDIT SALE RETURN' OR A.REMARKS='CREDIT SALE' OR A.REMARKS='CASH SALE' OR A.REMARKS='RECEIPT' OR A.REMARKS='CREDIT NOTE') "
strShow = strShow & " and A.DATED between #" & Format(dtFrom.Value, "MM/dd/yyyy") & "# "
strShow = strShow & " and #" & Format(dtTo.Value, "MM/dd/yyyy") & "# "
strShow = strShow & " and B.IDNO = '" & Trim(txtCustomerId.Text) & "' "
strShow = strShow & " order by A.ID,A.DATED,A.VNO"
rsShow.Open strShow, cn

Dim mPur, mPayRet, mAnyAdv, mTempVNO
mPur = 0
mPayRet = 0
mAnyAdv = 0

mSlNo = 1
ShowPaymentHeader
Do While Not rsShow.EOF
    mTempVNO = rsShow("VNO")

    Set NewItem = listViewPayment.ListItems.Add(, "C" & mSlNo, Format(rsShow("DATED"), "dd/MM/yyyy"))
    NewItem.SubItems(1) = mTempVNO
    NewItem.SubItems(2) = IIf(IsNull(rsShow("IDNAME")), "", CommaFilterText(rsShow("IDNAME"), 1))
    NewItem.SubItems(11) = rsShow("amnt")
    If Trim(rsShow("REMARKS")) = "CASH SALE" Then
        NewItem.SubItems(3) = FormatTakaPaisa(rsShow("AMOUNT"))
        NewItem.SubItems(4) = FormatTakaPaisa(rsShow("AMOUNT"))
    ElseIf Trim(rsShow("REMARKS")) = "CREDIT SALE" Then
        mAnyAdv = ShowPartialAdvance(rsShow("VNO"))
        NewItem.SubItems(3) = FormatTakaPaisa(rsShow("AMOUNT") + Val(mAnyAdv))

        If Val(mAnyAdv) > 0 Then
            NewItem.SubItems(4) = FormatTakaPaisa(mAnyAdv)

        Else
            NewItem.SubItems(4) = ""


        End If
    Else
        NewItem.SubItems(3) = ""
        NewItem.SubItems(4) = FormatTakaPaisa(rsShow("AMOUNT"))
        NewItem.SubItems(7) = rsShow("CQ_TYPE")
        NewItem.SubItems(8) = rsShow("BANKNAME")
        NewItem.SubItems(9) = rsShow("BANKBRANCH")
        NewItem.SubItems(10) = rsShow("CQ_NO")

        NewItem.SubItems(13) = "" & rsShow("cmnt")




    End If
    NewItem.SubItems(6) = rsShow("IDNO")


    mPur = mPur + Val(NewItem.SubItems(3))
    mPayRet = mPayRet + Val(NewItem.SubItems(4))

    NewItem.SubItems(5) = rsShow("REMARKS")

    NewItem.SubItems(12) = GetVoucherRefNo(mTempVNO)

    pgrPartyLedger.Value = mSlNo

    mSlNo = mSlNo + 1
    rsShow.MoveNext
Loop
rsShow.Close

lblprvbal.Text = Val(NewItem.SubItems(11))
lblTotPur.Caption = FormatTakaPaisa(mPur) + Val(lblprvbal.Text)
lblTotPayRet.Caption = FormatTakaPaisa(mPayRet)
lblBalance.Caption = FormatTakaPaisa(mPur - mPayRet) + Val(lblprvbal.Text)

pgrPartyLedger.Value = 0
End Sub

3 个答案:

答案 0 :(得分:0)

看起来lblprvbal不是对象。这意味着,即使您认为自己在表单中也没有名为lblprvbal的TextBox。也许是因为它的真名是lblPrvBal?这与您的其他对象名称一致。作为旁注,您可能不希望使用lbl启动TextBox,这表明它是一个标签。

答案 1 :(得分:0)

请尝试以下操作。子项中的值为null,因此是错误。

If IsDBNull(NewItem.SubItems(11)) Then
    lblprvbal.Text = ""
Else
    lblprvbal.Text = Val(NewItem.SubItems(11))
End If

答案 2 :(得分:0)

检查NewItem是否为Nothing。