计算记录比较的唯一标识符
calculate unique identifier for record comparison
我有一个 table 存储导入的数据。每次导入时,我都需要检查导入的项目是否已经存在。我为此使用了一个唯一的 ID,它工作正常。但匹配的原因可能是正在导入相同的记录(没有对创建导入数据的日期范围进行控制),或者数据可能实际上已被修改。
所以我的问题是,为了查看它是哪种类型,我计划 运行 对该记录具有的 11 个货币字段进行计算。我不能只是将它们加起来,因为一个字段的修改(比如增加 10,将减少另一个字段 10)。我想到了 Field1 x1 + Field2 x2 等应该消除依赖性。
这不是真正的 vba 问题,但我认为更多的是数据唯一性问题。
当然我可以比较 11 个值,但这在 VBA 中很乱!欢迎任何想法。非常感谢。
数据示例
在当前数据库中记录:
收据付款 DealValue 关税等
3,500 0 3,600 100 0
//3,600 - 100 = 3,500 净收入
正在导入记录
收据付款 DealValue 关税等
3,500 0 3,650 150 0
//3,650 - 150 = 3,500 净收入
我不想创建一个 ID,只是一个可以比较以查看是否有变化的计算。
在循环方法中,您将按照以下几行进行操作:
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
我有一个 table 存储导入的数据。每次导入时,我都需要检查导入的项目是否已经存在。我为此使用了一个唯一的 ID,它工作正常。但匹配的原因可能是正在导入相同的记录(没有对创建导入数据的日期范围进行控制),或者数据可能实际上已被修改。
所以我的问题是,为了查看它是哪种类型,我计划 运行 对该记录具有的 11 个货币字段进行计算。我不能只是将它们加起来,因为一个字段的修改(比如增加 10,将减少另一个字段 10)。我想到了 Field1 x1 + Field2 x2 等应该消除依赖性。
这不是真正的 vba 问题,但我认为更多的是数据唯一性问题。
当然我可以比较 11 个值,但这在 VBA 中很乱!欢迎任何想法。非常感谢。
数据示例 在当前数据库中记录: 收据付款 DealValue 关税等 3,500 0 3,600 100 0 //3,600 - 100 = 3,500 净收入
正在导入记录 收据付款 DealValue 关税等 3,500 0 3,650 150 0 //3,650 - 150 = 3,500 净收入
我不想创建一个 ID,只是一个可以比较以查看是否有变化的计算。
在循环方法中,您将按照以下几行进行操作:
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