Ниже код работал хорошо, пока я не добавил код для vbokcancel
сразил ... код ниже:VBA Если Постулаты путаница
If Me.results.ListIndex = -1 Or Me.userfolder.ListIndex = -1 Or
Me.choice.ListIndex = -1 Then
MsgBox "Please choose something to remove"
Else
If MsgBox("Are you sure you want to delete this user from this folder?", vbOKCancel) = vbOK Then
If Me.choice.Value = "Folder" Then
username = Me.results.Column(0)
prfolder = Me.results.Column(3)
strSQL = "DELETE tblRelationship.*, tblPra.praNo, tblFolder.folder FROM tblPra INNER JOIN (tblFolder INNER JOIN tblRelationship ON tblFolder.folderID = tblRelationship.folderID) ON tblPra.praID = tblRelationship.praID WHERE (((tblPra.praNo)='" & username & "') AND ((tblFolder.folder)='" & prfolder & "'));"
CurrentDb.Execute strSQL
Me.results.Requery
ElseIf Me.choice.Value = "Username" Then
prfolder = Me.results.Column(0)
strSQL = "DELETE tblRelationship.*, tblFolder.folder FROM tblPra INNER JOIN (tblFolder INNER JOIN tblRelationship ON tblFolder.folderID = tblRelationship.folderID) ON tblPra.praID = tblRelationship.praID WHERE (((tblFolder.folder)='" & prfolder & "'));"
CurrentDb.Execute strSQL
Me.results.Requery
End If
End If
End If
Он активирует раздел If MsgBox("Are you sure you want to delete this user from this folder?", vbOKCancel) = vbOK
, но если кнопка «ОК» щелкнул пропускает прямо до End If
и не запускает код внутри оператора IF. Теперь я подумал, что то, что я сделал, было совершенно «правовым» в кодировании, по-видимому, не ... какие-то идеи, что я сделал, чтобы испортить?
Если вы нажмете «Отмена», он сделает то, что я уже хочу, чтобы закрыть окно сообщения, и пользователь возвращается на тот же экран. Поэтому нет необходимости в заявлении Else, потому что он уже делает то, что Я хочу, чтобы это произошло.
Элемент 'If MsgBox' выглядит нормально. Вы уверены, что это не строки 'If Me.choice.Value = ..', которые не работают? Добавьте строку 'MsgBox 'Нажмите ОК" 'непосредственно после вопроса. – Andre
Привет, я добавил это, и он все еще пропускает второй «Конец If», не показывая «Clicked Ok» –
Хмм. Это ваш оригинальный код или вы что-то изменили, когда вы разместили вопрос? Попробуйте это в окне Immediate (Ctrl + G): 'Если MsgBox (« Вы уверены, что хотите удалить этого пользователя из этой папки? », VbOKCancel) = vbOK Затем MsgBox« Нажмите ОК »' - он должен показать второй MsgBox, если вы нажмете OK. – Andre