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