Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 01.04.2008
Сообщений: 5
1

Как запретить пользователю торговать воздучом?

13.04.2008, 18:37. Показов 1524. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеются две таблицы - в одной поступление товара на склад, в другой - продажа.Как запретить пользователю ввести в форму продажу товара остаток которого на складе - ноль?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2008, 18:37
Ответы с готовыми решениями:

Как торговать в сапе и не попасть под фильтры ?
Сабж... Есть сайт, старый, 3 года, тематика - авто, в ДМОЗе. Много страниц почти без контента. тИЦ...

Как запретить доступ в интернет пользователю?
Как в Windows 7 запретить доступ в интернет пользователю, а администратор чтобы мог пользоваться?...

Как запретить пользователю расширить Окно?
Как запретить пользователю расширить Окно?

Как запретить менять цены пользователю
Подскажите желторотику, как запретить менять цены пользователю в 1с 8.2 Спасибо.

7
2 / 2 / 2
Регистрация: 23.06.2007
Сообщений: 397
14.04.2008, 03:14 2
Предоставлять данные для продажи только те, которые на складе >0
Конкретная реализация может быть любая, конкретно поместу
0
msd
14.04.2008, 12:13 3
Я вижу, что текущего состояния склада всё равно нет. Таким образом, надо вначале высчитать остаток как суммарное поступление минус суммарная продажа. А потом эту цифру сравнить с введенной в форме. К тому же, полагаю, есть смысл сравнивать введенное количество не с нулем, а с рассчитанным остатком, чтобы оператор не продал товара больше, чем есть на складе.

Имеем таблицы:
'Поступления' ([Код товара];[Количество])
'Продажи' ([Код товара];[Количество])

В форме, в которой мы вводим новую цифру есть поля 'КодТовара' и 'Количество'. На изменение поля 'Количество' вешаем:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Количество_BeforeUpdate(Cancel As Integer)
 
ТекущийКод=me![Код]
'Предполагаем, что КодТовара - текстовое поле
'Иначе ТекущийКод=Format(me![Код])
 
ВведенноеКоличество=me![Количество]
 
ОстатокНаСкладе = DSum('[Количество]';'Поступления';'[КодТовара]=''&ТекущийКод&''')-DSum('[Количество]';'Продажи';'[КодТовара]=''&ТекущийКод&''') 'Остаток рассчиты
 
If ОстатокНаСкладе < ВведенноеКоличество then
 
DoCmd.CancelEvent  'Отменяем изменение поля
MsgBox('Недостаточное количество на складе!')
 
EndIf
 
End Sub
0 / 0 / 0
Регистрация: 01.04.2008
Сообщений: 5
14.04.2008, 18:41  [ТС] 4
Текущее состояние склада вычисляется запросом и выводится в форму продажи как субформа.
0
msd
14.04.2008, 21:23 5
Можно взять данные из того самого запроса:
Visual Basic
1
ОстатокСклада=DLookUp('[Остаток]','ЗапросОстаток','[КодТовара]=''+ТекущийКод+''')
Возможно, так будет побыстрее. Всё остальное остается таким, как в предыдущем примере.
alexej
15.04.2008, 09:41 6
DlookUp это очень медленно. Сделай запрос без него.
msd
15.04.2008, 12:40 7
Так запрос уже есть. Как из него цифру вытащить? Если в запросе всего несколько тысяч строк, то тормоза не заметишь.
dbdev
15.04.2008, 14:21 8
Можно сделаь запрос с параметром, результат которого - одно число.
15.04.2008, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2008, 14:21
Помогаю со студенческими работами здесь

Как запретить пользователю видеть структуру БД
Есть postgres 11.5 Есть пользователь. Нужно что бы пользователь мог выполнять только хранимки. И...

Как запретить вводить пользователю буквы в TextBox?
if (n &gt; 6 || n &lt;= 1) { MessageBox.Show(&quot;N введено не корректно.&quot;,...

Как запретить пользователю завершать процесс приложения
Поковырял, многое но не нашел! Как сделать процесс системным? чтоб пользователь его не мог...

как запретить смотреть данные другому пользователю
Привет всем. У меня возник вопрос по передаче данных методом GET. В личном кабинете я формирую...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru