Я пытаюсь сделать следующее:
Представьте, что у меня есть 2 таблицы, импортированные из Excel.Таблицы A и TableB выглядят следующим образом:
TableA TableB
ID_PK Field1 Field2 Field3 ID_PK Field1 Field2 Field3
------------------------------------- --------------------------------------
AA1 Value1 Data1 Reg1 AA1 Value1 Data1 Reg1
AA2 Value2 Data2 Reg2 AA2 Value2 Data5 Reg2
AA3 Value3 Data3 Reg3 AA3 Value3 Data3 Reg6
Обратите внимание, что существует «обновление» для идентификатора AA2.Ранее в Field2 это были Data2, а теперь в TableB это Data5.
Прежде всего я хочу показать только строку, которая изменилась.Я создал этот запрос, и он работает:
SELECT TableB.*
FROM TableB
INNER JOIN TableA ON TableB.ID_PK = TableA.ID_PK
WHERE
StrComp([TableB].[Field2],[TableA].[Field2]) Is Null Or
StrComp([TableB].[Field2],[TableA].[Field2])<>0;
Я получаю это:
TableA
ID_PK Field1 Field2 Field3
-------------------------------------------
AA2 Value2 Data2 Reg2
AA3 Value3 Data3 Reg3
Моя проблема сейчас в том, что я хотел бы скрыть столбец, который не изменился.Итак, выход будет выглядеть так:
TableA
ID_PK Field2 Field3
------------------------------
AA2 Data2 Reg2
AA3 Data3 Reg3
Я знаю, что могу сделать это вручную, но в случае, если у меня много столбцов и строк, это должно быть автоматическим (возможно, с кодом VBA)
Идеальный вариант, но я не думаю, что это возможно с MS Access, это показать полную таблицу B и выделить ячейку, которая изменилась.
Любая помощь будет хорошей!
Спасибо !!