2012-06-18 2 views
1

У меня была проблема в последнее время, где, если я вызову sub с msgbox.styleyesno, он не вернется к исходному суб, который его вызвал.Sub не продолжается после другого sub с msgbox.yesno называется

Это мой код: Sub1:

Private Sub cmbLeegmaken_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbLeegmaken.SelectedIndexChanged 
    Tabel_Leegmaken(cmbLeegmaken.Text) 
    Hide_Leegmaken() 
    Loadtable() 
End Sub 

Вызывается суб:

Sub Tabel_Leegmaken(ByVal Tabelnaam As String) 
    MsgBox("Weet je zeker dat je de tabel " & Tabelnaam & " volledig wilt leegmaken?", MsgBoxStyle.YesNo) 
    If vbYes Then 
     Dim QuerVerwijdertabel As New SqlCommand("TRUNCATE TABLE " & Tabelnaam, connection) 
     QuerVerwijdertabel.ExecuteNonQuery() 
    End If 
End Sub 

Проблема заключается в том, что после того, как суб Tabel_Leegmaken заканчивается, он не вернется в «Private Sub cmbLeegmaken_SelectedIndexChanged ".

Я не знаю, имеет ли он какое-либо отношение к msgbox, который там называется или нет, но я просто не могу заставить его работать (хотя это, вероятно, небольшая ошибка, которую я просто не могу кажутся пятнами> <).

Заранее благодарен!

+0

В верхней части вашего кода или в свойствах проекта установите опцию Strict On. Затем исправьте любые ошибки, которые могут появиться. –

ответ

1

Я думаю, что вы имеете в виду, чтобы написать:

Sub Tabel_Leegmaken(ByVal Tabelnaam As String) 
    If MsgBox("Weet je zeker dat je de tabel " & Tabelnaam & " volledig wilt leegmaken?", MsgBoxStyle.YesNo) = vbYes Then 
     Dim QuerVerwijdertabel As New SqlCommand("TRUNCATE TABLE " & Tabelnaam, connection) 
     QuerVerwijdertabel.ExecuteNonQuery() 
    End If 
End Sub 
0

Я думаю, что вы должны изменить код в MsgBox. Я проверил код, который ниже, который работает нормально:

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
    LaunchHere(ComboBox1.Text) 
    MessageBox.Show("Back into Main ComboBox1_SelectedIndexChanged") 
End Sub 

Sub LaunchHere(ByVal abc As String) 
    Dim response As MsgBoxResult 
    response = MsgBox("Hello from inside Launch", MsgBoxStyle.YesNo, "Title") 
    If response = MsgBoxResult.Yes Then 
     MessageBox.Show("Inside Launch Here and used YES") 
    Else 
     MessageBox.Show("Inside Launch Here and used NO") 
    End If 
End Sub 
Смежные вопросы