计算用于记录比较的唯一标识符



我有一个存储导入数据的表。每次导入时,我都需要检查导入的项目是否已经存在。我使用了一个唯一的ID,它工作得很好。但匹配的原因可能是正在导入相同的记录(对于创建导入数据的日期范围没有控制(,或者数据实际上可能已经被修改。

所以我的问题是,为了看看它是哪种类型,我计划对这个记录的11个货币字段进行计算。我不能把它们加起来,因为一个字段的修正案(比如说增加10,就会减少另一个字段10(。我想到了Field1 x1+Field2 x2等,这应该会消除依赖关系。

这实际上不是一个vba问题,但我认为更多的是一个数据唯一性问题。

当然,我可以比较11个值,但这在VBA中很混乱!欢迎任何想法。非常感谢。

数据示例当前数据库中的记录:收据付款交易价值税等3500 0 3600 100 0//3600-100=3500净收货

正在导入记录收据付款交易价值税等3500 0 3650 150 0//3650-150=3500净收货

我不想创建一个ID,只是一个可以比较的calc,看看是否有变化。

在循环方法中,您将按照以下行执行操作:

firstColumnOfInterestIndex = ...
lastColumnOfInterestIndex = ...
duplicate = False
...
For Each currentRow In ActiveSheet
For i=firstColumnOfInterestIndex to lastColumnOfInterestIndex  
If Worksheet.Cells(currentRow.Row, i) <> expectedValue(i) Then
Exit For
End If
If i == lastColumnOfInterestIndex Then
' A duplicate found! handle accordingly
duplicate = True
End If
Next i
If duplicate Then
Exit For
End If
Next currentRow

最新更新