Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.80/1046: Рейтинг темы: голосов - 1046, средняя оценка - 4.80
БурундукЪ
9557 / 2560 / 83
Регистрация: 17.02.2009
Сообщений: 10,364
1

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

03.11.2009, 11:04. Просмотров 188436. Ответов 131
Метки нет (Все метки)

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

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

Добавлено через 45 секунд
ззы. флуд и спам в этой теме будет награжден красными карточками
15
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2009, 11:04
Ответы с готовыми решениями:

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

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

Кто занимался работой с timer поделитесь пожалуйста наработками интеренсыми
Например есть форма и на форме кнопка закрыть нажимая кнопку закрыть идет...

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

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

131
evgenii3000
906 / 407 / 40
Регистрация: 16.01.2013
Сообщений: 3,055
02.04.2018, 15:13 101
-Георгич-, обсуждение программы и просьбы пишите сюда Программа CRM (Система управления взаимоотношениями с клиентами) обсуждения доработка

Цитата Сообщение от -Георгич- Посмотреть сообщение
подобной БД (полу-СРМ) "контакты"
они там уже есть.
1
-Георгич-
0 / 0 / 0
Регистрация: 25.03.2018
Сообщений: 18
02.04.2018, 15:23 102
evgenii3000, сорри, я знал, поэтому написал там, где увидел Ваш пост.
Перехожу по ссылке.
0
Dourel
0 / 0 / 0
Регистрация: 02.04.2018
Сообщений: 2
02.04.2018, 22:04 103
решил в 50 лет освоить Аccess, тяжковато уже. Не могу скачать Ваш файл. У меня как раз стоит задача связи Аксесс и е-мейл
0
Eugene-LS
Эксперт MS Access
3559 / 1969 / 370
Регистрация: 05.10.2016
Сообщений: 5,392
03.04.2018, 00:57 104
Цитата Сообщение от Dourel Посмотреть сообщение
решил в 50 лет освоить Аccess, тяжковато уже.
В 50 самое то!
Логика уже развита.
Будет просто.
Всего прибл. 300 новых понятий и вы на высоком уровне познаний.
0
ФБГ
0 / 0 / 0
Регистрация: 05.04.2017
Сообщений: 2
03.04.2018, 17:29 105
Цитата Сообщение от Dourel Посмотреть сообщение
решил в 50 лет освоить Аccess, тяжковато уже. Не могу скачать Ваш файл. У меня как раз стоит задача связи Аксесс и е-мейл
Мне побольше. И тоже приспичило.
0
Silur
26 / 27 / 1
Регистрация: 16.01.2014
Сообщений: 34
14.05.2018, 12:51 106
Не знаю, правильно ли это, и можно ли здесь, но хотел бы сообщить, что на сайте у Андрея Митина Программирование MsAccess, VB, VBA довольно много различных примеров и наработок. Как законченных программ, так и отдельных модулей и функций. А так же справочной информации. Форум там давно умер, а вот как хранилище кода и информации самое то.
1
Silur
26 / 27 / 1
Регистрация: 16.01.2014
Сообщений: 34
14.05.2018, 13:19 107
Вот пример отдельного модуля, который легко можно встроить в свои программы

Модуль автоматического создания резервных копий (архивирования)


Описание: Модуль автоматического создания резервных копий табличной части разделённой базы данных.

Пользуюсь давно. Вот решил оформить в качестве примера. Может кому-то и пригодится.

Модуль автоматического создания резервных копий табличной части разделённой базы данных.

Может работать в ручном режиме и по расписанию.
Может производить сжатие перед созданием резервной копии.
Можно выбрать место для хранения резервной копии.
Имя резервной копии состоит из имени табличной части базы данных и даты-времени создания резервной копии.
Для Windows XP и выше используются встроенные средства создания ZIP архивов
для младших версий Windows резервные копии создаются без архивирования.

Может работать в Access от 2000 и выше в базах формата MDB и ACCDB.
Может функционировать в 32-х и 64-х версиях Access.
Табличная часть должна иметь тот же формат, что и интерфейсная - MDB или ACCDB.

Модуль работал в Windows XP - Access 2003 и 2007
и Windows 7 - Access 2010 в 32-х и 64-х битных версиях

Правила использования

Вставьте вызов функции fnCreateArchive() в макрос Autoexec (Можно в секцию Load (Загрузка) первой загружаемой формы).
Если у вас таблицы подключаются динамически, то функцию надо расположить после подключения таблиц.

Форма настройки режима архивирования (frm_CreateArchiveFile) вызывается по кнопке "Параметры архивирования" на главной форма.
Можно выбрать папку для архивирования: папку модуля таблиц, папку модуля интерфейса, папку Мои документы или задать произвольную папку
Можно задать прооцедуру сжатия перед архивированием, поставив соответствующий флажок
Для задания автоматического архивирования надо установить флажок "Архивирование по расписанию" и выбрать периодичность архивирования. (если не нравится представленная периодичность, доработайте под свои требования)
Если установлен флажок "Сообщить об архивировании", то после создания архива будет выведено сообщение об этом.

Настройки архивирования содержатся в таблице tbl_SetArhiveFile.
Для однопользовательской БД её расположение не имеет значение. Для многопользовательской БД её лучше располагать в табличной части разделённой базы данных. Тогда создавать архив может любой клиентский модуль, для которого при запуске выполнится условие по сроку создания архива.

Для многопользовательской работы так же желателен модуль определения подключения к базе других пользователей.
4
Вложения
Тип файла: zip sd_AutoArchiveDB.zip (250.9 Кб, 49 просмотров)
MiKa98
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 6
27.06.2018, 09:15 108
Дипломная работа
пароль: лаборант
0
Вложения
Тип файла: rar Лаборант.rar (9.73 Мб, 67 просмотров)
Silur
26 / 27 / 1
Регистрация: 16.01.2014
Сообщений: 34
27.06.2018, 14:24 109
А можно здесь критиковать выложенные примеры? Просмотрел пример, выложенный в предыдущем посте. Оказалось очень много замечаний. Например, зачем закрывать пример паролем? Его лучше убрать перед публикацией. Есть замечания по интерфейсу, оформлению, обработке ошибок и т.д. Если это что-то типа курсовой, то ещё сойдёт. Но если это программа для работы, то её надо дорабатывать, и очень серьёзно. Но может быть это интересно только разработчику? Так что на этом заканчиваю. Если нужны подробности, спрашивайте. Личку ещё никто не отменял.
0
Silur
26 / 27 / 1
Регистрация: 16.01.2014
Сообщений: 34
27.06.2018, 15:14 110
Ещё один небольшой модуль

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

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

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

P.S. Программа была написана в 2006 году. Сейчас я бы сделал её немного по другому
1
Вложения
Тип файла: rar sd_LastRabDay04.rar (67.1 Кб, 37 просмотров)
alvk
Эксперт MS Access
5660 / 3545 / 178
Регистрация: 12.08.2011
Сообщений: 9,060
29.06.2018, 02:43 111
Цитата Сообщение от Silur Посмотреть сообщение
А можно здесь критиковать выложенные примеры?
а можно ли здесь удалять подобные "примеры"?
0
nezhensky
118 / 110 / 14
Регистрация: 26.04.2012
Сообщений: 311
Записей в блоге: 1
22.07.2018, 12:24 112
Учёт сырья на складе с рецептурами. Реализовано на пищевой продукции но подходит для расчёта остатков для всех типов продукции где есть подгруппы.
2
Вложения
Тип файла: rar склад.rar (100.0 Кб, 104 просмотров)
Eugene-LS
Эксперт MS Access
3559 / 1969 / 370
Регистрация: 05.10.2016
Сообщений: 5,392
23.07.2018, 01:28 113
Цитата Сообщение от nezhensky Посмотреть сообщение
Учёт сырья на складе с рецептурами
Один из самых сложных вариантов учёта, из тех что я видел, но вполне работоспособный и очень не удобный.
0
Silur
26 / 27 / 1
Регистрация: 16.01.2014
Сообщений: 34
23.07.2018, 11:27 114
Игры с анимацией формы

Разгребал сегодня свой архив. Наткнулся на старый пример, который разрабатывал, когда хотел немного украсить программы. Немного доработал. Для анимации использовал функцию 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, показывает, как можно анимировать открытие/закрытие форм на экране.

Вообще-то это по большому счёту баловство, но иногда помогает развлечь пользователя.
3
Вложения
Тип файла: rar AnimateWindow.rar (24.1 Кб, 29 просмотров)
Silur
26 / 27 / 1
Регистрация: 16.01.2014
Сообщений: 34
25.07.2018, 10:35 115
Программное создание водяных знаков в отчёте (фоновый рисунок)

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

Пример рассчитан на 32-х разрядную версию офиса. Для 64-х разрядной надо переписать вызов API.
0
Вложения
Тип файла: rar sd_RepWatermark.rar (54.2 Кб, 16 просмотров)
alvk
Эксперт MS Access
5660 / 3545 / 178
Регистрация: 12.08.2011
Сообщений: 9,060
25.07.2018, 22:40 116
Ссылки на другие форумы запрещены.
0
dramatic
0 / 0 / 0
Регистрация: 14.08.2018
Сообщений: 1
15.08.2018, 17:24 117
Нашёл на компе, скачал для себя с уже-не-помню какого источника, может кому нужна будет, описание в архиве
0
Вложения
Тип файла: zip lent.zip (363.0 Кб, 56 просмотров)
Silur
26 / 27 / 1
Регистрация: 16.01.2014
Сообщений: 34
16.08.2018, 13:17 118
Это пример с сайта Евгения Серебрякова. Когда-то он назывался "Кирпичики кода". Сейчас сменил дизайн и название. На нём находится много примеров и справочной информации. Форум отсутствует. Ресурс довольно старый, известен с 2000 года. Меня уже предупреждали, что ссылки на сторонние сайты размещать нельзя. Но в представленном примере есть ссылка на ресурс с которого он скачан. Успехов в изучении ресурса.
1
VinniPuh
Эксперт MS Access
6313 / 3616 / 376
Регистрация: 27.03.2013
Сообщений: 13,264
16.08.2018, 17:16 119
Цитата Сообщение от Silur Посмотреть сообщение
...с сайта Евгения Серебрякова. Когда-то он назывался "Кирпичики кода"....
Здесь он зашифровался как - Eugene-LS
1
Eugene-LS
Эксперт MS Access
3559 / 1969 / 370
Регистрация: 05.10.2016
Сообщений: 5,392
17.08.2018, 22:09 120
Цитата Сообщение от dramatic Посмотреть сообщение
Нашёл на компе, скачал для себя с уже-не-помню какого источника, может кому нужна будет, описание в архиве
Обычно принято записывать такое ...
Я и сам тащю с инта, и разглядываю потом - как умные люди делают, но при этом подписываю:
- Когда
- Откуда
- Описание (Зачем и для чего)
... и рядом укладываю этот текстовичёк ...

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

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

Добавлено через 24 минуты
Цитата Сообщение от Silur Посмотреть сообщение
то пример с сайта Евгения Серебрякова. Когда-то он назывался "Кирпичики кода". Сейчас сменил дизайн и название.
Ну на самом деле я его назвал в начале "MS Access - Кирпичики", и по началу там были только простейшие ответы на простейшие вопросы.
Время шло ... Конструкции кода усложнялись ... Вот "приехал" к тому что есть теперь, и старое название уже не подходило к содержимому.
Надеюсь что ресурс всё ещё полезен.
3
17.08.2018, 22:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2018, 22:09

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

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

FX-6300, делимся опытом
Всем здрасте. Вот хотел спросить у вас, кто чего добился в разгоне 6300? Я...


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

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru