|
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
Делимся наработками03.11.2009, 11:04. Показов 493006. Ответов 282
Метки нет (Все метки)
в этой теме предлагаю выкладывать интересные наработки по акцессу...
зы. в дальнейшем на основе их можно будет создать темы "важное" Добавлено через 45 секунд ззы. флуд и спам в этой теме будет награжден красными карточками
17
|
|
| 03.11.2009, 11:04 | |
|
Ответы с готовыми решениями:
282
Для рубрики "Делимся наработками", добить БД поставка-сделка авто Обсуждение поста #137 в теме "Делимся наработками". Программный модуль контроля ресурсов принтеров сети. Строковый тип данных. С наработками. Работает, но не верно |
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 27.06.2018, 14:24 | |
|
А можно здесь критиковать выложенные примеры? Просмотрел пример, выложенный в предыдущем посте. Оказалось очень много замечаний. Например, зачем закрывать пример паролем? Его лучше убрать перед публикацией. Есть замечания по интерфейсу, оформлению, обработке ошибок и т.д. Если это что-то типа курсовой, то ещё сойдёт. Но если это программа для работы, то её надо дорабатывать, и очень серьёзно. Но может быть это интересно только разработчику? Так что на этом заканчиваю. Если нужны подробности, спрашивайте. Личку ещё никто не отменял.
0
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 27.06.2018, 15:14 | |
|
Ещё один небольшой модуль
Когда-то мне досталось задание написания базы данных, одной из задач в которой было определение даты окончания определенной работы. Например: обработка различных типов документов. Вы получаете документы для обработки, и Вам на это отводится определенный срок, разный, для разных типов документов. На одни надо ответить в течение двух рабочих дней, на другие – пяти, ну и так далее… Надо вести учет, к какому числу должен быть подготовлен ответ (или проделана какая-то определенная работа). Сроки на это обычно задают в рабочих днях. Дополнительным условием было максимально автоматизировать настройку календаря и сделать её как можно проще, так как работать с программой будут люди, далекие от вычислительной техники. Всё должно быть сделано через формы, а не через прямую правку таблиц. И вот что у меня получилось. В программе используются таблицы. Таблица рабочих дней (заполняется для каждого года) – tblRabDay, содержит список календарных дней, с разбивкой по годам, месяцам, числам, дням недели, с признаком рабочий день или нет. Таблица tblWeekDay – хранит недельный график работы, содержит номера и названия дней недели и признак - рабочий день или нет. Таблица tblNewFRDay - хранит список переносов рабочих дней, перечень новых рабочих и выходных дней (содержит столбцы с годом, месяцем, днем и признаком – рабочий день или выходной). Таблица tblMonth - содержит список месяцев. Таблица tblFriDay – содержит список государственных праздников. Использование программы очень простое. Вводишь дату начала работы, задаешь срок, возле окошка "Окончание" жмешь кнопку с тремя точками, и в окошке видишь дату. График работы для недели задается в таблице "Рабочие дни недели" (одноименная кнопка на главной форме). Список государственных праздников в таблице "Государственные праздники" (одноименная кнопка на главной форме). Добавить переносы рабочих дней, новые праздничные и рабочие дни можно через специальный справочник. Для его вызова нажмите кнопку "Переносы, новые рабочие и выходные дни" на главной форме. Переносы рабочих и выходных дней задаются как парные добавление нового рабочего и нового выходного дней. Сейчас в таблице рабочих дней данные за 3 года 2005, 2006, 2007. Для добавления нового года нажмите кнопку "стрелочка со звездочкой" на форме "Переносы, новые рабочие и выходные дни" и в диалоговом окне введите год. В таблицу tblRabDay добавляется календарный список дней на указанный год с расстановкой признака рабочий/выходной день. Для этого используется таблица tblWeekDay. Программа была первоначально разработана как часть большой системы, но потом я решил оформить её как отдельный модуль. Вам представлен, так сказать, облегченный вариант программы. Что она не может делать? Не может автоматически составить календарный список для графиков со скользящими выходными днями. В этом случае в таблице tblWeekDay необходимо указать рабочими все дни недели, а потом через форму "Переносы, новые рабочие и выходные дни" задать вручную выходные дни. Не может автоматически составить календарный список, если у Вас на предприятии раз в месяц есть рабочие субботы (хотя такое и маловероятно). В этом случае в таблице tblWeekDay необходимо указать выходными субботу и воскресение, а потом через форму "Переносы, новые рабочие и выходные дни" задать вручную дополнительные рабочие дни. Не может изменить график выходных и рабочих дней, если он у Вас изменился в середине года. В этом случае новые выходные и рабочие дни необходимо задать через форму "Переносы, новые рабочие и выходные дни». Вот вроде и все особенности программы. Примечание. В таблице «Государственные праздники», занесены государственные праздники РБ. Приложенный пример выполнен в формате Access 2000. P.S. Программа была написана в 2006 году. Сейчас я бы сделал её немного по другому
1
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
|
|
| 29.06.2018, 02:43 | |
|
0
|
|
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
||
| 23.07.2018, 01:28 | ||
|
0
|
||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|||||||||||
| 23.07.2018, 11:27 | |||||||||||
|
Игры с анимацией формы
Разгребал сегодня свой архив. Наткнулся на старый пример, который разрабатывал, когда хотел немного украсить программы. Немного доработал. Для анимации использовал функцию AnimateWindow. Функция AnimateWindow
Возвращаемое значение В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае возвращается ненулевое значение Параметры hwnd Описатель окна для анимации dwTime Время, отведенное для анимации(в миллисекундах). Обычно используют 200 миллисекунд dwFlags Флаг, определяющий тип анимации. Можно комбинировать несколько значений: AW_SLIDE = &H40000 - Эффект слайда. Данный параметр игнорируется при использовании AW_CENTER AW_ACTIVATE = &H20000 - Активизирует окно. Не используйте с AW_HIDE AW_BLEND = &H80000 - Эффект проявления. Может использоваться, только, если окно поверх остальных AW_HIDE = &H10000 - Скрытие окна. По умолчанию окно видимо AW_CENTER = &H10 - Сжимание окна по центру AW_HOR_POSITIVE = &H1 - Анимация окна слева направо. Флаг игнорируется при использовании AW_CENTER или AW_BLEND AW_HOR_NEGATIVE = &H2 - Анимация окна справа налево. Флаг игнорируется при использовании AW_CENTER или AW_BLEND AW_VER_POSITIVE = &H4 - Анимация окна сверху вниз. Флаг игнорируется при использовании AW_CENTER или AW_BLEND AW_VER_NEGATIVE = &H8 - Анимация окна снизу вверх. Флаг игнорируется при использовании AW_CENTER или AW_BLEND Примечание: Можно комбинировать флаги AW_HOR_POSITIVE или AW_HOR_NEGATIVE с AW_VER_POSITIVE или AW_VER_NEGATIVE для анимации окна по диагонали Пример
Замечания. Форма разворачивается как черный прямоугольник. Чтобы сделат видимым наполнение формы необходимо после анимации по очереди использовать свойства формы Visible = False и Visible = True. Описание функции желательно помещать в той форме, где она используется. Почему-то иногда в некоторых программах Access отказывался работать с функцией, если её описание помещено в глобальном модуле, хотя она и описана как Public. Пример выполнен в формате Access 2000, показывает, как можно анимировать открытие/закрытие форм на экране. Вообще-то это по большому счёту баловство, но иногда помогает развлечь пользователя.
4
|
|||||||||||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 25.07.2018, 10:35 | |
Сообщение было отмечено Capi как решение
Решение
Программное создание водяных знаков в отчёте (фоновый рисунок)
Однажды у меня возникла необходимость вставлять в отчёт фоновые надписи (водяные знаки). Причём, в зависимости от условий, водяные знаки могли присутствовать, могли отсутствовать и иметь разные значения. На сайте SQL.RU я нашел топик Андрея Усачёва "Как создать водяной знак в виде даты в отчёте?", которым и воспользовался. Там описано несколько способов получения требуемого результата. Я воспользовался последним, когда необходимый результат получается при помощи метафайла. Неплохое решение. Пример рассчитан на 32-х разрядную версию офиса. Для 64-х разрядной надо переписать вызов API.
3
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
|
|
| 25.07.2018, 22:40 | |
|
Ссылки на другие форумы запрещены.
0
|
|
|
0 / 0 / 0
Регистрация: 14.08.2018
Сообщений: 1
|
|
| 15.08.2018, 17:24 | |
|
Нашёл на компе, скачал для себя с уже-не-помню какого источника, может кому нужна будет, описание в архиве
0
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 16.08.2018, 13:17 | |
|
Это пример с сайта Евгения Серебрякова. Когда-то он назывался "Кирпичики кода". Сейчас сменил дизайн и название. На нём находится много примеров и справочной информации. Форум отсутствует. Ресурс довольно старый, известен с 2000 года. Меня уже предупреждали, что ссылки на сторонние сайты размещать нельзя. Но в представленном примере есть ссылка на ресурс с которого он скачан. Успехов в изучении ресурса.
1
|
|
|
9148 / 6183 / 594
Регистрация: 27.03.2013
Сообщений: 20,061
|
|
| 16.08.2018, 17:16 | |
|
3
|
|
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
||||
| 17.08.2018, 22:09 | ||||
|
Я и сам тащю с инта, и разглядываю потом - как умные люди делают, но при этом подписываю: - Когда - Откуда - Описание (Зачем и для чего) ... и рядом укладываю этот текстовичёк ... Признаю! - Пример мой! Делал вообще и публиковал на форуме как одно из решений задачки. (Сыла работает: Подчинённые поля со списком (ComboBox-ами) в ленточной (табличной) форме (+ Пример)) Хотя... страна должна знать своих героев! ![]() Добавлено через 24 минуты Время шло ... Конструкции кода усложнялись ... Вот "приехал" к тому что есть теперь, и старое название уже не подходило к содержимому. Надеюсь что ресурс всё ещё полезен.
5
|
||||
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
|
|
| 18.08.2018, 10:27 | |
|
Кирпичики помню, 10 лет назад их изучал
Хорошая подборка.
1
|
|
|
13272 / 5949 / 1529
Регистрация: 05.10.2016
Сообщений: 16,653
|
||
| 18.08.2018, 12:29 | ||
|
Ну просто мёд на сердце. Спасибо на добром слове. (А всё Пух виноват - сдал меня с потрохами)
1
|
||
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 28.08.2018, 15:06 | |
|
Автоматическое подключение внешних таблиц
Для чего разделяют базы? Для того, чтобы при модификации кода, разработке новых форм и отчетов можно было легко заменить файл с кодом и оставить базу с таблицами нетронутой. (Разбиение производится так же при построении сетевых систем, но это мы оставим в стороне) После разделения получаются два файла, один из них будет иметь старое имя и в нем будет содержаться програмный код, запросы, формы, отчеты, а другой будет иметь имя "ИмяБазы_be.mdb" или "ИмяБазы_be.accdb" (расширение зависит от версии файла), и в нем будут содержаться таблицы с данными. Предлагаемый пример позволяет автоматизировать подключение базы с таблицами к базе с кодом, а не возиться с ручным подключением таблиц при смене размещения программы или при получении новой версии. Необходимо соблюдать только одно условие: файл с кодом и файл с таблицами должны находится в одном разделе. Теперь достаточно макрос autoexec вставить функцию fnConnectCureFolderCheck() и программа сама найдет базу с таблицами и подключит все таблицы, находящиеся в базе. Примечание: функция fnConnectCureFolderCheck() отличается от функции fnConnectCureFolder() наличием блока контроля предыдущего подключения. Ограничения: такой способ не годится для сетевых версий программ, т.к. в этом случае база с таблицами располагается на сервере и требуется явно указать путь к ней. Хотя саму подпрограмму подключения всех таблиц из указанной базы можно использовать. В приложении содержатся два примера: для формата MDB (Access 2000) и формата ACCDB. Если место не менялось, то происходит контроль подключения. Функцию перелинковки всех связанных таблиц можно отключить для ускорения запуска программы
4
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 29.08.2018, 11:35 | |
|
И ещё немного о подключении таблиц из других баз.
Программный модуль, облегчающий подключение таблиц из внешних баз Возможности: можно подключать произвольное число баз и таблиц (в пределах разумного) можно сохранять выбранные подключения/линковки можно линковать как все, так и отдельные таблицы из выбранной базы можно присваивать линкованным таблицам новые имена можно осуществлять подключения/отключения как всех сразу так и отдельных баз Список таблиц подключаемой базы программа создаёт автоматически (по нажатию кнопки) Краткая инструкция в приложенном примере. Пример дан в форматах MDB и ACCDB Дополнительно приложен пример Крамарева Владимира. Взят на сайте Новиков Сергея в далёком 2002 году. Описание в архиве. P.S. Интерфейс красивее чем у меня. Завидую. Делает практически то же что у меня. Пример как-то затерялся у меня в архивах. Пришлось разрабатывать свой. И только через пару лет после создания своего модуля я наткнулся на этот пример. Ещё одно доказательство того, что появление "новых" велосипедов - недостаточная информированность разработчиков. "Всё уже украдено до нас" операция Ы (с)
3
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 23.09.2018, 22:54 | |
|
И снова новая версия модуля подключения.
Теперь модуль может работать с запароленными базами данных, а так же в 32-х и 64-х битных версиях Access.
4
|
|
|
1 / 1 / 0
Регистрация: 29.10.2018
Сообщений: 26
|
||||||||
| 29.10.2018, 15:33 | ||||||||
![]() Может быть кто-то выложит жизнеспособный вариант? Пожалуйста ![]()
0
|
||||||||
|
1 / 1 / 0
Регистрация: 29.10.2018
Сообщений: 26
|
|
| 31.10.2018, 15:32 | |
|
Как-будто бы ожило творение из 2012го...
Но я не шарю в Accesse и прошу помощи с этим справиться ![]() Пароль такой же - 12345
0
|
|
|
1370 / 290 / 16
Регистрация: 16.01.2014
Сообщений: 925
|
|
| 02.11.2018, 15:31 | |
|
Попробуй вот этот вариант. У меня открывается нормально в 32-х разрядном Access. Сделал однопользовательской. Лень было делать многопользовательской. Ставлю: Завод 3, Admin Admin, ну и пароль тот же 12345.
1
|
|
| 02.11.2018, 15:31 | |
|
Кто занимался работой с timer поделитесь пожалуйста наработками интеренсыми Делимся. Делимся vpn) Делимся опытом Делимся знаниями по С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|