Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.00/2: Рейтинг темы: голосов - 2, средняя оценка - 4.00
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364

Делимся наработками

03.11.2009, 11:04. Показов 474831. Ответов 282
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в этой теме предлагаю выкладывать интересные наработки по акцессу...

зы. в дальнейшем на основе их можно будет создать темы "важное"

Добавлено через 45 секунд
ззы. флуд и спам в этой теме будет награжден красными карточками
17
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2009, 11:04
Ответы с готовыми решениями:

Для рубрики "Делимся наработками", добить БД поставка-сделка авто
День добрый, форумчане. Хочу довести до ума БД, чтобы добавить в раздел форума "Делимся наработками", так как там нашел только...

Обсуждение поста #137 в теме "Делимся наработками". Программный модуль контроля ресурсов принтеров сети.
Сейчас тестовая страница на каждом принтере выдаёт эту информацию.

Строковый тип данных. С наработками. Работает, но не верно
Написать программу определения в заданной строке номера первого по порядку слова, которое короче своего предшественника и число вхождений в...

282
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
27.06.2018, 14:24
Студворк — интернет-сервис помощи студентам
А можно здесь критиковать выложенные примеры? Просмотрел пример, выложенный в предыдущем посте. Оказалось очень много замечаний. Например, зачем закрывать пример паролем? Его лучше убрать перед публикацией. Есть замечания по интерфейсу, оформлению, обработке ошибок и т.д. Если это что-то типа курсовой, то ещё сойдёт. Но если это программа для работы, то её надо дорабатывать, и очень серьёзно. Но может быть это интересно только разработчику? Так что на этом заканчиваю. Если нужны подробности, спрашивайте. Личку ещё никто не отменял.
0
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
27.06.2018, 15:14
Ещё один небольшой модуль

Когда-то мне досталось задание написания базы данных, одной из задач в которой было определение даты окончания определенной работы. Например: обработка различных типов документов. Вы получаете документы для обработки, и Вам на это отводится определенный срок, разный, для разных типов документов. На одни надо ответить в течение двух рабочих дней, на другие – пяти, ну и так далее… Надо вести учет, к какому числу должен быть подготовлен ответ (или проделана какая-то определенная работа). Сроки на это обычно задают в рабочих днях. Дополнительным условием было максимально автоматизировать настройку календаря и сделать её как можно проще, так как работать с программой будут люди, далекие от вычислительной техники. Всё должно быть сделано через формы, а не через прямую правку таблиц. И вот что у меня получилось.
В программе используются таблицы.
Таблица рабочих дней (заполняется для каждого года) – tblRabDay, содержит список календарных дней, с разбивкой по годам, месяцам, числам, дням недели, с признаком рабочий день или нет.
Таблица tblWeekDay – хранит недельный график работы, содержит номера и названия дней недели и признак - рабочий день или нет.
Таблица tblNewFRDay - хранит список переносов рабочих дней, перечень новых рабочих и выходных дней (содержит столбцы с годом, месяцем, днем и признаком – рабочий день или выходной).
Таблица tblMonth - содержит список месяцев.
Таблица tblFriDay – содержит список государственных праздников.
Использование программы очень простое. Вводишь дату начала работы, задаешь срок, возле окошка "Окончание" жмешь кнопку с тремя точками, и в окошке видишь дату. График работы для недели задается в таблице "Рабочие дни недели" (одноименная кнопка на главной форме). Список государственных праздников в таблице "Государственные праздники" (одноименная кнопка на главной форме). Добавить переносы рабочих дней, новые праздничные и рабочие дни можно через специальный справочник. Для его вызова нажмите кнопку "Переносы, новые рабочие и выходные дни" на главной форме. Переносы рабочих и выходных дней задаются как парные добавление нового рабочего и нового выходного дней.
Сейчас в таблице рабочих дней данные за 3 года 2005, 2006, 2007. Для добавления нового года нажмите кнопку "стрелочка со звездочкой" на форме "Переносы, новые рабочие и выходные дни" и в диалоговом окне введите год. В таблицу tblRabDay добавляется календарный список дней на указанный год с расстановкой признака рабочий/выходной день. Для этого используется таблица tblWeekDay.
Программа была первоначально разработана как часть большой системы, но потом я решил оформить её как отдельный модуль. Вам представлен, так сказать, облегченный вариант программы. Что она не может делать?
Не может автоматически составить календарный список для графиков со скользящими выходными днями. В этом случае в таблице tblWeekDay необходимо указать рабочими все дни недели, а потом через форму "Переносы, новые рабочие и выходные дни" задать вручную выходные дни.
Не может автоматически составить календарный список, если у Вас на предприятии раз в месяц есть рабочие субботы (хотя такое и маловероятно). В этом случае в таблице tblWeekDay необходимо указать выходными субботу и воскресение, а потом через форму "Переносы, новые рабочие и выходные дни" задать вручную дополнительные рабочие дни.
Не может изменить график выходных и рабочих дней, если он у Вас изменился в середине года. В этом случае новые выходные и рабочие дни необходимо задать через форму "Переносы, новые рабочие и выходные дни».
Вот вроде и все особенности программы.

