让我们考虑与SQL Server表关联的简单Excel表:
ID some_data 0 a 1 b 2 c
我想用手动添加的列(SQL Server表中没有)扩展它:
ID some_data my_column 0 a some_data_for_0 1 b some_data_for_1 2 c some_data_for_2
但是,当更改源数据(插入/删除/更新行)时,不会保留my_column和ID列之间的关系。例如,当添加新行(3,d)时:
ID some_data my_column 0 a some_data_for_0 1 b some_data_for_1 2 c 3 d some_data_for_2
是否有任何Excel内置解决方案可以指定my_column行应如何与ID列相关联,或者我是否需要自己使用VBA实现它?
答案 0 :(得分:1)
您可以在SQL语句中使用ORDER BY子句,但即使这样也不太可靠。唯一可行的方法是将附加数据存储在自己的表中,并使用公式将其与SQL数据相关联。
在单独的工作表上,输入
'X'
现在在与SQL数据相邻的列中,输入
'X'
但是,SQL数据已排序,其他信息将位于右侧。这假设您将附加信息列表放入表中并将其命名为tblAddtlInfo。
如果您想获得幻想,可以在Change事件中编写一些代码,以在额外列中查找非公式。如果公式被覆盖,则获取新数据,将其添加到(或更新)其他信息表,然后恢复公式。然后,您可以在行中键入数据,但通过将其移动到其他表来保持完整性。