|
|
|
| Добрый день всем. Интересует вопрос.
Есть таблица, есть кнопка на форме, можно ли сделать так, чтобы привязать выполнение следующий операции. Экспортируем в формат dbf и потом с помощью ДОС-команд (shell в VBA, есл не ошибаюсь) архивируем? | |
|
| |
|
|
|
| На счет архивирования тут уже не раз говорилось. Аж через бат файл в рар пакуют. Есть и архивирование из базы. А вот на счет перевода в dbf - это что? Может сразу в pdf? | |
|
| |
|
|
|
| Архивить уже нашел как сделать. А вот сохранить таблицу в dbf было бы не плохо. Есть л какая нибудь команда в VBA? | |
|
| |
|
|
|
| Лукас его знает. Если он не скажет - никто не поможет. | |
|
| |
|
|
|
| Вроде нашел команду в Макросах: ПреобразоватьБазуДанных, только вот как-то пока криво работает. Никто не знает, где можно примеры достать? | |
|
| |
|
|
|
| DoCmd.TransferDatabase acExport, "dBase IV" ...
вполне прилично работает
Если нужно что бы в DBFбыли поля определенного формата, то я делал через создание временной таблицы с нужными форматами полей, добавлял в нее данные и уже для этой таблицы делал TransferDatabase, т.к. для запроса текстовые поля все будут 255 символов. (кажется) | |
|
| |
|
|
|
| Спасибо большое.
Если не сложно, можно полный примерчик строки DoCmd.TransferDataBase??? | |
|
| |
|
|
|
|
DoCmd.TransferDatabase acExport, "dBase IV", _
"d:\Temp", _
acQuery, _
"qryExport2DBFExport", _
"NameFile.dbf", _
False
|
| |
|
| |
|
|
|
| Супер. А можно еще для красоты сделать так, чтобы выдавалось окно, "Куда сохранить файл?" | |
|
| |
|
|
|
| можно. открываете диалог сохранения
так
http://hiprog.com/index.php?option=com_content&task=view&id=468
или так
Dim dlgSaveAs As FileDialog
Set dlgSaveAs = Application.FileDialog( _
FileDialogType:=msoFileDialogSaveAs)
dlgSaveAs.Show
|
и полученный путь и имя подставляете в Docmd | |
|
| |
|
|
|
| Compile Error:
User-Defined type not defined | |
|
| |
|
|
|
|
User-Defined type not defined
|
Видимо у вас Акс2000, там такого объекта нет.
Если имеется ввиду диалог выбора папки, то можно так:
Const Options = &H201 'Без кнопки "Новая папка" (1 - с кнопкой)
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, DlgTitle, Options, RootFolder)
path = objFolder.Self.path 'В Win98 не работает
|
| |
|
| |
|
|
|
| Если честн, то Акс2003. :)
Выбор папки работает, только вот, как туда файл сохранить.
У меня идет:
DoCmd.TransferDatabase acExport, "dbase 5.0", "c:\temp", acTable, "mytable", "test.dbf", False
|
Здесь указан, путь абсолютный, а мне нужен именно, который я выбрал отсюда
Const Options = &H201 'Без кнопки "Новая папка" (1 - с кнопкой)
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, DlgTitle, Options, RootFolder)
path = objFolder.Self.path 'В Win98 не работает
|
Как это дело увязать? | |
|
| |
|
|
|
|
| DoCmd.TransferDatabase acExport, "dbase 5.0", path, acTable, "mytable", "test.dbf", False | |
|
| |
|
|
|
| Спасибо. Но вот только все равно беда.
Файл он сохраняет, но высунулись два бага.
1. Не могу сохранить файл с русскими названиями каталогов.
2. Когда нажимаешь "х" в окне выбора каталога появляется ошибка:
Run-time Error '91'
Object variable or With block variable block not set | |
|
| |
|
|
|
|
2. Когда нажимаешь "х" в окне выбора каталога появляется ошибка:
|
If (objFolder Is Nothing) Then Exit Function
path = objFolder.Self.path 'В Win98 не работает
1. Не могу сохранить файл с русскими названиями каталогов.
| А диалог выбора папки возвращает читабельный путь? Какая ошибка? Если экспортировать через меню с таким путем - работает? | |
|
| |
|
|
|
| Смотрю, через точку останова, путь в переменную возвращает и там он просматривается.
А ошибка выдается следующая:
Непридвиденная ошибка драйвера внешней базы данных
То биш не может он dbf сохранить в каталоги с русскими названиями | |
|
| |
|
|
|
| Странно! Покажите пример "неработающего" пути к файлу.
И что, как только есть хоть одна буква кирилицы - не работает? Может дело не в них, а, например, в символах "'" или "]"? А на другом компе?
Кстати, вы на своем компе при экспорте можете создать файл с именем длиннее 8 символов (например C:\Long name.dbf)? Это к тому, есть ли BDE у вас в системе. | |
|
| |
|
|
|
| Странно! Покажите пример "неработающего" пути к файлу.
И что, как только есть хоть одна буква кирилицы - не работает? Может дело не в них, а, например, в символах "'" или "]"? А на другом компе?
Кстати, вы на своем компе при экспорте можете создать файл с именем длиннее 8 символов (например C:\Long name.dbf)? Это к тому, есть ли BDE у вас в системе. | |
|
| |
|
|
|
| Хм. Интересная мысль. BDE у меня стоит.
А путь к примеру такой: хочу выгрузить на : C:\МояПапка | |
|
| |
|
|
|
| Все заработало. Видимо дело действительно было в BDE. Удалил его и все запахало. | |
|
| |