Примечание. В таблице «Государственные праздники», занесены государственные праздники РБ.

Приложенный пример выполнен в формате Access 2000.

P.S. Программа была написана в 2006 году. Сейчас я бы сделал её немного по другому
Вложения
Тип файла: rar sd_LastRabDay04.rar (67.1 Кб, 393 просмотров)
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,375
29.06.2018, 02:43
Цитата Сообщение от Silur Посмотреть сообщение
А можно здесь критиковать выложенные примеры?
а можно ли здесь удалять подобные "примеры"?
0
 Аватар для nezhensky
125 / 115 / 16
Регистрация: 26.04.2012
Сообщений: 342
Записей в блоге: 3
22.07.2018, 12:24
Учёт сырья на складе с рецептурами. Реализовано на пищевой продукции но подходит для расчёта остатков для всех типов продукции где есть подгруппы.
Вложения
Тип файла: rar склад.rar (100.0 Кб, 1677 просмотров)
3
Эксперт MS Access
 Аватар для Eugene-LS
11478 / 5810 / 1489
Регистрация: 05.10.2016
Сообщений: 16,372
23.07.2018, 01:28
Цитата Сообщение от nezhensky Посмотреть сообщение
Учёт сырья на складе с рецептурами
Один из самых сложных вариантов учёта, из тех что я видел, но вполне работоспособный и очень не удобный.
0
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
23.07.2018, 11:27
Игры с анимацией формы

Разгребал сегодня свой архив. Наткнулся на старый пример, который разрабатывал, когда хотел немного украсить программы. Немного доработал. Для анимации использовал функцию AnimateWindow.

Функция AnimateWindow

PureBasic
1
2
Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, _
    ByVal dwFlags As Long) As Boolean
AnimateWindow дает возможность создания особых эффектов при появлении или скрытии окна. Существует три вида анимационных эффектов: roll, slide и alpha-blended fade.

Возвращаемое значение

В случае ошибки функция возвращает 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 для анимации окна по диагонали

Пример

PureBasic
1
2
' Пример сворачивания окна по центру
AnimateWindow Me.hwnd, 400, AW_CENTER Or AW_HIDE

Замечания.
Форма разворачивается как черный прямоугольник. Чтобы сделат видимым наполнение формы необходимо после анимации по очереди использовать свойства формы Visible = False и Visible = True.
Описание функции желательно помещать в той форме, где она используется. Почему-то иногда в некоторых программах Access отказывался работать с функцией, если её описание помещено в глобальном модуле, хотя она и описана как Public.


Пример выполнен в формате Access 2000, показывает, как можно анимировать открытие/закрытие форм на экране.

Вообще-то это по большому счёту баловство, но иногда помогает развлечь пользователя.
Вложения
Тип файла: rar AnimateWindow.rar (24.1 Кб, 306 просмотров)
4
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
25.07.2018, 10:35
Лучший ответ Сообщение было отмечено Capi как решение

Решение

Программное создание водяных знаков в отчёте (фоновый рисунок)

Однажды у меня возникла необходимость вставлять в отчёт фоновые надписи (водяные знаки). Причём, в зависимости от условий, водяные знаки могли присутствовать, могли отсутствовать и иметь разные значения.
На сайте SQL.RU я нашел топик Андрея Усачёва "Как создать водяной знак в виде даты в отчёте?", которым и воспользовался. Там описано несколько способов получения требуемого результата. Я воспользовался последним, когда необходимый результат получается при помощи метафайла. Неплохое решение.

