|
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
Делимся наработками03.11.2009, 11:04. Показов 488731. Ответов 282
Метки нет (Все метки)
в этой теме предлагаю выкладывать интересные наработки по акцессу...
зы. в дальнейшем на основе их можно будет создать темы "важное" Добавлено через 45 секунд ззы. флуд и спам в этой теме будет награжден красными карточками
17
|
|
| 03.11.2009, 11:04 | |
|
Ответы с готовыми решениями:
282
Для рубрики "Делимся наработками", добить БД поставка-сделка авто Обсуждение поста #137 в теме "Делимся наработками". Программный модуль контроля ресурсов принтеров сети. Строковый тип данных. С наработками. Работает, но не верно |
|
13254 / 5933 / 1526
Регистрация: 05.10.2016
Сообщений: 16,598
|
|
| 16.08.2023, 20:47 | |
|
1
|
|
|
ᴁ ©
|
||
| 16.08.2023, 20:52 | ||
|
0
|
||
|
788 / 67 / 4
Регистрация: 28.05.2015
Сообщений: 114
|
|
| 29.01.2024, 13:31 | |
|
0
|
|
|
788 / 67 / 4
Регистрация: 28.05.2015
Сообщений: 114
|
||||||
| 30.01.2024, 13:21 | ||||||
|
Ну раз Вам, может быть, лень или типа не царское это дело, завершу коллекцию.
1
|
||||||
|
885 / 148 / 35
Регистрация: 05.08.2022
Сообщений: 681
|
|||||||
| 30.01.2024, 14:57 | |||||||
|
режет глаз
другой вариант Кликните здесь для просмотра всего текста
0
|
|||||||
|
919 / 292 / 58
Регистрация: 01.06.2023
Сообщений: 818
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31.01.2024, 11:44 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Архив с базой данной ФИАС построенной по данным ГАР (от 29.01.2024). Каждый регион представлен отдельным файлом. Топик для обсуждения
Формат Кодировка: UTF-8 Формат файла: CSV Первая строка содержит заголовки: Да Разделитель полей: ; Ограничитель текста: " Структура таблицы
1
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
919 / 292 / 58
Регистрация: 01.06.2023
Сообщений: 818
|
|||||||||||||||||||||||||||||||||||||||||
| 15.02.2024, 23:34 | |||||||||||||||||||||||||||||||||||||||||
|
Комментарии, замечания предложения прошу размещать в отдельной теме
Основная ссылка на репозиторий Проект предназначен для демонстрации подключения таблиц Access как виртуальные таблицы в SQLLite3. Возможности запросов SQLite шире чем у Acccess, становятся доступны CTE таблицы, рекурсивные запросы, нумерация строк, частичная агрегация, оконные функции и тд. В целом SQL в SQLite является достаточным что бы на нем писать программы, например решение задачи 5 букв. С таблицами Аccess поддерживаются операторы SELECT, DELETE, INSERT, UPDATE. Для последних трех обязательно должен быть ключевой столбец с типом целое число, для него должен быть создан индекс (на 1 столбец). Есть поддержка прилинкованных таблиц, но работа по уникальным индексам с ними будет медленнее чем с обычными таблицами. Внимание! Решение пока не является законченным промышленным. Не выполняйте запросы над чувствительными данными или делайте резервные копии. Установка Проверялась работа только в 32 разрядном MS Office. Движок написан на VBScript и подключается к Access через компонент ScriptControl. Данное решение связано с тем что DLL скомпилирована по стандарту cdecl, для VBA нужно что бы было stdcall. Нативный движок SQLite3 представлен в виде DLL ( sqlite3.dll). Можно скачать актуальную версию или версию с большими возможностями (нужно 32 разрядная) с официального сайта SQLite. Версия должна быть не младше 3.10.0.Для работы с DLL используется компонент DynamicWrapperX. для проверки установлен компонент или нет запустите файл SQLite.vbs. Если выполнится без ошибок значит дополнительно ни чего устанавливать не нужно.Если появилась ошибка, то необходимо зарегистрировать библиотеку `dynwrapx.dll` как COM объект. Для этого скопируйте файл в постоянное место и выполните команду (Подробнее)
Начало работы Добавьте класс SQLiteEngine.cls в проект. При необходимости поправьте пути до файлов sqlite3.dll и SQLite.vbs в функции Class_Initialize.Пример работы
Поддержка русского языка частичная,
В SQLite всего 4 базовых типа данных
В данном проекте поддерживаются только первые три.
Результаты запроса нельзя куда-либо вывести, только программная обработка. Вывод отладочных сообщений Для вывода отладочных сообщений в файл используйте метод LogToFile класса SQLiteEngine
Например вывод в текстовое поле на форме:
Тестовая БД для быстрой демонстрации. Основная форма предоставляет графический интерфейс к основным функциям. Описание элементов управления:
1
|
|||||||||||||||||||||||||||||||||||||||||
|
13254 / 5933 / 1526
Регистрация: 05.10.2016
Сообщений: 16,598
|
||||||||||||
| 16.02.2024, 02:40 | ||||||||||||
|
Я бы так написал:
Private Function IsFormLoaded()
0
|
||||||||||||
|
788 / 67 / 4
Регистрация: 28.05.2015
Сообщений: 114
|
|
| 16.02.2024, 10:02 | |
|
А если еще добавить и модули отчетов, то код не только глаз будет резать, но и даже может вырвать.
И чем вдруг alecko5 не устроил краткий рабочий код, закрывающий все виды открытых в текущем моменте модулей? И приложение зачем-то предложил закрывать в конце своего нерабочего кода.
0
|
|
|
919 / 292 / 58
Регистрация: 01.06.2023
Сообщений: 818
|
|
| 11.04.2024, 13:15 | |
|
Как можно прикрутить HTTP сервер к access? Для этого понадобится AutoHotKey, не много VBScript и совсем чуть чуть JScript. Итак механизм следующий: Access запускает AutoHotKey. AutoHotKey через VBScript создает линк на Access. Так же AutoHotKey поднимает HTTP сервер по порту который передал Access.
Возможности:
Порядок работы:
Теперь у Вас есть еще больше возможностей создать на Access красивых, разнообразных приложений.
2
|
|
|
919 / 292 / 58
Регистрация: 01.06.2023
Сообщений: 818
|
|
| 11.04.2024, 13:31 | |
|
P.S. Только не нужно публиковать такие сайты в небезопасной среде. Вопрос безопасности здесь вообще ни как не решался.
0
|
|
|
919 / 292 / 58
Регистрация: 01.06.2023
Сообщений: 818
|
|
| 25.05.2024, 22:57 | |
|
Обновленная версия генератора отчетных форм в формате RTF.
В VBA для форматирования строки доступна функция FormatString - Производит замену в тексте подстановочных сиволов на значения заданные в словаре. Подстановочные символы обрамляются символом ` %`. Если нужно вывести символ как есть то его необходимо удвоить `%%`. Если первый символ равен $ далее следует выражение, значение которого нужно вставить в строку в виде SQL литерала. В остальных случаях значение между % рассматривается как выражение, значение которого нужно вставить как есть. Дополнительно можно указать формат для предварительной обработки.
1
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
||||||||||||||||
| 26.06.2024, 21:46 | ||||||||||||||||
|
Взято Using VBA To Lock The PC
Использование VBA для блокировки компьютера Когда-нибудь требовалось или хотелось иметь возможность заблокировать компьютер? Возможно, после запуска вашего кода? Ну, это на удивление просто сделать! К счастью для нас, есть простой API, который мы можем реализовать для выполнения всей тяжелой работы. Все, что нам нужно сделать, это создать простую функцию-оболочку вокруг него, как показано ниже:
0
|
||||||||||||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
|||||||||||||||||||||||||||||||
| 28.06.2024, 15:17 | |||||||||||||||||||||||||||||||
|
Вот ещё о хэшировании VBA – Get a String’s Hash Но уже без PowerShell
VBA – получение хеша строки В предыдущей статье я продемонстрировал (не я а автор статьи), как мы можем использовать PowerShell для получения HASH MACTripleDES, MD5, RIPEMD160, SHA1, SHA256, SHA384 или SHA512 строки. Я также решил продемонстрировать, как это можно сделать с помощью простого VBA, без необходимости использования PowerShell. Основная функция
Вышеизложенное опирается на одну вспомогательную функцию:
Основная функция очень проста в использовании!
Для этого метода требуется .Net 3.5, который предварительно установлен в большинстве операционных систем.
1
|
|||||||||||||||||||||||||||||||
|
919 / 292 / 58
Регистрация: 01.06.2023
Сообщений: 818
|
|
| 02.01.2025, 18:21 | |
|
Обновлен генератор печатных форм (RTFReport)
Теперь шаблоны можно составлять в формате DOCX. При построении отчета или добавлении его во внутреннее хранилище документ будет автоматические пересохранен в RTF формат для получения шаблона, а по окончании заполнения сохранен в формате docx. Если нужно формировать много документов по одному и тому же шаблону, то рекомендуется сохранить шаблон во внутреннее хранилище при помощи макроса "InstallReportTemplate". Начиная с офиса 2019, изменилась внутренняя организация RTF файла после их редактирования, выражается это в не верной кодировке для кириллицы, поэтому создание шаблонов в формате docx будет необходимостью, а не возможностью. Добавлена возможность формирования шаблона в формате Excel. Основной идеей данного модуля - это создание документов из шаблонов используя минимум кода. Вся настройка будущего вида документа создается непосредственно в редакторе Excel. Основными структурными блоками шаблонизатора являются подстановочные поля и итерируемые по наборам данных строки. Подстановочные поля указываются непосредственно в ячейках. Для выделения их на фоне остального текста используются обрамляющие фигурные скобки {}.Внутри фигурных скобок нужно записать выражение (формулу) для получение значение. Вычисленное выражение будет вставлено вместо поля. В выражения можно использовать как переменные из контекста так и непосредственно данные с полей формы. Так же в выражениях можно использовать функции VBA. Доступен вывод штрих кода в формате: CODE128, EAN13, QRCode (если в проект включен модуль mdQRCodegen) Доступна вставка изображений, как из БД (из поля с типом вложение) так и из файла. Итерируемые строки - это строки шаблона которые будут повторяться для каждой строки из набора данных. Строки добавляются путем копирования оригинала, поэтому сохраняется форматирование. Источником для набора данных могут выступать:
В архиве есть пример шаблона "Контракт2.xlsx", что бы его вывести в заполненном виде - откройте на стартовой странице "Открыть форму с контрактами" и нажмите на кнопку "Карточка контракта".
1
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
||||||||||||||||||||||||||
| 05.03.2025, 10:14 | ||||||||||||||||||||||||||
|
Запуск базы данных из определённой папки
Можно запрограммировать базу так, чтобы она закрывалась, если она не запускается в нужной папке. Для защиты базы данных требуется комплексный подход. Поскольку база Access — это обычный файл, который можно легко скопировать и вынести за пределы рабочего компьютера, может быть важно предусмотреть меры по его блокировке, чтобы он запускался только в указанном каталоге. Таким образом, даже если его вынесут, база данных просто не запустится. Хорошая новость заключается в том, что настроить такую функцию безопасности относительно просто, и для этого потребуется всего несколько строк кода! Жестко заданный путь к папке Мы можем просто сравнить текущий путь к базе данных с указанным путём, и если они не совпадают, то закрыть базу данных. Для этого мы можем использовать такую процедуру, как:
В некоторых случаях мы можем не захотеть использовать жестко заданный путь. Возможно, мы хотим использовать динамический путь, например, к папке «Документы» пользователя, AppData, … В таких случаях нам нужно лишь внести небольшое изменение в исходный код, что-то вроде: Папка с Документами
Теперь, когда у нас есть процедура для выполнения проверки, нам нужно сделать так, чтобы она запускалась автоматически при запуске базы данных. Для этого мы можем использовать несколько различных решений, в том числе: Вызов этого как часть процедуры AutoExec Запускаем его при открытии ‘Display Form’ базы данных Ниже приведен шаблон общего подхода, который можно использовать для макроса AutoExec. Я использую свой макрос AutoExec для запуска кода общедоступной функции StartUp, которую я помещаю в отдельный модуль. Функция StartUp выглядит примерно так:
Внедрив такую меру, вы сможете эффективно заблокировать доступ к базе данных Access, чтобы она запускалась только из определённой папки, что ещё больше повысит безопасность и контроль над средой вашего приложения. Можно сделать, так, чтобы база запускалась везде, кроме определённой папки. Для этого нам надо просто инвертировать проверку.
По мотивам статьи Дэниеля Пино Взято здесь
0
|
||||||||||||||||||||||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
|
| 19.03.2025, 14:10 | |
|
Нашел в архивах
Автор: Аюпов Рустем (AKA Ayupov_r) Бывает что очень не хватает места на форме: хочется уместить много информации и чтобы при этом форма не выглядела "перегруженной" контролами. Стандартные средства (вкладки или разрывы страниц) не позволяют выбирать информацию для одновременного просмотра. Например, я хочу, чтобы отображались поля с первой, третьей и четвертой вкладки (если используются вкладки-tabs) одновременно и только те поля, которые заполнены данными, но с вкладками такой фокус не пройдёт. Решение подсказал интерфейс windows - помните, в "папках" windows слева, есть список типичных задач, который сворачивается, разворачивается и индивидуален для каждого вида папки? Вот это я и решил реализовать для решения своей задачи. В прилагаемом примере: 1)сворачиваются-разворачиваются listbox-ы, но можно использовать естественно любой другой элемент управления (в работающей базе у меня - подчиненные формы); 2)не показана возможность при загрузке формы показывать "заполненные" элементы в развернутом виде (но это реализуется просто, если кому нужно - выложу пример); 3 в принципе количество "сворачиваемых-разворачиваемых" элементов управления можно использовать как переменную в цикле. Наверняка я не первый сделал это в аксесе, но мне примеры пока не встречались (да и не искал, чг). Пример можно так же отнести к топику Дизайн интерфейса Access
1
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
||||||
| 19.03.2025, 14:29 | ||||||
|
Опять же архивы
Автор: Андрей Викторович (AKA Oxa) Вот вырвал из своей старой работы, может пригодиться. Классы для создания панелей. Код имеет ошибки - не правильно работает с набором закладок и группой. Описание в модуле класса clsCollectionPanels. Если честно штука не совсем клеевая, так как давно написанная, но спасибо. И в примере нет, но необходимо в событии выгрузки формы ОБЯЗАТЕЛЬНО сделать:
Интересная вещь. Пример можно так же отнести к топику Дизайн интерфейса Access
0
|
||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 922
|
|
| 19.03.2025, 14:35 | |
|
0
|
|
| 19.03.2025, 14:35 | |
|
Кто занимался работой с timer поделитесь пожалуйста наработками интеренсыми Делимся. Делимся vpn) Делимся опытом Делимся знаниями по С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|