Как экспортировать данные из файла .csv для доступа к файлу базы данных - PullRequest
0 голосов
/ 20 августа 2011

Я должен сравнить данные двух листов .csv. два листа .csv имеют составной первичный ключ. Затем добавьте записи, которые не являются общими для двух листов .csv, в другой лист .csv. Затем я должен экспортировать данные 3-го листа в файл базы данных доступа.

Я использую Perl для извлечения записей, которые не являются общими для двух листов .csv, и помещаю эти записи в другой файл .csv. Я не уверен, как экспортировать данные 3-го CSV-файла в файл базы данных доступа. Пожалуйста, помогите.

Также дайте мне знать, есть ли другой способ сделать это, кроме использования perl.

Все это должно быть сделано автоматически через Perl-скрипт или макрос.

1 Ответ

1 голос
/ 20 августа 2011

Это должно быть довольно просто.
1. Импортируйте листы csv для сравнения в таблицу базы данных доступа (http://office.microsoft.com/en-us/access-help/import-or-link-to-data-in-a-text-file-HA001232227.aspx)
2. Убедитесь, что поля первичного ключа правильно определены в структуре таблицы (должны быть заданы как числовые
3. Выполните внутреннее соединение двух таблиц на основе первичного ключа.
Я не проверял это, но это должно работать, в основном вы хотите выбрать все строки не в table1 или table2 в table3. Внутренний вложенный запрос с внутренним объединением найдет совпадающие строки, а затем запрос внешнего объединения извлекает строки, которые не совпадают

Select fields
into table3
from table1
where table1.id not in (

Select table1.id 
from table1 
  inner join table2 
  on table1.id=table2.id
)
union table2
where table2.id not in (
Select table1.id 
from table1 
  inner join table2 
  on table1.id=table2.id
)
...