У меня есть база данных доступа с запросом. Мне нужно автоматизировать его так, чтобы каждый вечер этот запрос мог запускаться и экспортироваться в файл csv с разделителями табуляции. Невозможно экспортировать запрос в файл csv из доступа. Мой вопрос: есть ли какие-либо инструменты, которые могут выбрать определенные таблицы или выполнить sql-запрос в файле mdb и экспортировать в файл csv?автоматически конвертировать доступ db
ответ
На самом деле, вы можете экспортировать запрос в файл CSV из в Access.
Вы можете сделать это с помощью макроса, используя метод TransferText.
Macro:
Name = ExportQuery
Action = TransferText
Transfer Type = Export Delimited
Table Name = [name of your Access query]
File Name = [path of output file]
Has Field Names = [Yes or No, as desired]
Вы можете выполнить макрос из командной строки, как это:
"[your MS Office path]\msaccess.exe" [your databse].mdb /excl /X ExportQuery /runtime
Поскольку у вас возникли проблемы с TransferText в макросе попробовать это:
1) Создайте модуль с именем «ExportQuery». В этом модуле, создайте функцию под названием "ExportQuery":
Function ExportQuery()
DoCmd.TransferText acExportDelim, , "[your query]", "[output file].csv"
End Function
2) Создание макроса с именем RunExportQuery:
Action = RunCode
Function Name = ExportQuery()
VBScript отлично работает с двигателем Jet. Однако я не понимаю, почему вы говорите: «Невозможно экспортировать запрос в файл csv изнутри доступа».
Sub TransferCSV()
DoCmd.TransferText acExportDelim, , "PutNameOfQueryHere", "C:\PutPathAnd\FilenameHere.csv", True
End Sub
Это обычный способ в VBA.
EDIT: В командной строке можно запустить файл VBScript (.vbs). Вот пример VBScript для вывода файла с разделителями табуляции.
db = "C:\Docs\LTD.mdb"
TextExportFile = "C:\Docs\Exp.txt"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open _
"Provider = Microsoft.Jet.OLEDB.4.0; " & _
"Data Source =" & db
strSQL = "SELECT * FROM tblMembers"
rs.Open strSQL, cn, 3, 3
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateTextFile(TextExportFile, True)
a = rs.GetString
f.WriteLine a
f.Close
Службы интеграции SQL Server способны выполнять преобразование, о котором вы говорите. Не обманывайте себя именем, потому что вам не нужен SQL Server для автоматизации и запуска пакетов.
- 1. модель конвертировать поле автоматически?
- 2. Eclipse как конвертировать автоматически?
- 3. Автоматически конвертировать в верхний регистр
- 4. конвертировать awt в swing автоматически
- 5. автоматически создает db в Zend
- 6. Служба Mongo DB автоматически останавливается
- 7. DB Доступ запрещен
- 8. Доступ - изменение значка DB
- 9. доступ db RECEIVE_BOOT_COMPLETED
- 10. Автоматически конвертировать SVG в Android-применимый PNG
- 11. Автоматически конвертировать код Scala в код Java
- 12. OS X Safari автоматически конвертировать выбор связаться
- 13. как автоматически конвертировать xDocument в класс
- 14. Selenium IDE - конвертировать html в junit автоматически
- 15. Автоматически конвертировать CSV-файл в таблицу Excel?
- 16. автоматически конвертировать существующую запись в новую запись
- 17. Автоматически конвертировать PNG в JPG с Python
- 18. (Автоматически) конвертировать строки SQL в 'enums'?
- 19. Автоматически конвертировать видеоформат в Flash Video
- 20. Excel конвертировать в формат h.mm автоматически
- 21. конвертировать элементы db на один язык на другой язык
- 22. Не удалось получить доступ к MySql db
- 23. Обновление коллекций в Mongo DB автоматически
- 24. Android listview автоматически прокручивается при вводе db
- 25. Как получить идентификатор автоматически в db
- 26. Почему записи в db автоматически удаляются?
- 27. MongoDB: DB, установленный пользователем root, автоматически удаляется.
- 28. как запустить автоматически базу данных derby db
- 29. MySQL добавляет текущий db как префикс автоматически
- 30. Как вращать журнал автоматически в mongo db?
В Access 2003 я могу только экспорт в TextData в ASCii записей, а не CSV файл , – 2008-11-11 14:00:22
Вы пробовали DoCmd.TransferText acExportDelim? – Fionnuala 2008-11-11 14:08:52
Я имел в виду вариант с возможностью нажатия, я не был достаточно знаком с VB, чтобы что-то предпринять. – 2008-11-11 14:13:08