MS Access «Ошибка компиляции: иначе без if»: я новичок ie, но код выглядит правильно, я что-то упустил? - PullRequest
1 голос
/ 10 апреля 2020

Для жизни я не могу найти проблему с этим кодом. Access постоянно говорит мне, что есть «ошибка компиляции без if». Когда я go отлаживаю, он останавливается на строке Elseif и выделяет 'me.cboKillRemaining'.

Я попытался прочитать о некоторых других, имеющих ту же проблему, и все они, похоже, были связаны с циклами. У меня есть al oop, который работает ниже, но я думаю, что эта проблема самодостаточна в моем коде ниже. Я также читал кого-то, кто исправил подобную проблему, используя вариант, а не строковую переменную и используя 'set', но я получаю ту же ошибку компиляции при попытке этого.

Пожалуйста, помогите!

Dim Result As String
Dim Path As String

    'Determine path
    If (IsNull(Me.cboKillRemaining) Or Me.cboKillRemaining = "No") And Me.txtRemClones > 0 Then
        Result = MsgBox("Create " & Me.txtNumofTags & " tags from " & Me.cboGroup & " and leave remaining " & Me.txtRemClones & " clones active?", vbYesNo, "Confirm transplant")
        If Result = vbYes Then Path = 1
        Else: Path = 4
        End If

    ElseIf Me.txtRemClones > 0 And Me.cboKillRemaining = "Yes" Then
        Result = MsgBox("Create " & Me.txtNumofTags & " tags from " & Me.cboGroup & ", kill remaining " & Me.txtRemClones & ", and inactivate clone group?", vbYesNo, "Confirm transplant")
        If Result = vbYes Then Path = 2
        Else: Path = 4
        End If

    Else 'None remaining do not need to ask to kill clones
        Result = MsgBox("Create " & Me.txtNumofTags & " tags from " & Me.cboGroup & " and inactivate clone group?", vbYesNo, "Confirm transplant")
        If Result = vbYes Then Path = 3
        Else: Path = 4
        End If
    End If

1 Ответ

1 голос
/ 10 апреля 2020

Вы не должны использовать тупой синтаксис, это не распространено. Потратьте еще несколько строк, и вы должны быть настроены. Также настройте декларации:

Dim Result As VbMsgBoxResult
Dim Path As Integer

    'Determine path
    If (IsNull(Me.cboKillRemaining) Or Me.cboKillRemaining = "No") And Me.txtRemClones > 0 Then
        Result = MsgBox("Create " & Me.txtNumofTags & " tags from " & Me.cboGroup & " and leave remaining " & Me.txtRemClones & " clones active?", vbYesNo, "Confirm transplant")
        If Result = vbYes Then 
            Path = 1
        Else
            Path = 4
        End If

    ElseIf Me.txtRemClones > 0 And Me.cboKillRemaining = "Yes" Then
        Result = MsgBox("Create " & Me.txtNumofTags & " tags from " & Me.cboGroup & ", kill remaining " & Me.txtRemClones & ", and inactivate clone group?", vbYesNo, "Confirm transplant")
        If Result = vbYes Then 
            Path = 2
        Else
            Path = 4
        End If

    Else 'None remaining do not need to ask to kill clones
        Result = MsgBox("Create " & Me.txtNumofTags & " tags from " & Me.cboGroup & " and inactivate clone group?", vbYesNo, "Confirm transplant")
        If Result = vbYes Then 
            Path = 3
        Else
            Path = 4
        End If
    End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...