![]() |
|
Модераторы: Akina |
![]()
|
|
| Akella80 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.11.2007 Репутация: нет Всего: нет |
Привет. Есть база содержащая в себе разнородную информацию сортируемую и выгружаемую в различные файлы, коих по самым слабым прикидкам наберется не менее 50 и вот этот садомазохизм планируется с завидной регулярностью каждый месяц. Просмотрел форум, справку подходящего совета не нашел..
Так вот, необходимо чтобы данные из таблиц выгружались в файлы с названием типа xAABByCC.dbf где x,a,b,y переменные, зависящие от конкретных данных таблицы, а С номер месяца. Разбивку по условиям планирую выполнить посредством запросов на выборку с соответствующими условиями отбора и последующим экспортом их результатов файлы, все это реализуется посредством макроса. Вопрос собственно вот в чем - как не углубляясь в VB выполнить следующее - экспорт отобранных записей в соответствующие для условий отбора файлы (структура и названия) при этом в соответствующие им каталоги, иметь 866 (dos) кодировку и иметь заданное автоматически название (например номер отчетного месяца в названии). Жесткое задание путей и названий (в принципе можно..), а темболее отчетного периода не подходит всвязи с большим количеством экспортируемых файлов. Учитывая что времени практически нет, такая вот смехопанорама наблюдается.. Спасибо.http://forum.vingrad.ru/act-Post/CODE-00/f-159/syntax-sql.html# |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Макросами подобное??????? Уж лучше на VB.
Вопрос вообще в чем? Если вы хотите, чтобы вам написали, то так и нужно "говорить". Это сообщение отредактировал(а) bopoha - 12.11.2007, 19:12 |
|||
|
||||
| Akella80 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.11.2007 Репутация: нет Всего: нет |
Понимаю что на VB лучше, одна проблема только - я в нем 0. Подумываю уже на VFP наваять, там хоть немного разбираюсь..
На макросах это вообще возможно (автоматика)? |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
На макросах возможно. Но не стоит.
Если есть познания в VFP, то с VB проблем не будет. Языки очень похожи и конструкции одни и те же. Главное будет узнать, как: создать dbf, выбрать записи из mdb, записать в dbf. Делается все через библиотеки DAO или ADO. Об этом в справке информации полно. |
|||
|
||||
| Akella80 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.11.2007 Репутация: нет Всего: нет |
В том то и проблема... До отчета 2 дня, а по нему еще счета делать, опять же не без моего участия. Не подскажешь как на макросе в имени файла вывести период (месяц) и из access слить в 866? Время будет сделаю нормальную конструкцию, а сейчас как проще.
|
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Увы, с макросами никогда не работал.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Макросы - это готовые процедуры, принимающие строго определенные статические параметры. Посему дополнеительную обработку вроде подстановки месяца они сделать в принципе не способны.
Пишите процедуру на VBA. Справка по этому вопросу достаточно подробная (надо использовать метод TransferDatabase объекта DoCMD, правильно построив в программе все необходимые параметры), даже встроенная, не говоря уж о всякого рода онлайновых справочниках, начиная в MSDN. Там же обычно и вагон примеров прилагается. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
На фоксе? Теоретически можно, но практически запаришься с типами данных. Уж лучше на Дельфи сделать. Кстати, сегодня как раз делал обратную программу - экспорт из DBF в MDB. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Всяк кулик свое болото хвалит? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
VBA может быть нужен только для того, чтобы изменять имена таблиц. Если ты согласен это делать вручную, то можно VBA и не использовать.
Перевод идеологии DBF на идеологию Access такой. 1) Файл DBF -- есть таблица с именем, совпадающим с именем файла, но без расширения 2) Папка, в которой лежит файл -- это "база данных" (эквивалент всего MDb файла у Access) Чтобы создать запрос, выводящий данные в DBF, надо 1) Выбрать "создание запроса в режиме конструктора", выбрать обрабатываемые таблицы, задать условия и т.п. 2) Указать тип запроса = создание таблицы 2.1) Указать имя таблицы (имя будущего DBF файла без расширения) 2.2) Выбрать пункт "в другой базе данных" 2.3) В имени файла указать "волшебную" строчку, например: C:\Dbdata "dBASE IV;" Эта строчка указывает базу данных (папку) и её тип. Всё. У нас готов запрос на выдачу в конкретную таблицу. Недостатки: типы полей могут быть неудачными для DBF. Можно приготовить несколько таких запросов на разные выборки и менять номер месяца вручную. Можно на номер месяца забить. Далее. Теперь посмотрите на получившийся запрос на языке SQL. То есть, всё, что Вам нужно научиться на VBA -- это формировать подобные строки и запускать их на выполнение. |
|||
|
||||
| Akella80 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.11.2007 Репутация: нет Всего: нет |
В том то и юмор что вариант с назначением имен файлов вручную занятие мягко говоря.... Сейчас подсчитал, может получиться до 200 файлов. Одним словом сделал экспорт в промежуточную таблицу (файл с нужной структурой и кодировкой в dbf). Всем спасибо. Теперь думаю как все это развести в нужный вид.. В чем проще и быстрее сделать разводку из одного dbf (общий) в порядка 200 файлов с отбором записей и их полей в зависимости от определенных условий (5 полей в общем файле) - VFP или Delfi? |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |