|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Формирование отчета в Acess в виде таблице.
инженер-технолог (ГИП)
Санкт-Петербург
Регистрация: 11.09.2003
Сообщений: 1,144
|
||
Просмотров: 18541
|
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Думаю что здесь http://am.rusimport.ru/MSAccess/topic.aspx?ID=133 как раз решение твоей проблемы. У меня работает, глюков не замечено.
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
to vk
А можно немного пояснить про VBasic... А то я как то ни в зуб ногой. Так попытался по наитию попробывать, но видать наитие не проходит ![]() Спасибо. p.s. Всё получилось. Действительно классная программка. Хоть что то в Аксесе научился делать. А по поводу сохранения значений аттрибтов сразу в Аксес... У меня вот такой только выбор выдает при вопросе о том в каком формате сохранять значения. (картинка) [ATTACH]1107778117.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Доброго времени суток.
И еще такой вопросик. Хотел в Аксесе делать спецификацию в Отчете, но вот такой вопрос: Как сделать разные нижнии колонтитулы на первой странице (большой штамп) и на следующих страницах (малый штамп)?
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Пожалуй, начну со второго... Разные колонтитулы сделать можно. Только программно. Например, меняя от страницы к странице видимость источника объекта "вложенный отчет". Тоесть, создать дополнительно два маленьких отчета (или рисунка) под колонтитулы и переключать их.
Другой вариант на первый взгляд проще. Создать два отчета. Один для первой, другой для последующих. При форматировании области данных в первом, помечать в таблице эту запись, а в запросе второго выводить только не помеченные. Примерно так. А по поводу сохранения атрибутов сразу в Аксес - делал это в VBA. Посмотри эти макросы на VBА, если интересно. Сочинял в условиях АКАД2005, винда 2000sp4, MDAC 2.8, Access из OfficeXP. Делал ради интереса исключительно в познавательных целях. Немного облагородил наброски, может сгодятся. Первый создает mdb с табличкой (или только табличку), а второй заносит в табличку данные из выбираемых блоков или текстов. Можно по одному, можно кучей. Если что не понятно, можно по аське связаться вечером. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Набросал приблизительно "меняющийся колонтитул". Не безглючно к сожалению, обкатать надо... Полежит здесь некоторое время.
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
vk Спасибо большое за колонтитулы. Довольно интересно, только еще не понял как работает, но оно работает! (можно краткий инструктаж...? просто посмотрел программу, мкопировал ее к себе, но она выдает ошибку(не нравится ей что то... хотя когда меняю "ВерхнийКолонтитул" на "Нижний колонтитул" отчет запускается, но не работает как надо.))
а вот по поводу вывода аттрибутов в базу данных Аксес вот такая ситуевина (картинка).... Ошибку выдает. Может действительно, что то со связью с Аксес где то. Может в настройках что то поменять? [ATTACH]1107931397.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
По картинке... Надо проверить чтоб были подключены рефренсы. Там по тексту в двух местах есть пометки "Чтоб работало надо подключить..." Если нет версии ADO 2.8, можно попробовать другие какие есть... Это в Tools -> Refernces... Проверь чтоб там не было MISSING. [ATTACH]1107954400.jpg[/ATTACH] |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
vk все получилось, там я просто в программе немного напортачил (был еще один блок с колонтитулом)
p.s. А столько ответов не надо было...не такой тупой ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Да это тупит то ли сервер на котором форум работает, то ли мой пров - чудик еще тот.... сейчас попробую почистить
![]() ![]() ![]() Кстати, попробовал немного поправить код, чтоб ручками не подбирать высоту колонтитула Код:
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
А по поводу АКАДА и Акссес? Никаких предложений нет?
кстати а доходчивая электронная литература бо програмированию в Аксесе, ну или на VBA, но тогда очень доходчиво ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
За электронную литературу ничего не скажу, сам начинал изучать Аксес еще в 97 году по бумажным книгам. Зато есть отличный форум ![]() |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
По Аксесу просто та же ошибка и осталась даже при подключении Reference но там у меня только 2.7 версия. Думаю особой разницы нет...
[ATTACH]1108029052.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Положил исправленную версию (адрес тот же)
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
>vk Три семерки это к удачи))) Срочно в казино
![]() Спасибо. p.s. а что это никому больше не интересно?
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
так вот что я тут надумал... Можно конечно потом данную выборку в Аксесе групировать, но вот все таки я упорно гну линию, что мне нравится как офромлена выборка в АКАДе. Чем нравится:
- При выборе какие аттрибуты выбирать появляются ВСЕ возможные данные которые можно выбрать (т.е. динамически меняется от количества аттрибутов в блоке) -можно по разному расположить таблицу. Мне приятнее, да и вроде лучше, когда с одним аттрибутом связана одна строчка в которой все его данные, а не так что данные в столбик у одного аттрибута идут. -ну и "чисто понятные и конкретный" интерфейс для меня ![]() А в программе выборки аттрибутов просто не знаю как это сделать по идее можно все сделать одной кнопокой если ее и программу правильно написать. В общем какие идеи... Допустим для упрощения можно принять, что тип блока всегда один и тот же (для разных типов разнная программа) и тогда можно прописать точно столбцы которые там будут и которые надо заполнить- это касается в основном аттрибутов. Располагать все таки наверное в строчку лучше было бы. Думаю это не проблемма просто массив данных по строке раскидать в цикле, я так понимаю. А можно сделать чтобы таблица создавалась уже в макросе извлечения аттрибутов? Просто чтобы столбцы (их количество и названия) формировались по результату выделения блока (т.е. считывались бы допустим все параметры блока и для каждого параметра формировался бы свой столбец с аналогичным названием). В общем это пока то что пришло днем и вечером в мою больную голову ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Динамика - это не для простых программулек. Возможно, придется что то свое писать или искать подходящий контрол. :roll:
Цитата:
Цитата:
Да и программки однотипные будут плодиться бестолково... Мне кажется, это не есть гуд. Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Там же в чистом Access, кажется, можно программно модифицировать таблицы (добавлять / удалять столбцы)? Как - не спрашивайте, все едино не помню
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Проблема не втом чтоб добавить или удалить столбцы - это не сложно. А в том, КАК их потом обработать. Логичнее всего иметь универсальную программку, чтоб получить табличку. А отчет всегда можно сделать на основе запроса к таблице. Притом, запрос может быть встроен непосредственно в отчет.
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
to vk да я там опечатался
"Возможно имеется в виду блок и все связанные с ним атрибуты потом по работе программы... почему то не хочет создавать таблицу в уже существующей БД (картинка) по поводу добавления/удаления столбцов... У меня нпример вот такая потребность: есть схема(разводка, еще что то автокадовское) с блоками в аттрибутах которых есть инфа, которую надо использовать в спецификации (в Аксесе). Так как спецификация в принципе стандартная, то количество столбцов всегда будет одинаковое. Таким образом в макросе на кнопку повесить выбрать блоки таких то имен... потом запустить макрос VBA который используя выбранные блоки на их основе создаст таблицу1 со всеми аттрибутами которые есть (их будет одинаковое кол-во по определению блоков). потом для другой спецификации выбирается другой набор блоков и записывается в Таблицу2. и т.д. Если в схеме что то изменилось, то просто делается новая выборка в таблицу, а старая таблица удаляется. Главное чтобы сама база данных с отчетами и запросами не стиралась. Вот такая стратегия. [ATTACH]1108119795.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
to vk
вроде сейчас работает и создает и дополняет, но вопрос про Альтернативное расположение информации остается ![]() ![]() p.s. Все за город и предаватся прелестям зимы ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Небольшое складбище сканированой в PDF литературы в том числе и по Access. За ценность и информативность ничего сказать не могу....
|
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Набросал приблизительно... без проверок и обработки ошибок.
Работает самостоятельно без вызова внешних функций. Код:
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Цитата:
Таблицу тогда в таком виде не сделать будет? Т.е. если разное количество аттрибутов, то они будут некорректно заполнятся в таблице? Или нет? Или надо вернутся к первому способу создания таблицы, т.е. аттрибуты в строчках? Но представление мне надо все равно в стобик, т.е. надо будет делать запрос которые будет создавать таблицу с "перевернутыми" в столбик аттрибутами. Такое возможно? (я на форуме по Аксесу вроде видел программу, но все таки засилие программ мне кажется может вызвать где то ошибку...) И как на счет ресурсоемкости, т.е. большая таблица и к ней куча (штук 10) запросов, или просто штук 10 таблиц. Просто еще такая фишечка, что с этой базйой будут работать несколько человек проблемм с тем, что один будет делать отчет, а другой извлечет еще раз все аттрибуты и немного ему помешает, не будет? Ксати по коду... ошибочку выдает (картинка) з.ы. ActiveX у меня 2.7 [ATTACH]1108365747.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
|||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
По картинке - это означает что в запросе на создание таблицы содержится ошибка и создать таблицу не удалось. К сожалению, мне отсюда не видно, что делается в недрах твоего компа.... Неплохо было бы взглянуть на значение переменной sqlStr. Почему то не всегда удается назначить полю таблицы любое "отфонарное" имя, а здесь оно берется из тэга атрибута. Может быть в этом причина, а может в чем то другом. Если в этом - то можно к имени поля какой нибудь префикс приделать.
Цитата:
Цитата:
Цитата:
Цитата:
Только запрос может жить внутри отчета. Это конечно не уменьшит килобайты, но не будет плодить обилие объектов. В общем, надо поизучать возможности..... PS надеюсь, что глобальная задача состоит не только в красивом оформлении спецификаций :wink: |
||||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Цитата:
![]() А по поводу значения переменной Код:
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
уже пробовал... все равно
Код:
А еще заметил при выборе блока без аттрибутов программа прорабатывает до конца, но в таблице не заполняется ничего, ни название блока, ни ключевое поле... Может в самом представлении SQL что то не то? а почему на SQL создание таблицы? может как в предыдущей версии типа Код:
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Чтоб кирилица при вставке в форум корректно показывалась - нужно перед копированием переключить раскладку клавы на RU. Проблема кажись только для ХРюши и 2000 винды
Чтоб посмотреть длиииинную строку, можно воспользоваться Immediate window (по Ctrl+G). Там напечатать Цитата:
Цитата:
От способа создания таблицы это скорей всего не зависит. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Хм, а на простеньком блоке сработало все...
Действительно какая то заморочка с тэгами ![]() а CHAR это сколько символов? Хм еще раз...
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Ага, значит так. Во первых, ругается на тэг NUMBER. С этим все понятно. Делаем префикс в виде скажем подчерка "_" - и закрываем проблему. Конечно, можно любые другие символы.
Вторая проблема связана с ограничением на длину записи. Уменьшаем длину текстовых полей. В примерчике до 50 знаков сократил. Кстати, с русскими именами полей (и вобще всего) могут быть проблемы при использовании нерусской версси Аксеса. Сам не проверял и не нарывался, но не зря ж говорят..... Код:
Код:
PPS Дык на то он и простенький примерчик... Вспомнил фразу из одного известного фильма: "Вы слышали когда нибудь о героически погибшем экипаже тренажера?" (было сказано при погружении подводной лодки) |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Спасибо
![]() вроде все более менее, хотя с русскими аттрибутами не работает, но там наверное просто надо их упростить до одного слова (вместо МЕСТО_УСТАНОВКИ наверное просто МЕСТО) написать ну или что то подобное. В общем упрощением аттрибутов буду заниматся. А так для общего образования интересно просто Цитата:
![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
и еще одна проблемма у меня только 6 аттрибутов можно занести, при большем количестве он ругается ...
[ATTACH]1108458758.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Цитата:
Если же имеется в виду ограничение на длину собираемой строки... ну если она будет слиииииишком длинная (кажется больше тыщи символов, точно не знаю), то можно ее разбить на несколько и собирать уже непосредственно при Execute |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Цитата:
![]() Так что сейчас все нормально ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
А вот небольшое дополнение возможно ли сделать? просто для дальнейшей автоматизации выбор объектов было бы не плохо сделать шаблон выбора. вот тут я тему поднял с выбором одинаковых блоков http://dwg.ru/forum/viewtopic.php?t=1128&start=15, может поможет. А вообще было бы хорошо просто в саму программу просто вписать названия типов блоков, аттрибуты из которых надо внести в базу.
Просто я что то попытался в языки с ходу вникнуть, но видно так все с кандачка не дается ![]() так что сейчас могу на вас только надеятся ![]() Спасибо. ДОБАВЛЕННО: Почему тип переменной CHAR? Просто когда ставишь CHAR(50), то и соответственно ширина столбца становится 50, а это когда смотришь на отчет отражается на его виде(т.е. каждая ячейка становится равно 50 символам, что не удобно.) А поставил тип данных TEXT все стало нормально, даже подгоняется по необходимости. А еще такой вопрос. Что надо вставить программу, что бы при создании таблицы распечатывался отчет который уже настроен на данную таблицу. Кстати а переписывать таблицу можно? Чтобы не плодились 1,2,3,... А так уже почти почти ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
|||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Код:
Цитата:
Цитата:
Цитата:
А чтоб автоматом печатался - тоже можно. Даже способов куча есть... Вам какой? :wink: Можно например сделать в Аксе макрос для печати который будет запускаться автоматически при открытии интерфейсной части БД (если предполагается одновременная работа нескольких пользователей - то лучше разделить таблицы и все остальное по разным файлам). Можно попробовать то же самое сделать на VBA из-под АКАДа непосредственно (сам не пробовал, возможно это не будет надежно). Можно программно запустить БД с соотв. аргументами командной строки (предварительно формируем программно) и там уже вызывать печать то что надо (этот способ наверняка более надежен, потому как не придется делать рефренсы на библиотеки Аксеса). Можно даже ярлычек отчета вытащить на рабочий стол ![]() |
||||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
тут ошибочка стала вылезать при очередной модификации программы
![]() Код:
по поводу печати... Просто ты присылал мне базу данных с макросом для Аксеса... я его тупа попытался вставить сюда, но видно как то его видоизменить надо, не только privat Sub убрать ![]() Код:
А по поводу таблицы... как проще будет или перезаписывать всю таблицу или только значения переделать. Т.е. наверное так. если таблицы нет она создается если таблица есть, то она переписывается. Думаю так оптимально... хотя пока не поработаешь пару неделек и не увидешь проблеммы, то сказать как лучше довольно трудно. ![]() [ATTACH]1108634874.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Цитата:
Цитата:
![]() В принципе, если набор полей фиксированый, то прогу можно существенно подсократить... Кстати, ВСЕ ЛИ выбираемые блоки обязаны иметь атрибуты? Если некоторые блоки без атрибутов - то этот момент надо тоже обрабатывать. PS Кажется уже пол-месяца тема актуальна? :wink: |
|||
![]() |
|
|||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Цитата:
Код:
Цитата:
![]() Цитата:
Цитата:
![]() ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
||||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Вопрос к автору темы. Mikhail, отчёт это спецификация? Если да, то мы тут в соседней ветке http://dwg.ru/forum/viewtopic.php?t=2889
начинали, да что-то закончили на моём вопросе-опросе. Прошу участников этой темы просветить. Считывание атрибутов с чертежа (имя атрибута + количество) мы соединили с пристёжкой к ним характеристик оборудования из имеющейся базы. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Цитата:
![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
[quote="Mikhail"]Да вроде нет......
Цитата:
А что попало в набор и почему оно не обрабатывается... Сложно догадываться на большом расстоянии, когда под руками нет Да, вот накорябал код в продолжение предыдущего, чтоб сразу выгонять на печать (с подтверждением). Правда таблицы не удаляю и не очищаю (а может пусть хранятся типа для истории? ![]() Код:
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Всё таки блоки не выделяются при написании их имен в теле программы. Т.е. ошибка та осталась. Вот пример аттрибутов название их VLVBF и VLVBLS, а название аттрибутов в картинке. При их простом выделении они в базу данных нормально записываются.
А печатается на ура ![]() ![]() p.s. Удачных выходных, а я пойду машину мастеру тащить... Эх автопром и кривые руки ![]() [ATTACH]1108735216.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Не совсем понятно, КАК именно должен делаться выбор. Полностью автоматом ssetObj.Select acSelectionSetAll, groupCode, dataCode или ручками на экране ssetObj.SelectOnScreen groupCode, dataCode Может в этом проблема? Или же требуется оставить подсветку после автоматического выбора... Если ничто не помогает, замыль мне файлы чертежа и VBA-макроса, попробую разобраться, может какие ньюансы.....
Про "чертовски небезопасную схему" ничего сказать не могу. Может что то с настройками Акса, а может особенность 2003 версии... Сам пользую OfficeXP (вот такой вот ретроград ![]() ![]() |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
to vk
Все нормально заработало... Какой то файл глючный... теже самые блоки копирую в другой чертеж и там выборка нормально происходит... Мрак. ![]() Еще раз спасибо ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Доброго начала недели
![]() В общем такая ситуевина... Есть блоки в файле, когда выборку их делаешь выделением, то все работает. Когда выборку их делаешь написанием их имен в теле программы, тогда не работает. (пишется та ошибка). Если эти блоки скопировать в пустой чертеж, то программа работает в любом случае. А вот если в этом новом чертеже ввести еще что то (линию, полилинию ...), то опять вылезает ошибка. Я так думаю когда имя аттрибута пишется в проге, то там что то не так и программа считывает не только эти локи, но и все примитивы... А там естественно аттрибутов нет. и поэтому ошибка. Поможите люди добрые ![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Цитата:
[ATTACH]1108996915.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Ууупс!!!
оно что, проигнорировало dataValue(0) = "Insert", которое предписывало выбирать тока вставки блоков? или в чертеже больше нет ничего (во что верю с трудом)? Попробуй сразу после выбора что то вроде этого чтоб хотя бы узнать имена примитивов и наличие атрибутов. Вывод в Immediate Window Код:
Код:
Код:
ну и еще много чего можно посмотреть... подробности в хелпе какие свойства/методы доступны Впрочем, можно по шагам посмотреть что в i содержится (в Watch Window), только утомительно для двух тысяч примитивов. Гм, понаписал-то... В итоге: похоже на ошибку в определении фильтра для выбора. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
Ну в принципе как и говорил он(мерзкий компутер
![]() А что это за groupCode ? Это код команды, для обозначения типа данных? А, что еще значит <OR? [ATTACH]1109054314.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
И еще вопросик. а что в этой строчке
Код:
![]()
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
5 - значение константы Цитата:
Цитата:
русское "блок1" ИЛИ "блок2" ИЛИ "блок17" преобразовывается в "<OR" "блок1" "блок2" "блок17" "OR>" с соответствующим раскладом по элементам массива В Лиспе прокатывает такой сокращенный вариант "блок1,блок2,блок17" без OR Попробуй, может и в VBA сработает |
|||
![]() |
|
||||
autocad Регистрация: 16.12.2004
Сообщений: 5
|
В акаде есть ехпорт атрибутов, но он очень нудный и не всегда работает как надо.
Могу предложить свою прогу по ехпорту атрибутов в техт file или в автокад(в табличном виде). Затем техт файл мжно импортировать в любую базу (мне приходится работать практически со всемы широко используемыми) http://dwg.ru/dwl/151 |
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
>>Mikhail Ваш вопрос решается вполне активно с точки зрения создания новой программы. Но Вы так уж поставили задачу. М.б. прислать кусочек технологического чертежа (медицинское оборудование, но можно станки и т.п.) с полученной по нему готовой спецификацией, а не списка блоков с атрибутами? Пишите.
|
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
>cadhelp
Спасибо. Но чем меньше ходов, тем лучше, поэтому и хочется сразу в базу данных посылать данные. А то мало ли что... Конечно это глупая причина, но как правило такое чаще всего и случается ![]() >Alan Был бы рад посмтреть как это у Вас сделано. Аттрибуты программно вытаскиваете? или стандартными средствами? >vk Я понимаю что уже достал, но все же... ![]() Решил все таки немного погрузится в хоть какое то изучение VBA и вот что накопал... см. картинку. Если указать точки, как и просится по стилю команды, то выделение проходит нормально. Просто не всегда знаешь ту область где находится схема. Не писать же область выделение от (-10^10, -10^10; 10^10, 10^10) (например). Или иначе не обойтись? [ATTACH]1109232945.jpg[/ATTACH]
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
>>Mikhail Я бы Вам выслал, но не знаю адреса. Пишите.
В процессе работы программы спецификации возможен ввод информации из чертежа. Из программы запускается Автокад, который считывает все блоки с атрибутами по заданному шаблону, типа как работает команда АТТЕХР (т.е. все болки удовлетворяюшие шаблону). Затем Вы можете добавить в проект (спецификацию) другое оборудование из базы. Прога сформирует выходные формы согласно ГОСТ. |
|||
![]() |
|
||||
инженер-технолог (ГИП) Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,144
|
to vk
Спасибо, все заработало, хотя сам до этого методом тыка попытался так написать, но почему то не работало. Еще одна просьба... Помню говорили по поводу удаления таблиц... как бы это сделать? т.е. заменить это Код:
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты. |
|||
![]() |
|
||||
сисадмин Регистрация: 26.08.2003
Самара
Сообщений: 1,022
![]() |
Цитата:
Только маленькая добавочка: имена объектов в Аксесе имеют некоторые ограничения на имена. Нельзя использовать математические знаки и не рекомендуется включать в них не латинские буквы. Чего нельзя сказать об именах допустимых Windows. Поэтому либо придется сделать парсер для поиска/замены недопустимых символов, либо пересматривать корпоративные стандарты.... Геморно? Как один из вариантов более простого решения вижу создание дополнительной таблицы, связывающей имя чертежа с внутренним уникальным именем таблицы данных атрибутов. Другой вариант кажется более универсальным. В дополнительной таблице каждому чертежу соответствует уникальный ID, который добавляем к записи атрибута (в самом первом варианте с одной общей таблицей). Таким образом имеем всего две таблицы: одна для имен чертежей, другая для атрибутов. Связь чертежа и атрибута через ID чертежа. |
|||
![]() |