代码之家  ›  专栏  ›  技术社区  ›  The Dude MAN

vba验证文件正确(更新)版本的使用

  •  0
  • The Dude MAN  · 技术社区  · 7 年前

    供应商会收到一个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
    

    另一个选择可能是在代码中添加某种类型的签名,并在上载之前检查该签名是否存在。我对如何解决这个问题的新想法持开放态度,只是寻找有创意的想法。

    谢谢你的帮助!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Tehscript    7 年前

    我最好把它作为答案写下来。

    如果有数据验证,那么在access中应该有一个由这些数据组成的关系表,该表与主表的外键相连接。在Excel中插入要访问的数据时,请使用子查询,在该子查询中,可以根据Access中的验证表验证数据。如果发生错误,请在代码中进行处理,以便您知道供应商是否正在使用旧工作簿。

    例如:

    "INSERT INTO main_table (validation_column, column2, ...) 
    VALUES ((SELECT validation_id FROM validation_table WHERE validation_name = " & Cells(i,j).Value & "), value2, ...);"
    
    推荐文章