Добавить копию записей в таблицу, если связанный источник данных изменяется - PullRequest
0 голосов
/ 28 февраля 2019

Быстрый вопрос относительно MySQL / Microsoft Access.

Я пытаюсь создать базу данных, которая централизует несколько файлов CSV, являющихся выходными данными отчетов.

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

У меня есть и MS Access, и MySQL, доступные для использования.

  • Как я могу создать автоматизированный процесс, который загружает данные?
    • Я бы потребовал, чтобы данные добавлялись при загрузке, а не заменялись
    • Мне нужно, чтобы добавленные данные имели метку времени

Буду очень признателен за любые советы, как этого добиться.

Большое спасибо заранее

1 Ответ

0 голосов
/ 01 марта 2019

Хорошо, так что просто ссылку на файлы.Когда что-то изменяется в одном из файлов CSV, изменение будет автоматически обновляться на стороне доступа.Вот скрипт VBA, который просматривает все файлы CSV в папке и создает ссылку на каждый из них.

Private Sub Command0_Click()
    Call DoImport
End Sub

Function DoImport()

 Dim strPathFile As String
 Dim strFile As String
 Dim strPath As String
 Dim strTable As String
 Dim blnHasFieldNames As Boolean

 ' Change this next line to True if the first row in CSV worksheet
 ' has field names
 blnHasFieldNames = True

 ' Replace C:\Documents\ with the real path to the folder that
 ' contains the CSV files
 strPath = "C:\your_path_here\"

 ' Replace tablename with the real name of the table into which
 ' the data are to be imported

 strFile = Dir(strPath & "*.csv")

 Do While Len(strFile) > 0
       strTable = Left(strFile, Len(strFile) - 4)
       strPathFile = strPath & strFile

       DoCmd.TransferText acLinkDelim, , strTable, strPathFile, blnHasFieldNames

 ' Uncomment out the next code step if you want to delete the
 ' EXCEL file after it's been imported
 '       Kill strPathFile

       strFile = Dir()
 Loop

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