Пример рассчитан на 32-х разрядную версию офиса. Для 64-х разрядной надо переписать вызов API.
Вложения
Тип файла: rar sd_RepWatermark.rar (54.2 Кб, 254 просмотров)
3
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,375
25.07.2018, 22:40
Ссылки на другие форумы запрещены.
0
0 / 0 / 0
Регистрация: 14.08.2018
Сообщений: 1
15.08.2018, 17:24
Нашёл на компе, скачал для себя с уже-не-помню какого источника, может кому нужна будет, описание в архиве
Вложения
Тип файла: zip lent.zip (363.0 Кб, 1139 просмотров)
0
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
16.08.2018, 13:17
Это пример с сайта Евгения Серебрякова. Когда-то он назывался "Кирпичики кода". Сейчас сменил дизайн и название. На нём находится много примеров и справочной информации. Форум отсутствует. Ресурс довольно старый, известен с 2000 года. Меня уже предупреждали, что ссылки на сторонние сайты размещать нельзя. Но в представленном примере есть ссылка на ресурс с которого он скачан. Успехов в изучении ресурса.
1
 Аватар для VinniPuh
9119 / 6108 / 591
Регистрация: 27.03.2013
Сообщений: 19,929
16.08.2018, 17:16
Цитата Сообщение от Silur Посмотреть сообщение
...с сайта Евгения Серебрякова. Когда-то он назывался "Кирпичики кода"....
Здесь он зашифровался как - Eugene-LS
3
Эксперт MS Access
 Аватар для Eugene-LS
11478 / 5810 / 1489
Регистрация: 05.10.2016
Сообщений: 16,372
17.08.2018, 22:09
Цитата Сообщение от dramatic Посмотреть сообщение
Нашёл на компе, скачал для себя с уже-не-помню какого источника, может кому нужна будет, описание в архиве
Обычно принято записывать такое ...
Я и сам тащю с инта, и разглядываю потом - как умные люди делают, но при этом подписываю:
- Когда
- Откуда
- Описание (Зачем и для чего)
... и рядом укладываю этот текстовичёк ...

Признаю! - Пример мой!
Делал вообще и публиковал на форуме как одно из решений задачки.
(Сыла работает: Подчинённые поля со списком (ComboBox-ами) в ленточной (табличной) форме (+ Пример))

Цитата Сообщение от VinniPuh Посмотреть сообщение
Здесь он зашифровался
Ну можно было и не уточнять ...
Хотя... страна должна знать своих героев!

Добавлено через 24 минуты
Цитата Сообщение от Silur Посмотреть сообщение
то пример с сайта Евгения Серебрякова. Когда-то он назывался "Кирпичики кода". Сейчас сменил дизайн и название.
Ну на самом деле я его назвал в начале "MS Access - Кирпичики", и по началу там были только простейшие ответы на простейшие вопросы.
Время шло ... Конструкции кода усложнялись ... Вот "приехал" к тому что есть теперь, и старое название уже не подходило к содержимому.
Надеюсь что ресурс всё ещё полезен.
5
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,375
18.08.2018, 10:27
Кирпичики помню, 10 лет назад их изучал Хорошая подборка.
1
Эксперт MS Access
 Аватар для Eugene-LS
11478 / 5810 / 1489
Регистрация: 05.10.2016
Сообщений: 16,372
18.08.2018, 12:29
Цитата Сообщение от alvk Посмотреть сообщение
Кирпичики помню, 10 лет назад их изучал Хорошая подборка.
Приятно читать такое автору всегда.
Ну просто мёд на сердце.
Спасибо на добром слове.
(А всё Пух виноват - сдал меня с потрохами)
1
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
28.08.2018, 15:06
Автоматическое подключение внешних таблиц

Для чего разделяют базы? Для того, чтобы при модификации кода, разработке новых форм и отчетов можно было легко заменить файл с кодом и оставить базу с таблицами нетронутой. (Разбиение производится так же при построении сетевых систем, но это мы оставим в стороне)
После разделения получаются два файла, один из них будет иметь старое имя и в нем будет содержаться програмный код, запросы, формы, отчеты, а другой будет иметь имя "ИмяБазы_be.mdb" или "ИмяБазы_be.accdb" (расширение зависит от версии файла), и в нем будут содержаться таблицы с данными.
Предлагаемый пример позволяет автоматизировать подключение базы с таблицами к базе с кодом, а не возиться с ручным подключением таблиц при смене размещения программы или при получении новой версии. Необходимо соблюдать только одно условие: файл с кодом и файл с таблицами должны находится в одном разделе. Теперь достаточно макрос autoexec вставить функцию fnConnectCureFolderCheck() и программа сама найдет базу с таблицами и подключит все таблицы, находящиеся в базе.
Примечание: функция fnConnectCureFolderCheck() отличается от функции fnConnectCureFolder() наличием блока контроля предыдущего подключения.
Ограничения: такой способ не годится для сетевых версий программ, т.к. в этом случае база с таблицами располагается на сервере и требуется явно указать путь к ней. Хотя саму подпрограмму подключения всех таблиц из указанной базы можно использовать.

