|
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
Делимся наработками03.11.2009, 11:04. Показов 485432. Ответов 282
Метки нет (Все метки)
в этой теме предлагаю выкладывать интересные наработки по акцессу...
зы. в дальнейшем на основе их можно будет создать темы "важное" Добавлено через 45 секунд ззы. флуд и спам в этой теме будет награжден красными карточками
17
|
|
| 03.11.2009, 11:04 | |
|
Ответы с готовыми решениями:
282
Для рубрики "Делимся наработками", добить БД поставка-сделка авто Обсуждение поста #137 в теме "Делимся наработками". Программный модуль контроля ресурсов принтеров сети. Строковый тип данных. С наработками. Работает, но не верно |
|
13229 / 5913 / 1520
Регистрация: 05.10.2016
Сообщений: 16,562
|
||
| 12.10.2020, 14:19 | ||
|
Причём громоздкая (на любителя), хотя и верная. Можно было в 6-9 строчек всё уложить ....
0
|
||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
|
| 21.11.2020, 21:57 | |
|
Автозакрытие формы.
Когда-то я сильно увлекался разработкой пользовательского интерфейса. Хотелось сделать что-то такое, чего не было у других. Мастерил всякое: выезжающие и разворачивающиеся формы, меняющиеся указатели мыши, меняющийся цвет и шрифт на кнопках при наведении указателя мыши, ну и тому подобное. Одной из задумок было создать поясняющую систему, когда при наведении указателя мыши на соответствующее поле, под указателем всплывала бы форма с текстовым полем, где было бы пояснение, а когда указатель убирался со всплывающей формы, то она бы автоматически закрывалась. К сожалению я эту задумку не довёл до ума. Полученные примеры работали неустойчиво и я от них отказался. Вскоре я охладел к украшательству. Для программ на работе всё это по большому счёту не надо, а для программ на заказ это становится выгодным только при массовом тиражировании. Для единичных заказов всё это только увеличивает трудозатраты не влияя на стоимость работы. И вот недавно, совершенно случайно на одном из сайтов я натолкнулся на решение той задачи с автозакрытием форм, которую не смог решить тогда. Предлагаю Вашему вниманию пример, скачанный с того сайта. В архиве лежат базы в формате mdb и accdb. Пример может работать в 32-х и 64-х разрядных версиях Access. Автор примера - Daniel Pineault Источник Auto-Closing Forms
0
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
|
| 22.11.2020, 13:45 | |
|
Когда-то, не так давно, лет 5 назад существовал сайт accessoft.ru
Автор: Парусников Алексей (AKA Palarm) На этом сайте размещались справочные материалы по Access, принимались разработки на базы данных, был форум, выкладывались готовые базы. У меня в архиве осталось несколько баз с этого сайта. Решил выложить здесь. Может пригодятся Программа Библиотека Обратилась ко мне студентка: сделай мне программу по ТЗ для диплома. Ну я и сделал. Потом правда у нее возникли проблемы с ее открытием (правда почему то только у нее). Разбор полетов по этой проге уже был в каком то топике, но думаю, зачем добру пропадать, может кому и пригодится. Программу слегка подшаманил Крук Валера. (Palarm) Инструментальное производство Программа «Инструментальное производство» разработана с целью ускорения прохождения документации в отделах предприятия, занимающихся планированием инструментального производства (инструментальный отдел - ИНО), в которых учет извещений, тех. решений, планирование заказов и т. д. ведется при помощи устаревших версий программного обеспечения, не отвечающих современным требованиям, либо вручную. Программа для оформления заказов на стальные двери Реализованы функции работы с Word, вставка рисунка из каталога в форму и отчет, создание формул для расчета параметров двери. Ну и разумеется, как всегда автолинковка и резервное копирование. Здесь представлена только часть программы. Остальную часть показывать нет смысла, так как там в основном то же самое, только макеты отчетов и шаблонов Word другие. Программа делалась на заказ, она и сейчас успешно работает и продолжает развиваться. Думаю, что наверное отчеты "Заказчику", "Подрядчику", "В цех" придется все же выводить в Word, так как сколько я не пытался сделать зависимых справочников, все равно периодически возникает ситуация, когда надо так, а выходит по другому. И выручает как всегда замазывание и ручное исправление. Не помешает также и какой ни будь мастер для создания рисунков - Paint для этого случая полный отстой. Вообще интересно бы было послушать умные слова к примеру по поводу оптимизации загрузки формы "Заказы" - в mdb варианте это происходит довольно медленно, если базу переделать в mde дела пойдут быстрее. Для тех, кто не в курсе, открывать для просмотра базу надо так: придавить кирпичом SHIFT и щелкать по «Двери». Стартовая форма - автолинковка, резервное копирование/восстановление. В данном примере показано, как автоматически присоединять таблицы из каталога приложения базы, делать резервное копирование и восстановление. Модуль автолинковки позаимствован у Jossа и слегка доработан. Пример может быть полезен для начинающих.
2
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
|||||||||||
| 26.11.2020, 16:08 | |||||||||||
|
Автоматический перезапуск Access
Была (да и есть сейчас) у меня одна задача. В ней необходимо было выгружать в шаблоны Excel информацию. Там было намудрено с ранним и поздним связыванием, так что после выгрузки процесс Excel оставался в памяти и необходимо было перегружать Access. Хотелось бы это делать автоматически сразу после выгрузки. Пробовал использовать командные файлы (bat и cmd) для повторного запуска Access. Потом в интернете наткнулся На vbs скрипт, который делает то же самое. Понравилось. Текст скрипта, представленный ниже, просто выполняет цикл до тех пор, пока не будет закрыт/удалён файл блокировки (таким образом проверяется закрытие текущей программы), а затем снова запускает базу данных. Для работы он ожидает 2 входных аргумента: (1) полный путь и имя файла базы данных, (2) полный путь и имя файла блокировки.
Источник Automatically Restart Access
1
|
|||||||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
||||||
| 28.11.2020, 12:17 | ||||||
|
Когда-то, в одной из задач, мне было необходимо организовать взаимодействие из Access с определённым процессом (задачей) Он мог быть запущен или нет. Я организовал проверку его работы по ошибке. Если при обращении к процессу возвращалась ошибка, то процесс не был запущен. Но не для всех процессов это подходило. Потом я нашел в интернете более оригинальное определение работы нужного процесса. Может кому-то пригодится
WMI-определить, работает ли процесс или программа Простой метод проверить, запущена ли программа (фактически процесс) в настоящее время на компьютере, локальном или удаленном (если установлены соответствующие разрешения для удалённой проверки такой информации) с помощью простого запроса WMI.
WMI - Windows Management Instrumentation в дословном переводе — инструментарий управления Windows. WMI — это одна из базовых технологий для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows. Источник WMI-Determine If a Process or Program Is Running Or Not
0
|
||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
||||||
| 29.11.2020, 19:56 | ||||||
|
Это типа дополнение к предыдущему посту
WMI - убить процесс Время от времени программы не завершаются должным образом. Поэтому может возникнуть необходимость прекратить процесс. Ниже представлена простая функция, в которую вы передаете полное имя процесса, который нужно завершить.
Кроме того, этот метод представляет собой завершение процесса грубой силой, поэтому вам не будет предложено сохранить и несохраненную работу ... Это последний подход, обычно для зависших процессов. Источник VBA – Kill a Process
1
|
||||||
|
13229 / 5913 / 1520
Регистрация: 05.10.2016
Сообщений: 16,562
|
|||||||
| 29.11.2020, 20:21 | |||||||
|
Кликните здесь для просмотра всего текста
3
|
|||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
||||||||||||||||
| 05.12.2020, 14:34 | ||||||||||||||||
|
Бывают случаи, когда необходимо организовать обмен данными через буфер обмена. Здесь предложен один из таких способов.
VBA - сохранить строку в буфер обмена и получить строку из буфера обмена Здесь используется подход Microsoft Forms Data Object. Можно так же использовать Windows API (что требует гораздо большего количества кода!), Но это наверное самое простое решение, которое решает общие потребности разработчиков. Получения значения из буфера обмена
Источник VBA – Save String To Clipboard, Get String From Clipboard Советую так же посмотреть Microsoft Forms reference Добавлено через 30 минут Пример работы с буфером обмена с помощью API можно посмотреть здесь Функции для работы с текстовым буфером обмена Добавлено через 10 минут Поскольку в последнее время сайт Андрея Митина бывает недоступен, решил скопировать код сюда При копировании текста в буфер обмена функция временно переключает раскладку клавиатуры на русскую для того, чтобы избежать проблем, связанных с некорректным определением буфером обмена кодовой страницы русского текста в формате Unicode. При выоде из функции восстанавливается старая раскладка клавиатуры (которая была при вызове функции)
0
|
||||||||||||||||
|
ᴁ ©
|
||||||
| 05.12.2020, 16:59 | ||||||
|
Silur, роскошный код, однако я обходился всегда таким для помещения в буфер.
Ну а извлекал привычным способом в любом приложении...
0
|
||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
|||||||||||
| 12.01.2021, 14:02 | |||||||||||
|
Недавно мне пришлось обратиться к работе с Реестром Windows.
После долгих поисков нашел лучший с моей точки зрения способ. Статья старая, от 2003 года. Но, как говорят, "Новое - это хорошо забытое старое" Класс для работы с реестром со строковыми значениями на основе Microsoft Windows Script Host (WSH) Автор: Егоров Алексей Владимирович (aka АлексейЕ) взято тут Описание: Класс для работы с реестром со строковыми значениями на основе Microsoft Windows Script Host (WSH) Имя класса - OperationRegistry Класс OperationRegistry имеет свойства: - oprVersion (Версия класса. Только чтение) - oprRootKeyName (Наименование корневого раздела. Чтение / Запись) - oprStartup (Путь к разделу Автозагрузки. Только чтение) Класс OperationRegistry имеет методы: - oprRegWriteVal (создает раздел / параметр) - oprRegGetVal (Возвращает значение раздела / параметра) - oprRegDelete (Удаляет раздел / параметр) - oprStartupAdd (Добавляет новый параметр автозагрузки) - oprStartupDelete (Удаляет параметр автозагрузки)
1
|
|||||||||||
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
||
| 12.01.2021, 14:49 | ||
0
|
||
|
509 / 163 / 22
Регистрация: 04.10.2015
Сообщений: 646
|
|
| 02.03.2021, 06:29 | |
|
Какие приложения активны в сети и кто их открыл
Выкладываю небольшую утилиту для работы в локальной сети. Позволяет видеть имена приложений и пользователей, открывших их на данный момент. Может также выборочно закрывать эти приложения. Подробности - в архиве, в кратком описании. Запускается с любого каталога. Версии для MSA2003 MSA2010 Win64x. А описание здесь: Краткое описание.doc
0
|
|
|
ᴁ ©
|
|
| 18.03.2021, 14:52 | |
|
Зачастую бывает нужно, что после доработки интерфейсного файла, его необходимо установить пользователям.
Это нудная операция может быть автоматизирована. По крайней мере я озадачился и к удивлению не нашел ничего стоящего. Пришлось придумывать самому. Реализовал так: К файлу базы добавляется таблица и модуль. В таблице информация о версии. На запуске базы (у меня из формы по событию открытия) запускается проверка версии и если имеется обновление предлагается ее установить. Отдельное спасибо alvk, который уверял что решение в наработках есть, однако я его не нашел и накидал свое. P.S. Не проверял как будет вести себя с русскими буквами в путях. В названии базы справляется нормально.
3
|
|
|
ᴁ ©
|
||||||
| 21.03.2021, 12:25 | ||||||
|
В дополнение к вышеопубликованному.
Чисто для разработчика поставил кнопочку, которая делает обратное. А именно: бэкапит интерфейс в сеть, добавляя перед именем версию (тогда в названии версий нельзя применять знаки, которые могут повлиять на допустимое имя файла) и заменяет обновленный файл в месте обновления. Поскольку у меня была проблема с перезаписыванием, я не вникая просто старый файл предварительно убиваю. Процедурку вызываю из формочки с версией, чтобы упростить доступ к данным.
0
|
||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
|
| 12.06.2021, 21:27 | |
|
Для АЕ
Когда-то, лет 15 назад я таким тоже занимался. Тоже написал свою программу. Можно ознакомиться вот здесь Контроль и автоматическое обновление клиентских приложений Там же я собрал небольшую коллекцию программ, посвященных этой теме. Может кому-то пригодится.
0
|
|
|
ᴁ ©
|
|||
| 13.06.2021, 10:30 | |||
|
Добавлено через 30 минут Я бы приветствовал, если бы Silur изложил отличия и возможности своей версии. Например необходимость дополнительного файла, чувствительность к формату базы данных и т.п.
0
|
|||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
|
| 13.06.2021, 23:13 | |
|
Чтож, попробую описать различие между своей программой и методом АЕ
Хотел сделать таблицу различий, но что-то не разобрался, как её тут оформлять. А справки не нашел. Попробую немного по другому. Контроль новых версий в обоих способах происходит по ниличию записей в специальной таблице. У меня это tblRelease у АЕ - ver Основное различие. У АЕ модуль обновления встраивается в каждую программу и контроль обновления происходит самой программой при запуске или можно сделать контроль по отдельной кнопке. У меня для контроля обновлений используется отдельноя программа. Одна программа на все клиентские модули на данном компьютере. Весь фокус в её запуске. Запускается программа контроля через ярлык на рабочем столе. Сколько программ надо контролировать, столько надо создать ярлыков. За один запуск контролируется только один клиентский модуль, который потом и будет запущен на выполнение. Причём ярлыки для запуска создаются самой программой контроля обновлений по кнопке "Установка ярлыка" (слева внизу) Рабочая папка, архивная папка, параметры командной строки, иконка для ярлыка, название ярлыка - всё это задаётся в программе контроля обновлений (соответствующие кнопки и поля) Весь фокус в последнем задаваемом параметре, который у меня в программе называется "Код командной строки:". это значение прописывается в параметр "Объект" ярлыка. Используя это значение, программа опредыляет, какой именно интерфейсняй модуль надо проверять. Именно это позводяет использовать одну программу контроля для всех интерфейсных модулей. А потом всё просто. По результатам проверки или заменяется проверяемый модуль и запускается на выполнение. Либо сразы запускается. Вроде всё описал понятно. Если что неясно - спрашивайте.
0
|
|
|
ᴁ ©
|
|||
| 13.06.2021, 23:55 | |||
|
0
|
|||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 918
|
|
| 14.06.2021, 00:16 | |
|
"В каждой избушке свои погремушки"
Например, в моём отделе работают женщины. Они привыкли запускать программы с ярлыков на рабочем столе. Это пошло ещё до меня. Вот под эти особенности работы я и писал свою программу. У меня сразу ведётся 6 программ. по-этому я посчитал, что лучше сделать одну программу для контроля всех модулей, а не встраивать контрольв каждую программу.
0
|
|
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|||
| 14.06.2021, 00:28 | |||
|
2
|
|||
| 14.06.2021, 00:28 | |
|
Кто занимался работой с timer поделитесь пожалуйста наработками интеренсыми Делимся. Делимся vpn) Делимся опытом Делимся знаниями по С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|