Vb.net 用于跟踪已输入数据数量的代码

Vb.net 用于跟踪已输入数据数量的代码,vb.net,ms-access-2007,Vb.net,Ms Access 2007,我有一个表格,我想在其中输入机器的序号。它有一个组合框,我必须在其中选择保存在另一个表中的发票号及其相应的机器数量。 当我输入机器详细信息时,它应该告诉我“输入第X台/第Y台机器的Sr编号,其中Y是保存在db中的总数量,X是我保存的Sr编号+1” 它还可以让我把号码保存在某个地方。。我的意思是在任何变量中,如果我在单词if continue之间和之后暂停工作,它应该说我“为X'th/Y'th输入细节”,而不是“1'st/Y'th” 我正在使用以下代码: Private Sub get_qty()

我有一个表格,我想在其中输入机器的序号。它有一个组合框,我必须在其中选择保存在另一个表中的发票号及其相应的机器数量。 当我输入机器详细信息时,它应该告诉我“输入第X台/第Y台机器的Sr编号,其中Y是保存在db中的总数量,X是我保存的Sr编号+1”

它还可以让我把号码保存在某个地方。。我的意思是在任何变量中,如果我在单词if continue之间和之后暂停工作,它应该说我“为X'th/Y'th输入细节”,而不是“1'st/Y'th”

我正在使用以下代码:

Private Sub get_qty()

    Dim qtySql As String = "SELECT * FROM invoice1 where chalan_no='" & cmbChal_no.Text & "'"
    cnnOLEDB.Open()
    Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(qtySql, cnnOLEDB)

    Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader

    If dr.Read = True Then
        qnty = dr("qty")
    End If

    cnnOLEDB.Close()

End Sub

Private Sub Srno_enter()

    Dim noSql As String = "SELECT count(sr_no) FROM Vendor_machine GROUP BY(chalan_no) having chalan_no='" & cmbChal_no.Text & "'"
    cnnOLEDB.Open()
    Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(noSql, cnnOLEDB)

       ' Suggest code retrieve count(sr_no)           <--------------------------

    cnnOLEDB.Close()

End Sub

private sub show()
     lblMachine= 'Result of count(sr_no)' "/" qnty
end sub
Private Sub-get_数量()
Dim qtySql As String=“从发票1中选择*,其中编号=”&cmbChal编号文本&“
cnnOLEDB.Open()
Dim cmd As OleDb.OleDbCommand=新的OleDb.OleDbCommand(qtySql,cnnOLEDB)
将灾难恢复设置为OleDb.OleDbDataReader=cmd.ExecuteReader
如果dr.Read=True,则
qnty=dr(“数量”)
如果结束
cnnOLEDB.Close()
端接头
专用子Srno_enter()
Dim noSql As String=“从供应商机器组中选择计数(sr_no),通过(chalan_no)选择chalan_no='”&cmbChal_no.Text&'”
cnnOLEDB.Open()
Dim cmd As OleDb.OleDbCommand=新的OleDb.OleDbCommand(noSql,cnnOLEDB)
'建议代码检索计数(sr_no)只需在数据库中使用一个,并让数据库引擎创建下一个自由编号


如果您编写了一个存储过程来进行插入,您可以

@Harabati-阅读答案中的链接-它们会为您提供所有详细信息。我的意思是,如果我在一个发票号中有20台机器,那么它应该告诉我输入第一台/第二台/第三台../20机器的详细信息。另外,如果我已经输入了10台机器的详细信息,由于某些原因,我必须停止系统,然后当我启动时,应该说输入第11/20台机器的详细信息,而不是第1/20台机器的详细信息。。。如果有人能帮我的话……这件事非常紧急。。。。谢谢..@Harabati-在我看来,您需要首先研究数据库的设计。序列号表应该是发票表的相关表,允许您输入任意数量的序列号。然后在序列号表中使用外键链接回发票表。计算一张发票上输入了多少序列号是很简单的:
SELECT COUNT(*)FROM SerialNos,其中SerialNos.InvoiceID=1234
我使用的是相同的查询,我认为工具包正在工作。。。但是如何将其设置为标签文本。。。代码:
Dim strCntSr As String=“选择来自供应商机器的计数(sr_no),其中chaln_no=”&cmbChal_no.Text&““Dim comm_getCnt=New OleDb.OleDbCommand(strCntSr,cnnOLEDB)comm_getCnt.ExecuteNonQuery()a=Val(comm_getCnt.ToString)lblMachine.Text=a&“/”&qnty
我知道这不是正确的代码。。请告诉我正确的代码。。。非常感谢。