У меня из уже открытой базы при переходе по ссылке к моим файлам, расположенным на ПК каждый раз получаю извещение. Зато чужие файлы из Сети открывает сразу. Ничего не помогает, чертовщина какая-то. Обидно, что в ранней версии (2003 или 2007 года) никаких извещений не получал.
Добрый день. Для входа в базу логин и пароль работает отлично, шифт отключается. А вот доступ к таблицам в разделенной базе не блокируется. Можно открыть любым пользователем и изменить даные. Как в таком случае бороться с потенциальными злоумышленниками?
Посмотрите видео по блокировке клавиши Shift с паролем и как запретить доступ пользователей к объектам базы (таблицам). Защиту от Shift нужно применить к обоим файлам разделенной БД. Главное потом не забыть пароль для разблокировки и доступа к обьектам
Добрый вечер. Пятый день не могу создать рабочий макрос. Не могу понять - откуда берется Код в функции DCount. Ведь если выводит запись из таблицы, где хранится логин и пароль, то это таблица user И как созданы ячейки выбора пользователя и ввода пароля - как не стараюсь, в ячейке пользователя 3 столбца, код добавляется автоматически. Можете подробнее описать процесс написания макроса?
если нужно защитить таблицу от просмотра, в которой находятся данные о пользователях и их паролях, то нужно защить файл Access на открытие через клавишу Shift, то есть заблокировать доступ к объектам файла (таблицам, формам, запросам, отчетам, модулям VBA и тд). Блокировку от клавиши Shift можно сделать тоже с паролем, который будет знать разработчик (администратор). ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-RGGhVha1H6c.html
Справочником называют таблицу, где основное поле, например наименование организации имеет уникальные поля, то есть в конструкторе таблицы это поле индексированные и неповторяющиеся значения - да, то есть нельзя в это поле будет занести два и более одинаковых значений. Любая форма строится на источнике данных таблице или запросе, может быть и пустая форма, где поля имеют свободный тип ( не привязанный к таблице или запросу) и короче когда открывают форму например у которой источник данных таблица с наименованием организаций, то подразумевают что это справочник. Например может быть таблица с наименованием единиц измерений - тоже справочник, и тд, там где поле наименование не повторяется. Если запрос работает, то есть выводит нужную запись по образцу (по фильтру) то и форма, если к ней применить этот фильтр (запрос) тоже отобразит эту запись, что конкретно не работает?
@@access-program спасибо за подробный и быстрый ответ. Не знаком с Вашей терминологией. Т.е. в Вашем случае форма на основе таблицы? Не работает запрос относительно формы. Отдельно работает.
Ну это не моя терминология: справочники, журналы это больше для пользователя чем для разработчика. Чтобы в форме отобразились записи с фильтром по нажатию кнопки например, нужно кнопке назначить макрос на событие " нажатие кнопки", в котором будет макрокоманда " применить фильтр" . имя фильтра это наименование вашего запроса, в котором добавлена таблица, поле и условие для этого поля. Подробно в видео это есть
@@access-program ну ок, терминолония не для всех, мне залезать в нее не за чем, достаточно будет понятий объекты предлогаемый акцесом. Все понятно, что под кнопку надо завести макрокоманду, которая выполнит запрос в котором указано условие, вроде сделал все правильно, но поле, после выполнения макроса, остается пустым. Будто не считывается данные с поля формы. Короче, не разобрался я, удалил все)) не получилось
@@dreykbel3284 не стоит огорчаться, я тоже так начинал, по несколько раз одно и тоже, значит у вас что с формой, если запрос работает - выдает нужные записи по условию из таблицы, то и к форме на основе этой таблицы запрос будет делать тоже самое,
в самой БД Access можно вывести график в Excel, там есть и печатные формы графиков и табелей. код VBA адаптирован для Access, так как в коде есть команды выполнения запросов на обновление данных таблиц. Для Excel нужно менять код ( к примеру где идут циклы и заполняются поля формы, надо изменить код чтобы заполнялись не поля, а ячейки листа книги Excel и исходные данные (размер и значения цикла, начало, окончание) тоже где-то были на листе Excel . Код попозже выложу в ссылке, но переделывать его под Excel вы уж как нибудь сами
При выборе значения из выпадающего списка отображается такое сообщение: Указанный в качестве объекта OLE в процедуре Visual Basic объект не является объектом OLE. В чем здесь ошибка???
возможно у вас на какое-то событие поля со списком назначена процедура VBA, проверьте свойства поля со списком, вкладка "события", правильно ли функционирует сам список без каких-либо событий (должно выбираться значение из списка на основе источника данных таблицы или запроса)
@@access-program Когда в макросе в поле "Выражение" я вписываю любую константу, все отрабативает норм, а когда прописываю там путь к значению -- тогда ошибка
тогда ошибка в самом выражении (синтаксисе) либо выражение ссылается на несуществующий объект (не верное имя, либо его нет), проверьте все ли поля, которые используйте для макроса "задать значение" есть в запросе. Например раскрывающийся список состоит из 3-х полей (колонок), в макросе задать значение в другие поля формы используйте выражения: [Формы]![вашаформа]![ПолеРаскСписка].[Column](1),[Формы]![вашаформа]![ПолеРаскСписка].[Column](2). На вкладке "макет" Поле раскр списка должно иметь 3 столбца, ширина столбцов например: 5;0;0 при 0 столбец в списке не отбражается
Добрый день, не знаю не пробовал. Если осуществляется экспорт данных строки из Access в Word с разными типами данных, то и должно экспортироваться поле с рисунком, есть рисунок ингегрированный в access, а есть по внешней ссылке
МБ-7 - это ведомость учета выдачи СИЗ (можно было просто "загуглить"). В БД формируется данная ведомость на определенную дату по сотруднику или по подразделению. В нее попадают СИЗ, которые необходимо заменить сотрудникам (у которых выходит срок использования до указанной даты формирования ведомости)
когда откроете макрос (конструктор макросов) нажмите на ленте кнопку "показать все действия" и макрокоманда "задать значение" отобразится в списке Создание пустой формы: меню Access - создание- пустая форма
Привет. Я делал проще. В макросе нажатии кнопки открытия подчиненной задаем переменную с номером договора из главной формы. Подчиненная форма строится на запросе, где в фильтре отбора записей указываем нашу переменную. В итоге подчиненная форма открывается с нужными нам записями. А в поле номер договора подчиненной формы указываем значение по умолчанию опять нашу переменную. При добавлении новой записи автоматом проставляется нужный номер договора.
@@access-program В моем примере подчиненная построена на основе отфильтрованого запроса. Что существенно сокращает количество танцев с бубном, фильтрами, проверками и лишними диалоговыми окнами.
При открытии формы вы применяете фильтр. А у меня в ИСТОЧНИКЕ ДАННЫХ подчиненной формы сразу запрос с отфильтрованной записью. По моему это проще. К вашей работе - отношусь с огромным уважением. Возможно я не прав.
я работал одно время бухгалтером в малом бизнесе, в основном для буха нужны конфигурация 1С Упрощенка и какая-нибудь для начисления з/платы, чтобы вести бухгалтерию и сдавать отчеты в налоговую. БД Учет договоров с заказчиками нужна не только для буха но и для руководителя или технического зама, чтоб база была всегда под рукой в ноутбуке, базу можно использовать как "WEB базу" через яндекс диск (интернет не обязателен - обновляется автоматически когда будет связь), с ней можно работать как и руководителю, так бухгалтеру, так и мастеру на разделенных правах. Руководитель (мастер) вводит в базу начисленную сотрудникам зарплату за работу по договорам (этапам работ), бух берет из базы данные для начисления з/п, так как она не знает кому и скока начислять, и вводит в БД оплату по сотрудникам, ну много еще в этом хороших моментов. Для совместной работы в 1С нужно делать специальную конфигурацию и чтобы она работала онлайн у каждого ИТР. Это стоит денег + платные обновления 1С. А если стоит просто упрощенка 1С + отдельная БД, то так можно работать без особых вложений на ПО длительное время.
а если самозанятый в сфере оказания услуг (работ), тоне нужно 1С и бухгалтерии, только показывать доходы в мобильном банке. Но учет договоров нужен, документы для заказчиков юр лиц нужны
Добрый день, что именно не получается. Вы делаете через макросы или через код VBA? у меня там два видео. Через код VBA: 1. Клавиша Alt+F11 попадаете в VBA 2. Главное меню Insert - Module и у вас по умолчанию добавится например Module1 и в область кода вставляете скопированный текст из Word (ссылка в описании была), сохраняете и закрываете VBA. 3. В конструкторе формы или отчета добавляете поле для суммы прописью. В этой же форме или отчете должно быть поле числового формата, которое вы хотите перевести в пропись в ваше добавленное поле. В свойствах добавленного поля для суммы прописью, вкладка Данные пишите: StrSum([вашеПолеЧисловое]) или можно например так: ="Всего оказано услуг на сумму: " & StrSum([вашеПолеЧисловое]) вашеПолеЧисловое - это имя вашего поля, которое вы хотите переделать в пропись
Здравствуйте! Как сделать, чтобы access автоматически масштабировал развернутые формы под разрешение экрана монитора? Изначально формы сделаны на мониторе с большим разрешением- при открытии на мониторе с меньшим разрешением, формы сильно крупные и не влезают в экран, появляются полосы прокрутки.
Длина(ширина) и разрешение это разные вещи. Разрешение это кол-во точек на единицу площади и в итоге оно может умесить больше графических объектов на одном и том экране, чем меньшее разрешение. Но разрешение определяется характеристиками видео карты и драйверами. В видео мы говорим только о длине и ширине формы. Естественно, если уменьшить эти параметры форма станет меньше, но появятся полосы прокрутки, так как лишние столбцы или строки формы никуда не деваются. Если у вас хорошее разрешение экрана, а формы все равно крупные, то просто нужно в конструкторе уменьшить шрифт, размеры полей и другие элементы ваших форм. Скорей всего ваши формы БД изначально делались для большого монитора и подбирались для этого большие размеры и шрифты.
Спасибо за видео. У меня возникает ошибка. при обновлении поле со списком, появляется окно ведите значение поля. Пожалуйста, подскажите как это исправить?
Проверьте у вашего поля со списком (свойства -вкладка данные - источник строк и ваш запрос, в нем отсутствую данные, возможно в запросе что то не так. Попробуйте в откройте этот запрос, какие записи он выдаст?
разве эта настройка сохранится если делиться этим файлом с пользователями? Кажется это работает только для текущего пользователя, который произвел подобные настройки.
Да, это настройка для Access, который установлен на компьютере пользователя, который сам определяет места (папки) на своем пк и БД в них, которым он доверяет
У меня такой вопрос. Делаю добавление из справочника. То есть есть форма в которую вводиться повторяющиеся записи, по кнопке открываеться другая форма в коротой отмечаешь нужные записи и по кнопке выполняеться запрос на добавление. После добавления эта форма закрываеться но в той форме не появляется пока не нажмёшь по кнопке обновить все. Как сделать так чтобы не нажимать, так как в клиентской форме скрываю все панели
по кнопке, по которой выполняется макрос с запросом на добавление записи в этот макрос добавьте в конец макрокоманду "обновление" (поле "имя элемента" оставьте пустым)
Он встроен в access, по нажатию кнопки откроется форма со списком таблиц нужно поставить все галочки (выделить все) , поставить галочку " выдавать запрос о новом месте расположения", потом ок, далее в проводнике указать путь к файлу с таблицами (..._be), выделить файл, нажать ок
Для вызова самого диспетчера связанных таблиц например по кнопке по событию назначьте макрос, в макросе добавить макрокоманду " диспетчер связанных таблиц"
При первом запуске базы возможно надо нажать по кнопке "включить содержимое" вверху экрана включение макросов для того чтобы заработали макросы и кнопки в окне формы автозапуска
Для анализа быстродействия. Отдельную задачу (модуль) можно сделать разными способами. Лучший вариант будет тот, который работает быстрее. Особенно будет заметно когда накопится тысячи записей в базе.
Подскажите пожалуйста,что делать , такая же ошыбка ,но при нажатии "открыть" ничего не происходит,сама база не запускается. Даже у настройки зайти нельзя приложения. Пробовал разные версии ставить,новее ,старее но всё равно одно и тоже. Вин 11 про
откройте Access, через удержание клавиши Shift откройте вашу базу, файл - параметры, зайдите в параметры безопасности access - центр управления безопасностью, параметры макросов, пометьте "включить все макросы (не рекомендуется)". По клавише F11 открывается панель с объектами базы. Если у вас открывается окно извещения системы безопасности, то по кнопке "открыть" щелкните мышкой также с удержанием клавиши Shift. Если через Shift база не откроется (не будет панели с объектами базы), то клавиша Shift заблокирована и ничего не сделать.
Спасибо за отзыв, видео тут: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-DHiASUpTqYI.html Сканер штрих кода подключается как обычная мышь (посмотрите в интернете) и выводит в ячейку Excel, поле Access, в место положения курсора мыши преобразованное графическое изображение в цифровой код
В твоем примере можно было обойтись без дополнительного запроса, используя функцию DLookUp. Например: Если DLookUp("[уд_док]";"[настройки]";"[Код]=" & 3)= -1 то ..., но на вкус и цвет товарищи разные :)
Да, можно. Но с запросом более универсальный вариант. Если запись в таблице настройки случайно удалить, то значение кода изменится и условие не будет работать
@@migurv совершенно верно. В самом запросе уже можно сделать несколько критериев для вывода нужной записи и Dcount - их подсчета и использовать это значение в каком-нибудь условии (логике)
да, можно в моем видео посмотрите ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-yTQTM8yABB8.html нужно, чтобы поле с именем пользователя имело связь с таблицей сотрудники, источник записей в поле "логина" должен быть запрос из двух таблицы "пользователи" и сотрудники" со связью и в запросе добавить нужные вам поля. Или же в таблицу пользователей добавить нужные вам поля. Дальше как сделать смотрите в видео
Подскажите. Как быть с сетевой папкой Z:\!RESURS2023\ на сетевом диске. Она не добавляется в исключения. И макросы не работают при размещении файла на сетевом диске. Как решить эту проблему?
@@access-program Да. На диске нет никаких защит (видимых). Это просто DROBO на несколько десятков терабайт. Я создаю многопользовательскую базу и хочу на разместить на сетевом диске, а не accdb не accde при перемещении папки с базой на етот диск не запускает макрос.
а дает вообще этот диск изменять (редактировать) файлы? попробуйте что либо записать например ворд изменить сохранить. если сохраняет изменения то добавление пути к этой папке как надежных источников не причем. Можете создать другую папку на этом диске, которая начинается без знака восклицания и попробовать еще
Добрый вечер, Александр. Можно подробнее рассмотреть запрос DCount("[Код]";"[Вход]")=0 и DCount("[Код]";"[Вход]")=1, и как настроить поле чтобы выводили логин пользователя при редактировании . У меня на базе так не получается. Спасибо за ваши познавательные видео.
запрос выводит (или не выводит) запись из таблицы, где хранится логин и пароль. В условии запроса по полю логин значение (ссылка) из поля логин формы входа, по полю пароль - значение (ссылка) из поля пароль. Соответственно запрос выведет одну запись если логин и пароль совпадут введенные в форме входа со значениями из таблицы и соответственно не выведет ни одной записи (=0) если пара значений логин и пароль не совпадут. Функция DCount выводит кол-во записей в этом запросе
Здраствуйте, Александр. Спасибо за выложенные видео. Очень интересно посмотреть проекты коллег. По-моему, пользователя не нужно "напрягать" не нужной ему терминологией, как "связывание таблиц" и т.п. Проще: базы нет на месте? Предлагаете указать где она выбором OpenFileDialog. Если он не знает где она (и хорошо), если не понимает о чем разговор - свободен.
Почему access, а не 1с к примеру, в чем ценность знаний в access, он нужен комуто? где его область применения?? А так очень интересно, таких навыков а аксесе не каждый день встретишь. Автор Красава.
Потому, что Access одно из приложений распространенного пакета MOffice, который установлен почти на каждом компьютере, приложения хорошо интегрируются друг с другом. 1С тоже хороший продукт для создания баз данных (возможно даже более мощный), 1С и Access схожи: для работы с конфигурацией 1С или БД Access нужна платформа 1С, а БД сам Access, и там и там есть встроенный язык программирования (1С и VBA), сетевой вариант использования. Кому, что нравится.
Здравствуйте, извините за вопрос не совсем по теме, Подскажите, через слияние создали договор на 10 человек, как сохранить каждый договор в отдельном файле и было бы удобно , если в название файла вставлялись данные из указанного столбца
Через слияние в договор должны подставляться данные одного человека, можно сохранить файл ворд под другим именем (сохранить как) например в имени файла указать фио человека. Далее выбрав другую запись из источника данных (другого человека) сохраните файл ворд снова под другим именем и так далее. У вас будут отдельные файлы, но у них останутся связи с источником данных. При открытии каждого выбирайте "нет" (не связывать с источником данных) отключить связь
@@access-program Спасибо за ответ. Да с этим все понятно, но хотелось бы одним махом сохранить договора для всех человек, необходимость в оформлении до 100 договоров одновременно, и следовательно по одному сохранять достаточно долгий процесс.
если текстовое поле в конструкторе таблицы поменять на гиперссылку, то выглядеть будет точно также как и гиперссылка, но запускаться не будет, так как изменится только сам текст, так как явной гиперссылки (путь к файлу) не содержится в текстовом поле. Если же в текстовом поле будет содержать путь к веб странице, то тогда при изменении типа поля с текстового на гиперссылку все заработает.
@@access-programУ нас на разных компах поле гиперссылка делается по пазному и не всегда срабатывает. Пришлось сделать запрос с приведением к одному знаменателю. Потом в конструктора поле гиперссылка меняю с текстового на гиперссылку через макрос. И хотелось всё это автоматизировать.