Я получаю это 3 предупреждения. Я хотел знать, как это исправить, спасибо заранее!Предупреждение Visual Basic
Предупреждения:
Предупреждение 1 Variable 'Id_Utilizador' используется, прежде чем оно было присвоено значение. Исключительное исключение ссылки может возникнуть во время выполнения. C: \ Users \ tiago \ Desktop \ Portaria \ Portaria_Programa \ Portaria_Programa \ frmAdmin_NewEdit.vb 332 37 Portaria_Programa
Предупреждение 2 Переменная «Id_Modulo» используется до того, как ей присвоено значение. Исключительное исключение ссылки может возникнуть во время выполнения. C: \ Users \ tiago \ Desktop \ Portaria \ Portaria_Programa \ Portaria_Programa \ frmAdmin_NewEdit.vb 332 60 Portaria_Programa
Предупреждение 3 Переменная 'DadosSai' используется до того, как ей присвоено значение. Исключительное исключение ссылки может возникнуть во время выполнения. C: \ Users \ Тьяго \ Desktop \ Портариа \ Portaria_Programa \ Portaria_Programa \ frmRel_EntradasSaidas.vb 222 37 Portaria_Programa
Код:
Private Sub NovoAcesso()
Dim Id_Utilizador
Dim Id_Modulo
Dim Count
If (cmbUtilizadores.Text <> "") Then
If (cmbModulos.Text <> "") Then
Cn.Open(cStringCon)
Rs.Open("Select count(id_utilizador), id_utilizador from acessos_utilizadores where nome_utilizador like '" & cmbUtilizadores.Text & "'", Cn)
Count = Rs.GetRows
Rs.Close()
If (Count(0, 0) > 0) Then
Id_Utilizador = Count(1, 0)
Rs.Open("Select count(id_modulo), id_modulo from acessos_modulos where nome_modulo like '" & cmbModulos.Text & "'", Cn)
Count = Rs.GetRows
Rs.Close()
If (Count(0, 0) > 0) Then
Id_Modulo = Count(1, 0)
Rs.Open("Select count(id_acesso) from acessos_acessos where id_utilizador = " & Id_Utilizador & "", Cn)
Count = Rs.GetRows
Rs.Close()
If (Count(0, 0) > 0) Then
Msg = "O utilizador seleccionado já dispõe de um acesso."
End If
Else
Msg = "Seleccione um módulo da lista."
End If
Else
Msg = "Seleccione um utilizador da lista."
End If
Cn.Close()
Else
Msg = "Seleccione um módulo da lista."
End If
Else
Msg = "Seleccione um utilizador da lista."
End If
If (Msg = "") Then
Cn.Open(cStringCon)
Cn.Execute("Insert into acessos_acessos(id_utilizador,id_modulo) " & _
"values (" & Id_Utilizador & ", " & Id_Modulo & ")")
Cn.Close()
ActGrid = 1
End If
Count = Nothing
End Sub
Включить опцию Strict – Plutonix
Вы действительно должны определить, какими будут ваши переменные. Как бы то ни было, компилятор считает, что вы объявляете их как объекты, которые необходимо создать. Если это не так, то, используя их до этого, вы, вероятно, получите исключение с нулевой ссылкой, а компилятор достаточно умен, чтобы определить это. Так. Как говорит @Plutonix - включите опцию strict, и она будет выделять ошибки в вашем коде, который вы пропустили. Слушайте Плутоникс - он знает много о программировании. –