10065 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
|
|
1 | |
Делимся наработками03.11.2009, 11:04. Показов 412892. Ответов 251
Метки нет (Все метки)
в этой теме предлагаю выкладывать интересные наработки по акцессу...
зы. в дальнейшем на основе их можно будет создать темы "важное" Добавлено через 45 секунд ззы. флуд и спам в этой теме будет награжден красными карточками
17
|
03.11.2009, 11:04 | |
Ответы с готовыми решениями:
251
Для рубрики "Делимся наработками", добить БД поставка-сделка авто Обсуждение поста #137 в теме "Делимся наработками". Программный модуль контроля ресурсов принтеров сети. Строковый тип данных. С наработками. Работает, но не верно Кто занимался работой с timer поделитесь пожалуйста наработками интеренсыми |
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
|||||||
05.07.2021, 13:49 | 181 | ||||||
Итак, проблема.
Для написания инструкций, описания базы, для разработки необходимо иметь описание таблиц базы данных. Штатный архивариус мне совсем не нравится. Он выдаёт или мало информации, или много, но ненужной. Да ещё и в неудобном виде. Когда-то давно я набрёл на одну статью, которая помогла мне решить эту проблему. Функция получения свойств таблиц БД Автор В.Ким 12.08.2003 г.
0
|
2 / 2 / 0
Регистрация: 23.04.2022
Сообщений: 1
|
|
23.04.2022, 13:00 | 182 |
БД "Гостиница".
Может кому понадобится.
2
|
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
||||||||||||||||||||||||||||||||||||
27.06.2022, 21:08 | 183 | |||||||||||||||||||||||||||||||||||
Не знаю, пригодится кому-либо или нет. Когда-то пришлось этим заняться.
Проверка наличия таблицы в базе данных Проверка наличия таблицы в указанной базе данных. Метод ADO. Не забудьте для использования метода ADO добавить в References Microsoft ADO Ext. for DDL and Security и Microsoft ActiveX Data Objects Library. Их версии зависят от версий Microsoft Access и обновлений, установленных на компьютере.
Проверка наличия таблицы в указанной базе данных. Метод DAO. Не забудьте добавить в References ссылку на Microsoft DAO Object Library или Microsoft Office XX.X Access database engine Object Library.
Определение наличия таблицы происходит при переборе коллекции TableDefs, поэтому скорость их работы невысока и зависит от числа элементов коллекции. У ADO в коллекцию входят все объекты базы: таблицы, запросы, макросы, формы, отчеты и т.д. Создание коллекции TableDefs для удаленной базы методом DAO происходит несколько медленнее, чем методом ADO. Из справки для DAO: «…Для доступа к другой базе данных в то время, когда текущая база данных открыта в окне Microsoft Access, следует использовать метод OpenDatabase объекта Workspace. Метод OpenDatabase не открывает вторую базу данных в окне Microsoft Access, а возвращает переменную типа Database, представляющую вторую базу данных. Примечание. В предыдущей версии Microsoft Access для получения указателя на текущую базу данных можно было использовать следующий синтаксис: DBEngine.Workspaces(0).Databases(0) или DBEngine(0)(0). В Microsoft Access 2000 для этой цели следует использовать метод CurrentDb. Метод CurrentDb создает новый экземпляр текущей базы данных, а переменная DBEngine(0)(0) ссылается на открытую копию текущей базы данных. Метод CurrentDb позволяет создавать несколько переменных типа Database, ссылающихся на текущую базу данных. Синтаксис вида DBEngine(0)(0) по-прежнему поддерживается, но во избежание конфликтов в многопользовательских базах данных использовать его не рекомендуется.» Функции не различают прилинкованные таблицы и таблицы, находящиеся в базе. Есть и другие способы определения наличия таблиц в базе Для определения наличия таблицы в текущей базе можно, также, использовать следующую функцию (NeAs)
Проверяет наличие таб. как внутри базы, так и во внешней, как в mdb формате, так и в dbf и др. Дает в меру интеллектуальный ответ причины не нахождения. (АлексейЕ)
Возвращает: true - существует, false - нет.
0
|
740 / 84 / 7
Регистрация: 06.12.2009
Сообщений: 342
|
|
29.06.2022, 14:03 | 184 |
Вот код, который отправляет сообщение из MS Access через WhatsApp. Используется протокол whatsapp://
2
|
569 / 119 / 16
Регистрация: 04.10.2015
Сообщений: 451
|
|
29.06.2022, 20:26 | 185 |
Чтобы протестировать этот подарок, не могли бы вы выложить это в Аксе 2003 или просто выложить тексты всех модулей.
А уж перенести текст в более старую версию мы смогём. Спасибо
0
|
740 / 84 / 7
Регистрация: 06.12.2009
Сообщений: 342
|
||||||
29.06.2022, 20:37 | 186 | |||||
Отправка сообщения через WhatsApp PC с помощью MS Access (vba):
0
|
569 / 119 / 16
Регистрация: 04.10.2015
Сообщений: 451
|
|
29.06.2022, 20:40 | 188 |
1
|
0 / 0 / 0
Регистрация: 02.09.2022
Сообщений: 2
|
|
26.09.2022, 21:39 | 189 |
Автоматизация «Учебной части» образовательного учреждения.
Приложенное программное решение создано для ускорения, упрощения, повышения качества и надежности выполнения задач сотрудниками Учебной части. Сподвигло на создание такой Автоматизированной Базы Данных (далее в тексте - «АБД») использование ПК как печатных машинок в течении 30-ти лет без существенных изменений. АБД создавалась в тесном взаимодействии с действующими сотрудниками Учебной части ОУ и максимально ориентирована на удобство, ускорение и упрощение работы сотрудников. Работа с АБД не требует специальных знаний, кроме начального инструктажа по самой программе. Настоящая версия АБД создавалась на основе Access MSO2003, была адаптирована для работы в среде MSO2010 и в течении 2-х лет успешно использовалась в Учебной части образовательного учреждения (около 4 000 записей). Настоящее программное обеспечение выкладывается на условиях «Как есть» для ознакомления с возможными решениями. Коммерческое распространение и использование полностью или частично запрещается. Автор не несет ответственности за любой ущерб, полученный при использовании полностью или частично настоящего продукта или решений из него. Возможности. Основным объектом в АБД является студент (ФИО и ДР). Все изменения вносятся в базу на основании приказа по ОУ, вводимого в базу в первую очередь (номер, дата, тип). При отсутствии данных по приказу ввод других данных не будет разрешен. Ввод данных в АБД может производится автоматизировано из файла .XLS, получаемого из автоматизированной информационной системы (АИС) «Контингент». В процессе загрузки большая часть данных приводится к формату, принятом в АБД. Организованы два справочника: по специальностям, изучаемых в ОУ (формируется пользователем под конкретное ОУ) и по военкоматам Москвы, Московской области, а так же других регионов и областей (около 150 записей). Еще организованы три библиотеки склонений: имен, фамилий и отчеств. В них заложены все шесть падежей, реализована работа только с дательным падежом, применяющимся в написании справок. Запись в библиотеку производится при первом вводе склонения. (Библиотеки очищены.) Для печати справок и документов в папке с шаблонами находятся шаблоны документов, созданных на основе соответствующих официальных бланков. ADBase5_220923.zip Form screenshots.zip Работа. Форма «Начало работы» (exe00Autoexec) служит для открытия одной из 6-ти «рабочих» форм. Форма «Студенты» служит для зачисления, перевода по курсам, выпуску студентов индивидуально и группами. Через эту форму вносятся данные об изменении ФИО, финансировании, нахождении в академическом отпуске, отчислении и восстановлении студентов. А так же дополнительная информация: семейное положение, отношение к воинской службе, образование, место жительства. Форма «Военный учет» служит для печати различных документов и справок для Военкоматов. Форма «Печать справок» позволяет печатать справки общего назначения и справки для ВК. Информация о зачислении, сроке обучения, предполагаемой дате окончания, нахождении в АО и детях вносится автоматически. Журналы выдачи справок ведутся автоматически и могут быть распечатаны. Форма «Статистика» позволяeт получить количество и список студентов в зависимости от 18-ти условий. Используется для проверки целостности данных АБД и различной документации ОУ, а также для создания отчетов, столь любимых вышестоящими организациями. Формы «hb_MOffice» и «hb_Special» - соответственно справочники по ВК и специальностям. Специальная Форма «exe01ImportXLS». Производит загрузку данных из таблицы .XLS, получаемую из АИС «Контингент», в АБД. В процессе загрузки производится предварительная подготовка данных и приведение их к формату, принятому в АБД. Таблица .XLS должна строго соответствовать формату таблицы приведенному в папке SourceExel. Форма «exe01ImportXLS» должна использоваться только специалистами! Особенности. В форме «Студенты» 6-я вкладка пустая, оставлена как резервная. На всех формах кнопки «StopOutput» не задействованы. На форме «Печать справок не задействованы поле «Кол-во» и чекбокс «FreeName», так же не задействована группа полей «Дети» (задумывалась как ввод информации о детях «на лету»). В форме «Статистика» вторая вкладка пустая (задумывалась для создания модуля печати статистических таблиц) Вся информация о студентах очищена и введены десять технических записей для того «чтобы работало» и «посмотреть». Конец.
0
|
7395 / 4532 / 295
Регистрация: 12.08.2011
Сообщений: 14,015
|
|
30.09.2022, 23:26 | 190 |
А нормализовать таблицы в течении двух лет не пробовали?
С такой "нормализацией" подобные изделия заслуживают мусорной корзины, а не выставляются в наработках. Наработки - от слова работа. А работы я у вас не вижу. Схема данных сделана за час на коленке. В ТОПКУ
0
|
0 / 0 / 0
Регистрация: 02.09.2022
Сообщений: 2
|
|
01.10.2022, 14:29 | 191 |
Сообщение от alvk,
Полная нормализация хороша в сложных БД, а здесь она ухудшит восприятие главной таблицы. Чего заслуживают "подобные изделия" решать может пользователь. Таблицы БД - это всего-навсего организованное хранилище данных. Основное - это работа с данными и организация работы с БД. Просто хранилище данных пользователю не требуется. Два замечания по теме: Смотреть не значит - видеть. В топку надо иметь, что бросать, может это 13.278 сообщений? И еще открою тайну: Схема данных сделана не на коленке, а - на ходу.
0
|
7395 / 4532 / 295
Регистрация: 12.08.2011
Сообщений: 14,015
|
|
02.10.2022, 01:12 | 192 |
Мы не ваши пользователи. Поэтому видимо решать на нашем форуме ничего не можем?
Кончайте клоунаду.
0
|
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
||||||
12.10.2022, 13:54 | 193 | |||||
Список имен листов книги Excel
1
|
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
|
17.10.2022, 11:40 | 194 |
Нашел в своих архивах
Краткие сведения Наименование программы: «Размещение материальных средств» (версия 1.2) Назначение: Простая программа-основа учета наличия материальных средств в подразделениях организации. Наиболее подходит для учета средств вычислительной техники в условиях ее постоянного перемещения между подразделениями. Средство разработки: MS Access 2000 (программа была разработана в Access 97). Программа представлена в виде mdb-файла для свободного копирования и изменения и данного файла краткого описания. Автор: Шиндин Юрий тел. (095) 344-44-66 E-mail: yshindin@yandex.ru http://yshindin.narod.ru/mse.zip Условия распространения: бесплатно с возможностью переработки и развития программы применительно к Вашим условиям (по отдельному соглашению).
0
|
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
||||||||||||||||
06.02.2023, 11:33 | 195 | |||||||||||||||
Access — VBA — Поиск вложений и многозначных полей
перевод статьи Даниэля Пино Access – VBA – Find Attachment and MultiValued Fields Я решил поделиться простой функцией, которая может перебирать таблицы базы данных, чтобы идентифицировать те, которые содержат «сложные» поля. Что такое «сложные» поля? Проще говоря, те, которые используют магию за кулисами для хранения нескольких значений в скрытых системных таблицах. По словам Microsoft: указанное поле является многозначным типом данных Какие поля составляют сложные/многозначные поля? В основном, вложения и многозначные поля. Зачем нам идентифицировать эти поля? Я уже касался этого в прошлом, MVF — это ЗЛО. Вы никогда не захотите использовать скрытые функции, подобные этим. Вы хотите построить свою собственную структуру связанной таблицы, которой вы управляете. MVF не может быть увеличен. Привязанность приводит к вздутию живота и всегда не рекомендуется, за исключением очень ограниченного использования!). Следовательно, когда я беру базу данных, я запускаю серию проверок, среди прочего, идентифицируя MVF, чтобы я мог просмотреть их, чтобы убедиться, что они законно занимают свое место или должны быть заменены должным образом. Код Код довольно прост и выполняет итерацию по каждой таблице базы данных (за исключением системных таблиц), а затем выполняет цикл по каждому полю, чтобы просмотреть свойства и распечатать те из них, которые являются «сложными».
Чтобы вернуть простой английский тип поля, я использую функцию FieldTypeName Аллена Брауна.
Чтобы использовать функцию, вы можете либо поместить курсор в функцию и нажать F5, либо ввести
Контакты -------------------------------------------------- - Отдел Комплекс Текстовой КомпанииПриложение Картин Проекты ---------------------------------------------------------- ------- Сроки выполнения Комплексный текст Руководители проектов Комплекс Длинные спецификации Приложение Итак, теперь вы точно знаете, какие таблицы и поля нужно правильно проанализировать и, скорее всего, заменить. Длинный текст с добавлением только (история столбцов) После проверки с помощью команды разработчиков свойство IsComplex НЕ возвращает значение true для длинного текста (памятки), если для свойства Append Only задано значение Yes. Причина в том, что такие поля не возвращают свое свойство Value, поэтому информация недоступна через автоматизацию, поэтому они не возвращают, что они сложны. Это еще одно вопиющее упущение команды разработчиков Access! Таким образом, на самом деле свойство IsComplex недопустимо, поскольку такие столбцы действительно являются сложными, но оно возвращает False! Какой БЕСПОРЯДОК! Таким образом, свойство IsComplex работает для некоторых «сложных» полей, но не для всех. Так в чем собственно смысл?! Это просто еще один яркий пример проблем с такими полями и того, как вы не можете работать с ними, как с правильно построенным реляционным набором данных 1-n, который вы создаете сами! Существуют способы извлечения связанных данных, но это требует возни с системными таблицами, и это никогда не является хорошей идеей, и даже не требуется. Вы просто не хотите возиться с системными таблицами! Мораль этой истории всегда остается неизменной: не используйте их в первую очередь, и если вы обнаружите их в базах данных, которые вы берете на себя, настоятельно рассмотрите возможность замены должным образом нормализованной структурой вашего собственного создания, которая, таким образом, может быть полностью автоматизирована. и увеличенный в случае необходимости!
0
|
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
|||||||||||||||||||||
14.03.2023, 12:54 | 196 | ||||||||||||||||||||
Закрыть все открытые отчёты
Наткнулся тут недавно у Даниэля Пино на несколько простеньких функций: "Закрытие всех таблиц", "Закрытие всех форм", "Закрытие всех отчётов", "Закрытие всех запросов", "Закрытие всех макросов" Вспомнил, что у меня было нечто подобное. Иногда при отладке откроешь кучу таблиц, запросов, а потом надо срочно закругляться и начинаешь срочно тыкать в свёрнутые таблицы, разворачивать, закрывать. Потом я подцепил все эти функции на макрос, и в случае нужды запускаю его. Итак здесь моя функция закрытия отчётов, немного причёсанная и функция Даниэля Пино
Ну и адрес источника Access – VBA – Close All Open Reports
0
|
8859 / 5904 / 585
Регистрация: 27.03.2013
Сообщений: 19,567
|
|
15.03.2023, 12:22 | 197 |
Возможно я не понял сакральный смысл поочередного закрытия всего и вся, но если по мне, то значительно быстрее и проще ткнуть в крестик самого приложения, всЁ само собой и закроется.
Затем снова открыть приложение. А то ищи ту форму, в где эти самые чего то там кнопки для закрытия.
0
|
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
|
15.03.2023, 13:29 | 198 |
А я в большинстве своих программ блокирую этот крестик. У меня есть программы, которые требуют закрытие открытых форм в определённом порядке. Да и дисциплинирует это пользователей. А то были у меня деятели, которые любили закрывать программы из любого места таким крестиком. А у меня есть программы, где определённые данные из дочерней формы при закрытии передаются в родительскую. Потом эти данные там обрабатывались.
Впрочем, это моё мнение, что и как делать. Можно ведь закрыть задачу и через меню "Файл". Но не все это помнят.
0
|
8859 / 5904 / 585
Регистрация: 27.03.2013
Сообщений: 19,567
|
|
15.03.2023, 14:42 | 199 |
Это конечно дело каждого, но всяческие трудности, в виде блокирования и скрытия функционала, предпочитаю делать не в начале разработки, а по окончании, ибо это только затрудняет работу разработчика, ибо увеличивается время и количество зачастую дополнительных и ненужных действий.
0
|
734 / 204 / 12
Регистрация: 16.01.2014
Сообщений: 672
|
|||||||||||||||||||||
17.03.2023, 10:03 | 200 | ||||||||||||||||||||
Ну, продолжу потихоньку
Закрыть все открытые формы Код от Даниэля Пино
Ну и для VinniPuh, когда разрабатываешь новую программу, то естественно, все красивости включаешь в конце. А если правишь уже готовую? Некоторые программы я сопровождаю уже по 15 лет. В одной - 208 версий и доработок. И как тут быть? У меня сделана функция fnStart, которую я запускаю из макроса autoexec. Там у меня всё прописано: вывод названия, иконки, подключение таблиц, отключение крестика. Так, что мне проще сделать макрос "Закрыть всё" и вызывать из него соответствующие функции, чем искать по тексту и отключат/включать соответствующие функции. Ну, мне так удобнее.
0
|
17.03.2023, 10:03 | |
17.03.2023, 10:03 | |
Помогаю со студенческими работами здесь
200
Делимся. Делимся vpn) Делимся опытом Делимся знаниями по С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |