跟踪更改并将其更新到数据库

我有一个Excel工作簿。 现在有两张床单。 1张将行发送到Access数据库,另一个选项卡显示来自此数据库的所有行。 我希望能够根据最后一张表中的更改更新数据库。

我已经做了一些挖掘,并且看到了一个选项,通过将其作为共享工作簿并启用跟踪更改的内置function来跟踪更改。 我想保持工作簿一次只能由一个用户编辑。 (其他用户可能不会获得最新的行)

更新整个工作表不是一个选项,因为单元格可能没有意识到而编辑。 我只想更新某个列,但问题保持不变,只是更小。

我最正面的情况是,excel会跟踪更改,只更新这些更改,甚至可能会在将更改发送到数据库之前突出显示更改。

这是在VBA中做的可能性吗?

我这样做的方法是每次更改数据时都会触发一个事件。 然后将这些数据插入到数据库中。 如果数据库位于本地,则性能不会成为问题。

像下面这样,你将不得不修改范围来适应你的,也必须通过一些if语句处理不同的数据types。 这只是一些示例代码,因为我不知道您要更新哪种数据,它只处理两种数据types。

 Private Sub Worksheet_Change(ByVal Target As Range) Dim strSQL As String If Not Intersect(Target, Range("A1:Z100")) Is Nothing Then If IsNumeric(Target.Value) Then strSQL = "INSERT INTO MyTable (Field_1) VALUES (" & Target.Value & ")" Else strSQL = "INSERT INTO MyTable (Field_1) VALUES ('" & Target.Value & "')" End If End If End Sub