首页 > 解决方案 > 如果数据已经存在,我想制作更新程序,否则它将插入

问题描述

我想使用 Visual Studio 和 Ms Access 为我公司的仓库管理系统制作一个程序。正如我在标题上描述的那样,我想创建 If Function 如果数据是新的,它将插入数据,如果数据已经存在,则更新。

因为我是编程新手,所以我按照这些人的说明https://www.youtube.com/watch?v=q19OXha1jDw 并创建一个类,以便我可以在 access.Execquery 函数中进行查询。

Private Sub UpdateDb(KimapValue As String, PoValue As String, LocValue As String, QtyRecValue As String, DateVal As String, PemasokVal As String)
    Access.AddParam("@KiValue", KimapValue)
    Access.AddParam("@PoVal", PoValue)
    Access.AddParam("@LocVal", LocValue)
    Access.AddParam("@QtyValue", QtyRecValue)
    Access.AddParam("@DateValue", DateVal)
    Access.AddParam("@PasokValue", PemasokVal)

    Access.ExecQuery("SELECT * FROM dbWarehouse
                       CASE WHEN NoPo = @PoVal AND Kimap = @KiValue AND Lokasi = @LocVal THEN
                        UPDATE dbWarehouse SET Quantity = Quantity + @QtyValue WHERE NoPo = @PoVal AND Lokasi = @LocVal
                       ELSE
                        INSERT INTO dbWarehouse (Kimap, NoPo, Lokasi, Quantity, TanggalMasuk, Pemasok) VALUES (
                        @KiValue, @QtyValue, @LocVal, @PoVal, @DateValue, @PasokValue)
                        END ")

End Sub

Private Sub ReceiveBTN_Click(sender As Object, e As EventArgs) Handles ReceiveBTN.Click
    UpdateDb(KimapTB.Text, NopoTB.Text, LokasiTB.Text, QtyTB.Text, TanggalMasukDTP.Value.ToString, PemasokTB.Text)

    MsgBox("Data Receive sudah dimasukkan, silahkan letakkan barang di " + LokasiTB.Text + " !")
End Sub

如果 NoPo 和 Kimap 和 Lokasi 为 TRUE,我希望输出会更新,否则它将插入

ps:对不起我的英语不好

标签: visual-studioms-access

解决方案


推荐阅读