В приложении содержатся два примера: для формата MDB (Access 2000) и формата ACCDB. Если место не менялось, то происходит контроль подключения. Функцию перелинковки всех связанных таблиц можно отключить для ускорения запуска программы
Вложения
Тип файла: rar sd_TestTbl_v12.rar (125.3 Кб, 246 просмотров)
4
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
29.08.2018, 11:35
И ещё немного о подключении таблиц из других баз.

Программный модуль, облегчающий подключение таблиц из внешних баз

Возможности:
можно подключать произвольное число баз и таблиц (в пределах разумного)
можно сохранять выбранные подключения/линковки
можно линковать как все, так и отдельные таблицы из выбранной базы
можно присваивать линкованным таблицам новые имена
можно осуществлять подключения/отключения как всех сразу так и отдельных баз
Список таблиц подключаемой базы программа создаёт автоматически (по нажатию кнопки)

Краткая инструкция в приложенном примере. Пример дан в форматах MDB и ACCDB

Дополнительно приложен пример Крамарева Владимира. Взят на сайте Новиков Сергея в далёком 2002 году.
Описание в архиве.

P.S. Интерфейс красивее чем у меня. Завидую. Делает практически то же что у меня. Пример как-то затерялся у меня в архивах. Пришлось разрабатывать свой. И только через пару лет после создания своего модуля я наткнулся на этот пример. Ещё одно доказательство того, что появление "новых" велосипедов - недостаточная информированность разработчиков.

"Всё уже украдено до нас" операция Ы (с)
Вложения
Тип файла: rar sd_Connect_v21.rar (200.8 Кб, 259 просмотров)
Тип файла: zip CnTbl.zip (235.4 Кб, 250 просмотров)
3
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
23.09.2018, 22:54
И снова новая версия модуля подключения.

Теперь модуль может работать с запароленными базами данных, а так же в 32-х и 64-х битных версиях Access.
Вложения
Тип файла: rar sd_Connect_v41.rar (182.8 Кб, 318 просмотров)
4
1 / 1 / 0
Регистрация: 29.10.2018
Сообщений: 26
29.10.2018, 15:33
Цитата Сообщение от andrew_main Посмотреть сообщение
Доброе время суток.
Я чуствую себя тупицей, но...
на стр 2 пользователь dinX выложил БД учет СИ.
Я никак не могу запустить, не принимает пароль, потому что не могу сменить путь ко второй части БД - серверной.
Как пройти это момент?
 Комментарий модератора 
сообщение 28 от 22/06/2012 --еле нашла ,через импорт в новую пустую базу отключила autoexec, затем проверку кодированного пароля

Как этим пользоваться?
Может быть кто-то выложит жизнеспособный вариант? Пожалуйста

 Комментарий модератора 
открыть --открыла, но за 2 часа не смогла заставить работать(ошибки компиляции)
0
1 / 1 / 0
Регистрация: 29.10.2018
Сообщений: 26
31.10.2018, 15:32
Как-будто бы ожило творение из 2012го...
Но я не шарю в Accesse и прошу помощи с этим справиться
Пароль такой же - 12345
Миниатюры
Делимся наработками  
Вложения
Тип файла: rar 181031_Клиент002.rar (790.9 Кб, 464 просмотров)
0
 Аватар для Silur
1365 / 285 / 16
Регистрация: 16.01.2014
Сообщений: 896
02.11.2018, 15:31
Попробуй вот этот вариант. У меня открывается нормально в 32-х разрядном Access. Сделал однопользовательской. Лень было делать многопользовательской. Ставлю: Завод 3, Admin Admin, ну и пароль тот же 12345.
Вложения
Тип файла: rar База Данных СИ.rar (1.03 Мб, 755 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2018, 15:31
Помогаю со студенческими работами здесь

Кто занимался работой с timer поделитесь пожалуйста наработками интеренсыми
Например есть форма и на форме кнопка закрыть нажимая кнопку закрыть идет отсчет 10 9 8... и когда доходит 0 то закрывается программа ,...

Делимся.
Доброго времени суток всем посетителям этой темы!=) Хочу попросить вас поделиться самой откровенной информацией по нескольким...

Делимся vpn)
Ребят, накидайте vpn серверов работающих на просторах СНГ.

Делимся опытом
Добрый день! Давайте делиться мыслями о разработках, которые прямо не используются в работе, но используются для организации некоего...

Делимся знаниями по С++
По вашему зачем нужна виртуальная функция в программе? Какой от нее толк если она вызывается как обычная функция. Да я знаю что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru