читать текстовые файлы построчно и вставлять / обновлять значения в таблице - PullRequest
0 голосов
/ 07 июня 2010

Я изучаю возможность того, будет ли DoCmd.TransferText делать то, что мне нужно, и кажется, что это не так.мне нужно вставить данные, если они не существуют, и обновить их, если они существуют

Я планирую читать текстовые файлы построчно, как это:

Dim intFile As Integer
Dim strLine As String

intFile = FreeFile()
Open myFile For Input As #intFile
Line Input #intFile, strLine
Close #intFile

Я думаю, каждый человекЛиния будет рекордной.он, вероятно, будет разделен запятыми, а некоторые поля будут иметь текстовый квалификатор ", потому что внутри самого поля у меня будут запятые

мой вопрос: как бы я прочитал текстовый файл с разделителями-запятыми, который иногда double quotesкак текстовые классификаторы в таблицу в доступе?

Ответы [ 2 ]

1 голос
/ 07 июня 2010

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

  1. импортировать текстовый файл
  2. добавлять или обновлять записи в таблице на основе импортированных данных

Возможно, было бы более продуктивно рассматривать эти шаги как две отдельные операции, а не пытаться объединить их в одну операцию.

Я думал, что у вас работает первый шаг. Если это так, импортируйте текст в отдельную таблицу, tblImport, а затем используйте эту таблицу для внесения изменений в вашу основную таблицу. Если вас беспокоит раздувание базы данных из-за многократного импорта, а затем удаления записей в tblImport, вы можете сделать tblImport ссылкой на внешнюю базу данных ... чтобы изолировать эту разметку.

Если вам нужна более подробная справка для шага № 2, я думаю, вам придется рассказать нам, как определить, какие импортированные записи не существуют в основной таблице, и как сопоставить импортированные и основные записи для обновлений. Возможно, вы могли бы удалить существующие основные записи, которые имеют аналоги в tblImport, а затем добавить все tblImport в вашу основную таблицу.

1 голос
/ 07 июня 2010

Я предполагаю, что ваш текстовый файл хорошо отформатирован / разделен.Поэтому попробуйте записать макрос, а затем используйте мастер импорта.[Мастер импорта может быть активирован из командной строки, и все необходимые значения передаются в него вызовом функции.] Затем скопируйте / переместите код, сгенерированный макросом, в ваш метод, предоставив любые переменные, которые вам нравятсяметод, который я использовал в прошлом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...