Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Арифметические операции с переменной / 15 сообщений из 15, страница 1 из 1
31.12.2004, 17:15:53
    #32852645
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Уважаемые коллеги! Во-первых, поздравляю всех участников форума и их близких с Новым Годом!
Ну и желаю соответственно все, что положено в таких случаях.

А, во-вторых, прошу помочь, что-то сам не догоняю в чем дело.
Единица к переменной плюсуется, но не минусуется!

Public intNumberOfOptCorrIsOn As Integer

Private Sub optSulfCorr_Click()
Me!optSulfCorr.Value = True
Let intNumberOfOptCorrIsOn = intNumberOfOptCorrIsOn + 1
End Sub

Private Sub optSulfCorr_DblClick(Cancel As Integer)
Me!optSulfCorr.Value = False
Let intNumberOfOptCorrIsOn = intNumberOfOptCorrIsOn - 1
End Sub

'Таких Click-DblClick 16 штук (на каждый ингредиент)

Private Sub cmdCheckAllOptCorrOn_Click()
If intNumberOfOptCorrIsOn = 0 Then
MsgBox "Не выбраны ингредиенты для сравнения", vbOKOnly
ElseIf intNumberOfOptCorrIsOn = 1 Then
MsgBox "Необходимо выбрать еще один ингредиент", vbOKOnly
ElseIf intNumberOfOptCorrIsOn = 2 Then
Me!cmdCheckCorr.SetFocus
Me!cmdCheckCorr.Enabled = True
ElseIf intNumberOfOptCorrIsOn > 2 Then
MsgBox "Можно выбрать только два ингредиента", vbOKOnly
Else
End If
End Sub
...
Рейтинг: 0 / 0
31.12.2004, 17:17:07
    #32852646
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Автоподпись:
Все! Профтопики на сегодня будем считать закрытыми. Марш ёлку наряжать :)
...
Рейтинг: 0 / 0
31.12.2004, 17:19:04
    #32852647
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
з.ы. А Вова Путин отладчик уже отменил? Или только в 23.55 отменит?
...
Рейтинг: 0 / 0
31.12.2004, 18:02:16
    #32852654
Арифметические операции с переменной
Дых, хи-хи...
ДаблКлик то отнимает меня, но перед ДаблКлик ВСЕГДА срабатывает Клик. Т.е. по Клику меня прибавляем, по ддДаблКлику меня отнимаем - получается, что я не отнимаюсь...
С НГ!
...
Рейтинг: 0 / 0
31.12.2004, 20:52:47
    #32852685
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
КДPrivate Sub cmdCheckAllOptCorrOn_Click()
If intNumberOfOptCorrIsOn = 0 Then
ElseIf intNumberOfOptCorrIsOn = 1 Then
ElseIf intNumberOfOptCorrIsOn = 2 Then
ElseIf intNumberOfOptCorrIsOn > 2 Then
Else
End If
End Sub
Вроде Select Case был бы нагляднее...

КД Me!cmdCheckCorr.SetFocus
Me!cmdCheckCorr.Enabled = True
Если перед этим Enabled = False, то SetFocus выдаст ошибку. Надо эти две строчки поменять местами.
...
Рейтинг: 0 / 0
01.01.2005, 12:42:41
    #32852757
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Ой, чой-то я про Click перед DoubleClick забыл...
Торопился, наверное, за праздничный стол.
Спасибо!
С наступившим!
...
Рейтинг: 0 / 0
05.01.2005, 08:23:09
    #32854043
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Идея правильная, только надо чуть исправить:
Private Sub optSulfCorr_DblClick(Cancel As Integer)
Me!optSulfCorr.Value = False
Let intNumberOfOptCorrIsOn = intNumberOfOptCorrIsOn - 2
End Sub
...
Рейтинг: 0 / 0
20.01.2005, 00:43:13
    #32873500
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Только я успокоился, как опять проблема. Ситуация, конечно, несколько надумана, но все же...
Private Sub optAmmSecond_Click()
Me!optAmmSecond.Value = True
Me!optAmm.Value = True
Let intNumberOfOptIngredientForSecondAxis = intNumberOfOptIngredientForSecondAxis + 1
End Sub

Private Sub optAmmSecond_DblClick(Cancel As Integer)
Me!optAmmSecond.Value = False
Let intNumberOfOptIngredientForSecondAxis = intNumberOfOptIngredientForSecondAxis - 2
End Sub
Попробовал БЫСТРО пощелкать на переключателе. Приложение реагирует неадекватно! Вроде как подвисает. Или при последующем Debug'е выдает, что значение intNumberOfOptIngredientForSecondAxis = -1! Впечатление, что в какой-то момент DblClick произошел без Click перед ним. Во-вторых, показывает, что Value этого переключателя = True, в то время как судя по отображению на форме должно быть False.
...
Рейтинг: 0 / 0
22.01.2005, 01:13:54
    #32878300
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Кто-нибудь может посоветовать что-нибудь дельное по этому поводу?
...
Рейтинг: 0 / 0
22.01.2005, 11:25:05
    #32878406
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
КДКто-нибудь может посоветовать что-нибудь дельное по этому поводу?
2 варианта:
1. Не париться (забить), ибо
КДСитуация, конечно, несколько надумана
2. Не заморачиваться (отказаться от использования Click в связке с DblClick; возможно, отказаться от переключателей в пользу более подходящих контролов)
...
Рейтинг: 0 / 0
22.01.2005, 12:50:18
    #32878464
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Нет, ну как "надумана". Дело в том, что некоторые пользователи начинают думать "выбрать-не выбрать" и процесс размышления сопровождают щелчками мыши. Не париться, конечно, проще. Но грамотно работающее приложение должно предусматривать разные ситуации. "Кабина лифта должна выдерживать прямое попадание самого необученного академика".
А какие другие контролы я мог бы применить, чтобы разрешить эту проблему?
Я попробовал не присваивать значение переменной сразу после кликов:

Private Sub optSulfCorr_Click()
Me!optSulfCorr.Value = True
Rem Let intNumberOfOptCorrIsOn = intNumberOfOptCorrIsOn + 1
End Sub

Private Sub optSulfCorr_DblClick(Cancel As Integer)
Me!optSulfCorr.Value = False
Rem Let intNumberOfOptCorrIsOn = intNumberOfOptCorrIsOn - 1
End Sub

А проверку производить уже потом в зависимости от значения Value. Но и это не решило проблему (Value тоже воспринимается не так - см. выше)!
...
Рейтинг: 0 / 0
22.01.2005, 14:39:39
    #32878552
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Поддерживаю AlexJuice .
Не стоит пользовать двойной клик для действия противоположного клику.
...
Рейтинг: 0 / 0
22.01.2005, 15:38:33
    #32878584
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
КДА какие другие контролы я мог бы применить
SpinButton подойдет?
...
Рейтинг: 0 / 0
23.01.2005, 00:20:22
    #32878758
Элеонора
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
не подскажете, как в таблице сделать: значение поле3 = значение поле1*значение поле2, а то у меня что-то ничего не получается :(
...
Рейтинг: 0 / 0
24.01.2005, 13:09:10
    #32879883
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметические операции с переменной
Элеоноране подскажете, как в таблице сделать: значение поле3 = значение поле1*значение поле2, а то у меня что-то ничего не получается :(
Для собственных вопросов следует заводить новый топик (см. Правила Форума)

Ответ на картинке:
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Арифметические операции с переменной / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]