2013-06-08 2 views
-3

Я хочу вызвать ошибку, если значение больше. ошибка, обнаруженная через msgbox, но проблема, с которой я столкнулся, заключается в том, чтобы выполнить дальнейшую задачу после щелчка на «OKAY», моя кодировка показана ниже, пожалуйста, помогите мне, поскольку docmd не работает, и я хочу закрыть форму после нажатия «OKAY»Ошибка в кодировании

Coding: -

Function Tokenincrease() 

    Dim Test As String 
    Test = MsgBox(" One Day One Token", vbExclamation + vbokayonly, "Sorry") 
    If Test = vbOK Then 
    DoCmd.OpenForm "Token Isuance Form LH" 
    Else 
     DoCmd.Close 
    End If 
End Function 
+1

Не могли бы вы уточнить, что вы спрашиваете? – gunr2171

+0

Я создал приложение, через которое мы выдаем ежедневные жетоны. у нашего руководства есть желание, чтобы за один день выходил только один токен. поэтому, если человек придет во второй раз, система запросит сообщение и я хочу закрыть форму, которая работает. для этого я написал кодировку в MODULE, появляется сообщение при входе во второй раз, но после нажатия кнопки «ОК» кнопка «Ошибка системы» на DOCMD.Close. – MUR

+0

@MUR, вы уверены, что этот вопрос не должен быть помечен ['vba'] (http://stackoverflow.com/tags/vba/info) или [' access-vba'] (http: // stackoverflow. COM/теги/доступ VBA/информация)? VB.Net и VBScript - это два очень разных языка, и ваш фрагмент кода не выглядит ни одним из этих двух языков. –

ответ

0

Я думаю, что вы пытаетесь получить vbOKOnly и у вас есть как vbokayonly

это действительно должны выглядеть следующим образом:

Function Tokenincrease() 

    If MsgBox("One Day One Token", vbExclamation & vbokonly, "Sorry") = vbOK Then 
    DoCmd.OpenForm "Token Isuance Form LH" 
    Else 
     DoCmd.Close 
    End If 
End Function 
+0

Дорогой логиколог Ошибка времени выполнения '5' Неверный вызов или аргумент процедуры – MUR

+0

Я был на своем Mac, и у меня не было Visual Studio. Позвольте мне взглянуть на него и сообщить вам несколько. – logixologist

+0

Я только что отредактировал его, попробуйте еще раз ... basicaly вам понадобилось «&» для комбинирования опций в окне сообщения – logixologist

1

Ваш код будет не закрыть форму, когда пользователь нажимает кнопку «О'Кей», потому что, если государства:

If Test = vbOK 

, что означает, если затем выполнит OpenForm. Чтобы закрыть форму, которую я предполагаю, вы имеете в виду вы хотите выполнить DoCmd.Close, то вы хотите

If Test <> vbOK 

Глядя Теги к этому вопросу это связано с VB.NET. Если это правильно, тогда есть лучшие способы открытия/закрытия форм, а также специальный класс MessageBox. Рекомендуется использовать их в качестве кода, который у вас очень похож на код VBScript/Office/Access.

EDIT 1: Вместо использования vbOK используйте OK или 1. http://msdn.microsoft.com/en-us/library/139z2azd(v=VS.80).aspx.

+0

Теперь я изменил кодировку, но все же ее не работает, когда я нажимаю Ok. Пока все еще открыто. ниже кодирования Функция Tokenincrease() Dim Test As String Test = MsgBox ("One Day One Знака", vbExclamation + vbOK, "Извините") Если тест <> vbOK Тогда DoCmd.Закрыть acForm, "Выдача дисплея Форма Обед", acSaveYes End If End Function – MUR

+0

Пожалуйста, смотрите обновленный ответ. – MotoSV

0

Изменение, как это ..

Function Tokenincrease() 

    Dim Test As MsgBoxResult 
    Test = MsgBox(" One Day One Token", MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly, "Sorry") 
    If Test = MsgBoxResult.OK Then 

     DoCmd.Close   

    End If 
End Function 
Смежные вопросы