6 / 1 / 0
Регистрация: 11.07.2013
Сообщений: 48
|
|
1 | |
Проверка на дублирование строк29.08.2013, 17:13. Показов 2031. Ответов 12
Метки нет (Все метки)
Добрый день!
В очередной раз прошу о помощи. Существует форма с полями Дата, Сумма, Сотрудник, Статья затрат. Необходимо, чтобы при внесении в поле Статья затрат значения "Авансовый отчет" происходила проверка по полю Сотрудник и если существует запись, например, Иванов - Авансовый отчет, выводилось бы сообщение о невозможности добавления строки, т.к. сотрудник не отчитался за предыдущий авансовый отчет. PS:если что не понятно объяснила, пишите
0
|
29.08.2013, 17:13 | |
Ответы с готовыми решениями:
12
Проверка на дублирование строк в таблице Проверка на дублирование записи в форме Проверка на дублирование и переход к записи Запрос на дублирование строк |
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
|
|
29.08.2013, 17:25 | 2 |
Нужно подсчитать в запросе количество записей по условию ( запись = Иванов - Авансовый отчет), если их количество больше одного, значит есть повторения
0
|
6 / 1 / 0
Регистрация: 11.07.2013
Сообщений: 48
|
|
29.08.2013, 17:37 [ТС] | 3 |
0
|
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,917
|
||||||
29.08.2013, 17:43 | 4 | |||||
0
|
6 / 1 / 0
Регистрация: 11.07.2013
Сообщений: 48
|
|
29.08.2013, 18:00 [ТС] | 5 |
все стало еще запутаннее
0
|
3356 / 1775 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
|
29.08.2013, 18:04 | 6 |
1
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
29.08.2013, 18:52 | 7 |
Если сотрудник может несколько раз получать аванс, то ваша схема не годится, поскольку запрещает в любом случае вторичное получение аванса. Видимо, нужно еще поле типа дата погашения аванса и, если оно не заполнено, то только тогда можно отказать в следующем авансе.
1
|
6 / 1 / 0
Регистрация: 11.07.2013
Сообщений: 48
|
|
30.08.2013, 09:39 [ТС] | 8 |
Дело в то, что когда сотрудник отчитался за предыдущий авансовый отчет, статья затрат меняется.
А данная проверка необходима как раз для того, чтобы отслеживать отчитался ли сотрудник
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
30.08.2013, 17:31 | 9 | |||||
Теперь понятно. Проверку уместно проводить в процедуре BeforeUpdate поля СтатьяЗатрат.
0
|
6 / 1 / 0
Регистрация: 11.07.2013
Сообщений: 48
|
|
01.09.2013, 19:07 [ТС] | 10 |
[QUOTE=mobile;5002815]Теперь понятно. Проверку уместно проводить в процедуре BeforeUpdate поля СтатьяЗатрат.
И снова не получается....что не так?
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
01.09.2013, 19:51 | 11 | |||||
Нда...
Пробуйте
0
|
6 / 1 / 0
Регистрация: 11.07.2013
Сообщений: 48
|
|
01.09.2013, 20:23 [ТС] | 12 |
все хорошо, но вот только это сообщение постоянно выскакивает, нельзя данные редактировать дальше пока не закроешь форму. нужно так: например беру Матина, ввожу новую строку со значением Ав.отч., мне пишет что "Еще не сдал прежний отчет", после нажатия ОК, ищу предыдущую строку со значением Ав.отч. и в статье затрат проставляю иное значение, после чего могу заводить на Матина новый ав.отч.
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
01.09.2013, 20:38 | 13 |
Так это совсем другая постановка задачи. Но решается легко - уберите команду Cancel=True из процедуры.
1
|
01.09.2013, 20:38 | |
01.09.2013, 20:38 | |
Помогаю со студенческими работами здесь
13
Разделение, дублирование строк в запросе Дублирование базы , или дублирование информациии Проверка на дублирование строк при добавлении новой строки Проверка на дублирование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |