在Vb中的两个不同的表中减去另一个数量的数量

时间:2017-09-07 15:31:53

标签: vb.net ms-access

所有都在标题中。 我使用access作为我的数据库,vb作为我的编程语言。

这是我将数据表复制到另一个数据库的代码,但我想使用我的SELECT INTO语法和另一个语法进行减法。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
    dataFile = "C:\Users\Panda\Desktop\Test\AppMag\AppMag\Magasindb.accdb;Cache Authentication=True"

    connString = provider & dataFile
    myConnection.ConnectionString = connString
    myConnection.Open()

    Dim str1 As String

    str1 = "INSERT INTO Commandes_ok (Nom_commande_o, Nom_commande_o2, Nombre_commande_o, Nombre_commande_o2) Values (?, ?, ?, ?)"

    Dim cmd As OleDbCommand = New OleDbCommand(str1, myConnection)

    cmd.Parameters.Add(New OleDbParameter("commande1", CType(cmd1textbox.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("commande2", CType(cmd2textbox.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("Amount1", CType(amount1textbox.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("Amount2", CType(amount2textbox.Text, String)))

    Try
        cmd.ExecuteNonQuery()
        cmd.Dispose()
        myConnection.Close()

        cmd1textbox.Clear()
        amount1textbox.Clear()
        cmd2textbox.Clear()
        amount2textbox.Clear()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

我在文章表中有一个名为“nombre_article”的数量,当客户发送请求时,会将其复制到另一个名为“Commandes”的表中。

在“Commandes”中,请求处于暂挂状态,直到管理员发送他的确定然后“Commandes”中的数据出现在“Commandes_ok”旁边,这就是我的问题所在!我想从“文章”中删除“Commandes”中的[Nombre_commande]和[Nombre_commandes2]与所选文章的初始库存[nombre_article],同时将其复制到“Commandes_ok”

这是我的访问数据库:

[article]

{PRIM - > Id_article:自动编号外键 - > ID_commande:AutoNumber}

[Commandes]

{PRIM - > ID_commande:AutoNumber}

[Commandes_ok]

{PRIM - > ID_commande_o:自动编号外键 - > ID_commande:自动编号外键 - > ID_user:AutoNumber}

1 个答案:

答案 0 :(得分:0)

细节仍然不足以给出完整答案。问题是从两个不同的表中减去数量,但是它没有指定精确应该存储结果的位置,也没有指定在哪里获得[ID_commande]值 。目前尚不清楚TextBox值如何与表等相关。值是否已存在于表中或是否在TextBox中指定?这令人困惑。如果您需要有关INSERT INTO ... SELECT的更多信息,请搜索并阅读在线文档。

INSERT INTO [Commandes_ok] (Nom_commande_o, Nom_commande_o2, Nombre_commande_o, Nombre_commande_o2, UNKNOWN_COLUMN)
SELECT ?, ?, ?, ?, 
    [article].[nombre_article] - ([Commandes].[Nombre_commande] + [Commandes].[Nombre_commandes2]) As Subtraction
FROM [Commandes] INNER JOIN [article]
    ON [Commandes].ID_commande = [article].ID_commande
WHERE [Commandes].ID_commande = ?