Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 17
1

Как задать условие на сохранение

25.05.2014, 14:50. Показов 1056. Ответов 5
Метки нет (Все метки)

Добрый день, есть форма "Учет посещений" открывается на добавление, два поля "Дата посещения" по умолчанию Date() и "Номер абонемента" - вводится в ручную. При нажатии кнопки выполняется условие, если
MySQL
1
Date()>=DateValue([Дата_окончания])
то отменяется запись и открывается форма с ошибкой. Тут на данном этапе работает почти так как надо. И есть второе условие:
MySQL
1
([Кол_во_посещений]-Count([Учет посещений].[номер_абонемента]))) < 0
то отменяется запись и открывается форма с ошибкой.
Но на применение Count выдает ошибку.

Помогите задать условие, по которому, если сумма всех посещений абонемента больше заданного количества посещений абонемента, то запись не сохраняется и выдает ошибку.
БД Абонементы - копия (2).rar
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2014, 14:50
Ответы с готовыми решениями:

как задать условие?
мне надо чтобы только при сложении на экран выводилось +, при вычитании -, при умножении *, при...

Как задать условие
Условие : НЕ(А ИЛИ В) И HE(A ИЛИ С) (!((int)a || (int)b) &amp;&amp;! ((int)a || (int)c)) Вот что у...

Как задать условие?
Добрый день! Существует документ в котором мне необходимо сделать перевод переоценку цен за книги...

как задать условие
у меня вот такая задача Багаж пасажыра характеризирутся количеством вещей и их весом дано фаил f...

5
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 17
25.05.2014, 14:57  [ТС] 2
для проверки условий, можно использовать:
2, 3, 4, 33 - выполняется условие по дате
5, 35, 40, 41 - ошибка на второе условие

Помогите, пожалуйста, осталось 10 дней до сдачи диплома!!
0
72 / 46 / 9
Регистрация: 24.03.2014
Сообщений: 470
25.05.2014, 23:13 3
Цитата Сообщение от -Danger- Посмотреть сообщение
Visual Basic
1
[Кол_во_посещений]-Count([Учет посещений].[номер_абонемента]))) < 0
А зачем меньше нуля?
0
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 17
25.05.2014, 23:52  [ТС] 4
Цитата Сообщение от Eujine Посмотреть сообщение
А зачем меньше нуля?
Это выражение считает оставшееся кол-во посещений у абонемента, если посещения закончились, то должен произойти переход на форму с информацией об ошибке.
Так я себе это представляла.
Но буду рада любым вариантам, главное, что значения не должны сохраняться в таблицу. И по возможности сообщение об ошибке.
0
951 / 399 / 110
Регистрация: 21.03.2013
Сообщений: 1,067
26.05.2014, 12:52 5
Лучший ответ Сообщение было отмечено -Danger- как решение

Решение

Я для примера создал кнопку на твоей форме, посмотри как получилось.
У тебя поле с количеством посещений содержит строковые и числовые значения - в этом суть твоей проблемы.
Нужен обработчик или формула которая б преобразовывала данные к одному типу. Это может снизить твою оценку за базу. Совет: вывести значение безлимитный в отдельное поле, а при подсчете количества посещений сначала проверять не безлимитный ли абонемент
1
Вложения
Тип файла: rar БДАбонементы-копия3.rar (5.16 Мб, 1 просмотров)
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 17
27.05.2014, 02:31  [ТС] 6
ОГРОМНОЕ ПРЕОГРОМНОЕ СПАСИБО!!!
Уже перенесла к себе в рабочую базу, все работает,и вот теперь знакомлюсь с кодом поподробнее.

Добавлено через 39 минут
Не сохраняет абонементы, если абонемент не превысил кол-во посещений. Что-то у меня не получается самой скорректировать код.
Вставляю
Visual Basic
1
2
 Else
            DoCmd.RunCommand acCmdSaveRecord
И не работает

Добавлено через 2 часа 53 минуты
Visual Basic
1
2
If DCount("Номер_абонемента", "Учет посещений", "[номер_абонемента]=" & Me.Номер_абонемента) >= CInt(DLookup("[Кол-во_посещений]", "Количество посещений", "[номер_абонемента]=" & Me.Номер_абонемента)) Then
MsgBox "Абонемент №" & Me.Номер_абонемента & " использовал все посещения  " & DCount("Номер_абонемента", "Учет посещений", "[номер_абонемента]=" & Me.Номер_абонемента), , "Нельзя отметить посещение"
Работает!!!!
Еще раз ОГРОМНОЕ СПАСИБО!!! Выглядит очень круто!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2014, 02:31

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как задать условие на ComboBox?
На первой форме есть комбобокс с тремя значениями. Для каждого значения описан класс. Мне надо,...

Как задать правильно условие???
Во введенных массивах найти последовательность максимальной длины из элементов, расположенных в...

Как задать обратное условие в if
как задать в такой строке обратное условие? if ( p = strstr(buf, &quot;//&quot;) )

Как правильно задать условие?
Есть код, он сортирует строчку методом пузырька, AnsiString k=0; for(int...


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

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

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