Ограничить выбор полей на основе критериев в ms access
у меня есть таблица сотрудников, в которой есть поле с именем department.я хочу, чтобы пользователи получили сообщение о том, что больше никаких сотрудников не может быть назначено в этот отдел, потому что достигнут определенный предел.пользователи будут использовать формы в ms access для вставки details.is можно ли это сделать с помощью vba?
Что я уже пробовал:
я создал запрос, который вычисляет текущее количество сотрудников в отделе.лимит, скажем,в настоящее время составляет 5, более 5 сотрудников в отделе не допускаются.я попробовал критерии проверки на уровне таблицы, но там не повезло, так как выражение неверно.
Gerry Schmitz
Вы запускаете запрос из формы, прежде чем разрешить сотруднику "вставить".
muneermohd9690
как это можно сделать?при необходимости я могу поделиться с вами базой данных access.не могли бы вы проводить меня, пожалуйста.
Gerry Schmitz
Просто покажите код, где вы делаете "вставку" из формы.
muneermohd9690
Возможность Сравнить Базе
Явный Параметр
Частная msaved как логическое
Частный суб btnsearch_Click()
Конец Подводной Лодки
Частная Суб Command198_Click()
msaved = истина
MsgBox "добавлена новая запись"
Меня.Обновление
Конец Подводной Лодки
Частная Суб Command199_Click()
Меня.Отменить
Метод docmd.BrowseTo acBrowseToForm, "empdetailsform", , , acFormAdd
Конец Подводной Лодки
Частный суб browse_Click()
Тусклый diag как офис.Классов filedialog
Тусклый элемент как вариант
Set diag = приложение.FileDialog(msoFileDialogFilePicker)
диагональ.AllowMultiSelect = False
диагональ.Title = "Пожалуйста, выберите лист excel"
диагональ.Фильтры.Четкий
диагональ.Фильтры.Добавьте "электронную таблицу excel", "*.xls,*.xlsx"
Если диаг.Тогда Покажи
Для каждого элемента в diag.Выбранные элементы
Меня.именем = товар
Следующий
Конец, Если
Конец Подводной Лодки
Private Sub Form_BeforeUpdate(отмена как целое число)
Если msaved = False, то
отмена = истина
Меня.Отменить
отмена = ложь
Конец, Если
Конец Подводной Лодки
Private Sub Form_Current()
msaved = ложь
Конец Подводной Лодки
Частная суб import_Click()
Dim FSO как новый файловый объект
Если Nz(Me.filename, "") = "", то
MsgBox "Пожалуйста, выберите файл."
Выход Из Субмарины
Конец, Если
Если ФСО.FileExists(Nz(Me.filename, "")) Затем
importexcelsheet.importexcelspreadsheet Me.filename, "empdetails"
Еще
MsgBox "файл не найден."
Конец, Если
имя файла.Ценность = ""
Конец Подводной Лодки