|
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
Делимся наработками03.11.2009, 11:04. Показов 490501. Ответов 282
Метки нет (Все метки)
в этой теме предлагаю выкладывать интересные наработки по акцессу...
зы. в дальнейшем на основе их можно будет создать темы "важное" Добавлено через 45 секунд ззы. флуд и спам в этой теме будет награжден красными карточками
17
|
|
| 03.11.2009, 11:04 | |
|
Ответы с готовыми решениями:
282
Для рубрики "Делимся наработками", добить БД поставка-сделка авто Обсуждение поста #137 в теме "Делимся наработками". Программный модуль контроля ресурсов принтеров сети. Строковый тип данных. С наработками. Работает, но не верно |
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
|||||||||||||||||||||||||||||||||||||||||
| 05.09.2025, 09:51 | |||||||||||||||||||||||||||||||||||||||||
|
Как создать скомпилированный файл MDE/ACCDE с помощью VBA
Что такое скомпилированная версия (MDE/ACCDE)? MDE/ACCDE — это скомпилированная версия базы данных Access, которая обеспечивает повышенную безопасность и защиту структуры вашего приложения. Файл mdb компилируется в mde, а файл accdb — в accde. Зачем они нужны разработчикам? Существует ряд причин, по которым вы можете захотеть предоставить своим пользователям файл mde/accde, а не исходный файл mdb/accdb. К ним относятся: - Защита конструкции Файлы MDE/ACCDE не позволяют пользователям просматривать или изменять формы, отчёты и модули в режиме конструктора, защищая вашу интеллектуальную собственность. - Безопасность кода Код VBA в этих файлах скомпилирован и недоступен для просмотра или редактирования, что обеспечивает безопасность вашей логики программирования. - Целостность данных Хотя пользователи по-прежнему могут взаимодействовать с базой данных с помощью форм и отчётов, они не могут случайно или намеренно изменить дизайн приложения. - Производительность Скомпилированные базы данных могут работать быстрее, чем их редактируемые аналоги. - Уменьшенный размер файла В результате компиляции размер файла часто уменьшается, что может быть удобно при распространении и хранении. Важно отметить, что таблицы и запросы не защищены! Они остаются доступными для ваших пользователей, поэтому важно принять дополнительные меры для их защиты (отличным решением в этом случае будет скрытие панели навигации). Таким образом, хотя файлы MDE/ACCDE и обеспечивают определённую безопасность, они должны быть частью более масштабной стратегии обеспечения безопасности. Требования к компиляции файлов MDE/ACCDE Важно помнить, что скомпилированные базы данных (mde/accde) — это именно базы данных, в которых код … был скомпилирован и упакован. Таким образом, чтобы создать mde/accde, ваш код VBA должен компилироваться без ошибок, иначе создание mde/accde завершится неудачей. Это ещё одна причина, по которой рекомендуется постоянно компилировать код во время разработки. Сохраните исходный файл MDB/ACCDB!!! Важно! Всегда помните, что «как правило» невозможно преобразовать mde/accde обратно в формат mdb/accdb (если только вы не обратитесь в компанию, которая предлагает услуги по обратному проектированию файлов mde/accde). Поэтому очень важно всегда сохранять исходный файл mdb/accdb для дальнейшего использования. Использование VBA для создания скомпилированного MDE/ACCDE Для создания скомпилированной версии базы данных в основе кода лежит использование недокументированной функции SysCmd, в частности 603 AcSysCmdAction. Базовый синтаксис функции: SysCmd(AcSysCmdAction, [аргумент2], [аргумент3]) В случае создания файлов MDE/ACCDE: AcSysCmdAction => 603 => Создать файл mde/accde Argument2 => путь к входному файлу базы данных и его имя для преобразования Argument3 => Путь к выходному файлу mde/accde и его имя Таким образом, команду 603 можно сравнить с:
Теперь, когда мы это знаем, мы можем создать простые функции-обёртки для выполнения преобразования. Создание скомпилированного MDE/ACCDE для текущей базы данных Если вы хотите создать скомпилированную версию текущей базы данных, с которой вы работаете, и сделать это с помощью кода, то можете воспользоваться такой процедурой:
С другой стороны, если вы хотите создать скомпилированные версии других файлов базы данных, то, немного изменив приведённый выше код, мы можем сделать что-то вроде этого:
Его снова можно использовать следующим образом:
Вот и всё, теперь у вас есть две разные процедуры для компиляции баз данных с помощью кода VBA. Источник
0
|
|||||||||||||||||||||||||||||||||||||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
||||||||||||||||
| 15.09.2025, 11:13 | ||||||||||||||||
|
Использование VBA для блокировки компьютера
Аналог нажатия клавиш Win+L или сочетание клавиш Ctrl+Alt+Del, а также нажатие Lock (заблокировать). Не знаю. Может кому пригодится. Возможно, после запуска вашего кода? Существует простой API, с помощью которого можно выполнить всю сложную работу. Всё, что нужно сделать, — это создать простую функцию-оболочку, как показано ниже:
Рабочая станция может быть разблокирована пользователем или администратором. Чтобы разблокировать систему, нажмите клавиши CTRL+ALT+DEL и войдите в систему. Да, ещё, пользователь должен быть авторизован, а рабочая станция не должна быть заблокирована. Источники: здесь и здесь
0
|
||||||||||||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
|||||||||||||||||||||||||||||||||||||||||
| 18.11.2025, 10:19 | |||||||||||||||||||||||||||||||||||||||||
|
Открыть документ в родном приложении
АлексейЕ Функция, позволяющая открыть произвольный документ в родном для него приложении (в зарегистрированном в системе приложении для данного расширения)
Кроме того есть прекрасная API функция:
Использовал эту функцию, когда в базе хранятся не документы, а ссылки на файлы. Сразу можно открыть и просмотреть нужный документ. Здесь функция представлена для 32-х разрядной версии Access Добавлено через 20 минут И в догонку Функция API ShellExecute - описание и применение Так, для общего сведения Функция ShellExecute запускает программу по имени или по ассоциации с файлом документа. Объявление для VBA 6
Описание. Функция находит имя программы, связанной с заданным файлом, и либо запускает программу с загрузкой данного файла, либо выводит файл на печать. Типы файлов обычно связывается с конкретными приложениями в реестре Windows. Например, текстовые файлы с расширением .TXT обычно ассоциируются с приложением Windows Notepad (NOTEPAD.EXE). Если передать этой функции любой файл с расширением .TXT, функция либо запускает программу Notepad, указывая имя файла в качестве параметра, либо выводит файл на печать. Параметры. hwnd - Long/LongLong - манипулятор окна (хендл). Идентификатор родительского окна. Указывать родительское окно не обязательно, можно просто 0 lpOperation – String - операция, выполняемая с файлом. Может иметь следующие значения: «open», «print», «explore», «find», «edit». Если lpOperation="find", функция выводит диалоговое окно для поиска файлов по условиям. Параметр lpFile должен указывать путь к папке, начиная с которой будет выполняться поиск. Остальные параметры не используются. Если lpOperation="explore", функция выводит диалоговое окно - список папок. Параметр lpFile должен указывать путь к папке, содержимое которой нужно посмотреть. Остальные параметры не используются. Если lpOperation="edit", функция открывает файл на редактирование, загружая приложение, ассоциированное с расширением файла. Параметр Edit должен содержать имя файла, параметр plDirectory - указывать путь к этому файлу; если параметр lpDirectory не используется, то параметр lpFile должен указывать путь и имя файла. Если lpOperation="open", функция выполняет следующие действия: если в lpFile указан исполняемый файл (например, типа EXE), то он запускается на выполнение; загружаемой программе передаётся список параметров, указанных в lpParameters; в противном файл открывается на редактирование. Если lpOperation="print", то выполняется печать файла на принтере (фактически загружается ассоциированное с расширением файла приложение, которое и печатает документ). По умолчанию - "open", если указано Null (vbNullString) или значение опущено. lpFile – String – файл или папка, которую нужно открыть lpParameters – String – параметры открытия файла, т.ч. запуска приложения. Используется только при запуске приложений lpDirectory – String – рабочая директория nShowCmd – Long – параметры окна открытого файла (приложения, директории) Параметры lpOperation, lpParametrs и lpDirectory можно опускать Параметр nShowCmd может иметь значения от 0 до 10. Наиболее часто используемые значения: SW_HIDE = 0 - запускаемое приложение делается невидимым SW_SHOWMAXIMIZED = 3 - развернутое (максимальное) окно; SW_SHOWMINIMIZED = 2 - свернутое окно (значок) в панель задач; SW_SHOWNORMAL = 1 - нормальное окно. Более полный список параметров можно взять из описания функции ShowWindow Коды ошибок Если функция возвращает значение больше 32-х, то всё в порядке, иначе смотрите коды ошибок. 0 - Недостаточно памяти или ресурсов SE_ERR_FNF = 2 - Указанный файл не найден (ERROR_FILE_NOT_FOUND) SE_ERR_PNF = 3 - Указанный путь не существует (ERROR_PATH_NOT_FOUND) SE_ERR_ACCESSDENIED = 5 - Операционная система не имеет доступа к указанному файлу SE_ERR_OOM = 8 - Недостаточно памяти или ресурсов Windows ERROR_BAD_FORMAT = 11 - Формат .EXE неверен (не-Win32 .EXE или ошибка в .EXE файле). SE_ERR_SHARE = 26 - Произошла ошибка совместного доступа SE_ERR_DDETIMEOUT = 28 - Операция DDE не была закончена, потому что истекло время запроса SE_ERR_DDEFAIL = 29 - Операция ПРЯМОГО ВВОДА ДАННЫХ потерпела неудачу SE_ERR_DDEBUSY = 30 - Операция ПРЯМОГО ВВОДА ДАННЫХ(DDE) не может работать, потому что другие действия ПРЯМОГО ВВОДА ДАННЫХ находятся в процессе SE_ERR_NOASSOC = 31 - Нет никакого приложения, ассоциированного с расширением файла SE_ERR_DLLNOTFOUND = 32 - Указанный файл DLL не найден Пример использования
Как и у многих других функции WinAPI, у ShellExecute существует два варианта: ShellExecuteA и ShellExecuteW. A- и W-версии отличаются типом строк: A - ASCII, W - WCHAR (юникоде). Не путайте. В Access используется тип А. Используемые материалы Дан Эпплман - Win32 API и Visual Basic Сайт Cybite.ru - http://kbyte.ru/ru/Programming... &mode=show Сайт Тостер и вот здесь - http://platonov-andrei.narod.r... xecute.htm
1
|
|||||||||||||||||||||||||||||||||||||||||
| 18.11.2025, 10:19 | |
|
Кто занимался работой с timer поделитесь пожалуйста наработками интеренсыми Делимся. Делимся vpn) Делимся опытом Делимся знаниями по С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|