Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 我想使程序更新,如果数据已经存在,否则它将插入_Visual Studio_Ms Access - Fatal编程技术网

Visual studio 我想使程序更新,如果数据已经存在,否则它将插入

Visual studio 我想使程序更新,如果数据已经存在,否则它将插入,visual-studio,ms-access,Visual Studio,Ms Access,我想使用VisualStudio和Ms Access为我公司的仓库管理系统制作一个程序。正如我在标题中所描述的,我想做一个If函数,如果数据是新的,它将在其中插入数据,如果数据已经存在,它将进行更新 因为我是编程新手,所以我遵循这个指导 并创建一个类,以便我可以在access.Execquery函数中进行查询 Private Sub UpdateDb(KimapValue As String, PoValue As String, LocValue As String, QtyRecValue

我想使用VisualStudio和Ms Access为我公司的仓库管理系统制作一个程序。正如我在标题中所描述的,我想做一个If函数,如果数据是新的,它将在其中插入数据,如果数据已经存在,它将进行更新

因为我是编程新手,所以我遵循这个指导 并创建一个类,以便我可以在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为真,我希望输出将更新,否则它将插入


ps:我很抱歉我的英语不好

搜索主题“UPSERT”查询。你的问题是什么?您遇到了什么问题?搜索主题“UPSERT”查询。你的问题是什么?你有什么问题?