向卖方发送了一个excel工作簿,他们将数据添加到该工作簿并发送回去。最近,我们对此文件进行了一些更改(某些数据验证字段),以禁止用户添加错误的数据。但是...我发现供应商只是在使用旧文件,因为它不包含这些烦人的验证功能。 我正在尝试向上传宏中添加一个函数,该函数基本上检查文件是否为当前版本(带有验证的版本)。
我考虑过将一个隐藏的工作表添加到新文件中,并进行简单的计数以检查此工作表是否存在。像下面一样
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "Validation" Then
exists = True
End If
Next i
If Not exists Then
exit sub
End If
另一个选择可能是在代码中添加某种类型的签名,并在上传之前检查该签名的存在。我愿意就如何解决这个问题提出新的想法。
感谢您的帮助!
答案 0 :(得分:1)
我最好把它写下来作为答案。
如果您有数据验证,则Access中应该有一个由这些数据组成的关系表,并与主表的外键相连。在Excel中将数据插入Access时,请使用子查询,您可以在其中根据Access中的验证表来验证数据。如果发生错误,请在您的代码中进行处理,以便您知道供应商是否正在使用旧的工作簿。
一个例子:
"INSERT INTO main_table (validation_column, column2, ...)
VALUES ((SELECT validation_id FROM validation_table WHERE validation_name = " & Cells(i,j).Value & "), value2, ...);"