2015-06-30 3 views
1

Я пытаюсь настроить форму пользователя, которая будет использоваться для выполнения заказов. например каждый раз, когда вы нажимаете кнопку «Капучино», он увеличит текстовое поле на единицу, указывая, что вы заказываете 1, 2, 3 и т. д.Обновление текстового окна с каждым нажатием кнопки

Насколько я могу получить, нужно только заполнить текстовое поле один раз. Каждый дополнительный щелчок ничего не делает. Это код, который у меня есть для этого. Я попробовал объявить num публичным. Я думал, что это может быть частью проблемы, но, похоже, это не имеет значения. Может быть, это проблема с выбором типа, поскольку она является «текстовым» полем, и я пытаюсь рассматривать ее как целую?

Private Sub Capuccino_Click() 

    If (Cap_qty.Value = Null) Then 
    Dim num As Integer 
    num = 1 
    Cap_qty.Value = Cap_qty.Value + num 
    ElseIf (Cap_qty.Value = IsNotNull) Then 
     num = num + 1 
     Cap_qty.Value = num 
     'Cap_qty.Value = num + 1 
     'num = Cap_qty.Value 

    End If 
End Sub 
+0

Почему бы вам просто не использовать кнопку спина? http://stackoverflow.com/questions/11116808/numeric-up-down-control-in-vba –

+0

Кроме того, 'Null' и' IsNotNull' не существуют в VBA, попробуйте 'vbNullString' и' <> ' (не равным). –

ответ

0

Ну, это имеет значение. Я посмотрел на что-то, что говорило мне использовать Null, IsNotNull. Мне удалось заставить его работать со следующим, что в настоящий момент не имеет смысла для меня, мне придется выяснить, почему он работает таким образом. Я предполагаю, что есть некоторая вводная действие происходит, что позволяет мне делать математику с укусами

Private Sub CommandButton1_Click()

Если (TextBox1.Value = vbNullString) Тогда

TextBox1.Value = 1 Else

TextBox1.Value = TextBox1.Value + 1 End If

End Sub

Смежные вопросы