Vb.net 根据其他标签中的值更改标签

Vb.net 根据其他标签中的值更改标签,vb.net,labels,Vb.net,Labels,我正在创建一个POS系统,在小计页面上有各种标签,如“现金”、“卡”、“凭证”等。 比如说,一位客户总共20英镑,他们想用现金支付其中的10英镑,用信用卡支付另外的10英镑,我很难让标签按他们应该的方式合计。 “total tendered”(投标总额)标签显示0.000,即使它应该显示20.00英镑;余额和变动标签始终显示0.00,即使它们应该显示other(其他)。我知道这是非常基本的,但我已经尝试了很多年了,现在我一无所获。 我也尝试过从数据库中调用值,但也没有乐趣。谢谢 (我只包括

我正在创建一个POS系统,在小计页面上有各种标签,如“现金”、“卡”、“凭证”等。

比如说,一位客户总共20英镑,他们想用现金支付其中的10英镑,用信用卡支付另外的10英镑,我很难让标签按他们应该的方式合计。

“total tendered”(投标总额)标签显示0.000,即使它应该显示20.00英镑;余额和变动标签始终显示0.00,即使它们应该显示other(其他)。我知道这是非常基本的,但我已经尝试了很多年了,现在我一无所获。

我也尝试过从数据库中调用值,但也没有乐趣。谢谢 (我只包括了一个付款按钮点击事件,因为它们都是相同的,除了标签名称的更改,例如,在卡点击事件中,lblcash.text将显示lblcard.text。)

Private Sub btnCash\u Click(发送者作为对象,e作为事件参数)处理btnCash。Click

    'Payment methods...........??
    '2 cash entries
    'cash and card
    'gift voucher and cash
    'gift voucher and card

    If txtCash.Text = "" Then
        MessageBox.Show("Please enter amount")
    ElseIf txtCash.Text >= "0.00" Then

        lblCash.Text = txtCash.Text
        lblCash.Text = FormatCurrency(lblCash.Text, 2)

        lblTotTend.Text = (lblCash.Text) + (lblCredit.Text) + (lblVoucher.Text) + (lblOther.Text)
        lblTotTend.Text = FormatCurrency(lblTotTend.Text, 2)

        'DISPLAYING AS £0.00
        lblBALANCE.Text = (lblTOTALDUE.Text) - (lblTotTend.Text)
        lblBALANCE.Text = FormatCurrency(lblBALANCE.Text, 2)

        If lblBALANCE.Text < "0.00" Then
            lblBALANCE.Text = "£0.00"
        End If

        lblChange.Text = (lblTotTend.Text) - (lblTOTALDUE.Text)
        lblChange.Text = FormatCurrency(lblChange.Text, 2)

        If lblChange.Text <= "£0.00" Then
            lblChange.Text = "£0.00"
        End If

        txtCash.Text = ""

        SqlStr = "UPDATE Subtotal SET CASH = '" & lblCash.Text & "'"
        With CMD
            .Connection = CN
            .CommandType = CommandType.Text
            .CommandText = SqlStr
        End With
        DataP = CMD.ExecuteScalar

        SqlStr = "UPDATE Subtotal SET CHANGE = '" & lblChange.Text & "'"
        With CMD
            .Connection = CN
            .CommandType = CommandType.Text
            .CommandText = SqlStr
        End With
        DataP = CMD.ExecuteScalar

        SqlStr = "UPDATE Subtotal SET BalanceRemain = '" & lblBALANCE.Text & "'"
        With CMD
            .Connection = CN
            .CommandType = CommandType.Text
            .CommandText = SqlStr
        End With
        DataP = CMD.ExecuteScalar

        SqlStr = "UPDATE Subtotal SET TotalTendered = '" & lblTotTend.Text & "'"
        With CMD
            .Connection = CN
            .CommandType = CommandType.Text
            .CommandText = SqlStr
        End With
        DataP = CMD.ExecuteScalar
    End If

    SqlStr = "INSERT INTO SalesLog(ReceiptID) SELECT Id FROM Subtotal"
    With CMD
        .Connection = CN
        .CommandType = CommandType.Text
        .CommandText = SqlStr
    End With
    DataP = CMD.ExecuteNonQuery

    SqlStr = "INSERT INTO TransactionLog(ReceiptID) SELECT Id FROM Subtotal"
    With CMD
        .Connection = CN
        .CommandType = CommandType.Text
        .CommandText = SqlStr
    End With
    DataP = CMD.ExecuteNonQuery

    ' Added this statement to try solve problem with totaltendered label
    SqlStr = "SELECT SUM(TotalTendered) FROM Subtotal"
    With CMD
        .Connection = CN
        .CommandType = CommandType.Text
        .CommandText = SqlStr
    End With
    lblTotTend.Text = CMD.ExecuteScalar
    lblTotTend.Text = FormatCurrency(lblTotTend.Text, 2)

    'UPDATES THE PRICE LABEL TEXTBOX WITH THE LATEST PRICE TOTAL WITHIN THE ACTIVE TABLE!!
    SqlStr = Nothing
    SqlStr = "SELECT SUM(Price) FROM Active"
    With CMD
        .Connection = CN
        .CommandType = CommandType.Text
        .CommandText = SqlStr
    End With
    lblTOTALDUE.Text = CMD.ExecuteScalar
    ' lblTOTALDUE.Text = FormatCurrency(lblTOTALDUE.Text, 2)

    If lblBALANCE.Text = "£0.00" Then
        Reset()
        Application.DoEvents()
        'TILL DRAWER OPEN
        Threading.Thread.Sleep(5000)
        Me.Close()
        Login.Show()
    End If

End Sub
“付款方式………..?”。。。。。。。。。。。??
“2现金分录
“现金和信用卡
“礼券和现金
“礼券和卡
如果txtCash.Text=”“,则
MessageBox.Show(“请输入金额”)
ElseIf txtCash.Text>=“0.00”然后
lblCash.Text=txtCash.Text
lblCash.Text=格式货币(lblCash.Text,2)
lbltettend.Text=(lblCash.Text)+(lblCredit.Text)+(lblVoucher.Text)+(lblOther.Text)
lbltettend.Text=格式货币(lbltettend.Text,2)
'显示为0.00英镑
lblBALANCE.Text=(lblTOTALDUE.Text)-(lbltettend.Text)
lblBALANCE.Text=格式货币(lblBALANCE.Text,2)
如果lblBALANCE.Text<“0.00”,则
lblBALANCE.Text=“£0.00”
如果结束
lblChange.Text=(lbltettend.Text)-(lblTOTALDUE.Text)
lblChange.Text=格式货币(lblChange.Text,2)

如果lblChange.TextOk。。。你在试着用弦做数学题<代码>If lblChange.Text是的,我去掉了If语句。。我忘了我们在爱尔兰南部有商店。。我真傻!这让我头疼。。一旦我认为它可以工作,我点击其他东西,例如,余额标签的值与到期总额相同,我不知道如何…这就是编程的乐趣:)您可以使用的几个技巧。。。如果是数字(textbox.Text),我将使用textbox=“”而不是数字,而不是检查它,然后。。。您有一个数值。。。。同时,要对您当前的问题进行排序,请添加一些断点,并检查各个点的标签所包含的内容,以查看您的问题所在。非常感谢Mych=)