DUVIDA EM FUNCAO - AVISOS
Olá pessoal bom dia
Estou usando varias classes em meu projeto e dentro delas eu tenho funcoes. Para todas estas funcoes esta aparecendo o seguinte aviso:
[Ô]A função [ô]Lista_Almoxarifados[ô] não retorna um valor em todos os caminhos de código. Uma exceção de referência nula poderá resultar em tempo de execução quando o resultado for usado.[Ô]
Gostaria de saber o que esta acontecendo, como faco para nao aparecer mais, e se isso podera ser um problema visto que o meu projeto esta compilando normalmente.
Estou usando varias classes em meu projeto e dentro delas eu tenho funcoes. Para todas estas funcoes esta aparecendo o seguinte aviso:
[Ô]A função [ô]Lista_Almoxarifados[ô] não retorna um valor em todos os caminhos de código. Uma exceção de referência nula poderá resultar em tempo de execução quando o resultado for usado.[Ô]
Gostaria de saber o que esta acontecendo, como faco para nao aparecer mais, e se isso podera ser um problema visto que o meu projeto esta compilando normalmente.
Amigo cada funçao tem de retornar um resultado.
Function somar(numero As Integer) As Integer
Dim valor1 As Integer
Dim valor2 As Integer
valor1 = 10
valor2 = 20
somar = (valor1 + valor2) * numero [ô]aki eu to retornando um valor para a minha funcao soma
End Function
Nesse caso de cima ela ira retornar um numero inteiro que multiplicando a soma de valor1 e valor2 pelo parametro [Ô]numero[Ô] , se suas funçoes nao precisam retornar dados troque-as para [Ô]SUB[Ô].
Segue link que explica mais...
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-as-diferencas-entre-sub-e-function
Function somar(numero As Integer) As Integer
Dim valor1 As Integer
Dim valor2 As Integer
valor1 = 10
valor2 = 20
somar = (valor1 + valor2) * numero [ô]aki eu to retornando um valor para a minha funcao soma
End Function
Nesse caso de cima ela ira retornar um numero inteiro que multiplicando a soma de valor1 e valor2 pelo parametro [Ô]numero[Ô] , se suas funçoes nao precisam retornar dados troque-as para [Ô]SUB[Ô].
Segue link que explica mais...
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-as-diferencas-entre-sub-e-function
Zero cal todas as funcoes retornam valores. Segue abaixo uma delas:
Function Lista_Almoxarifados()
[ô]String de comado SQL
Dim strSQL As String = [Ô]SELECT CODIGO, NOME FROM TBAlmoxarifados[Ô]
Try
ConexaoSQL = Conecta_Banco_SQL(StrConexaoSQL)
Da = ExecutaDataAdapter(ConexaoSQL, strSQL)
Dt = New DataTable
Da.Fill(Dt)
Return Dt
[ô]Tratamento de erro
Catch err As Exception
MessageBox.Show([Ô]Erro de Comando [Ô] & err.Message)
If ConnectionState.Open Then
ConexaoSQL.Close()
End If
End Try
End Function
Function Lista_Almoxarifados()
[ô]String de comado SQL
Dim strSQL As String = [Ô]SELECT CODIGO, NOME FROM TBAlmoxarifados[Ô]
Try
ConexaoSQL = Conecta_Banco_SQL(StrConexaoSQL)
Da = ExecutaDataAdapter(ConexaoSQL, strSQL)
Dt = New DataTable
Da.Fill(Dt)
Return Dt
[ô]Tratamento de erro
Catch err As Exception
MessageBox.Show([Ô]Erro de Comando [Ô] & err.Message)
If ConnectionState.Open Then
ConexaoSQL.Close()
End If
End Try
End Function
Citação::
Zero cal todas as funcoes retornam valores. Segue abaixo uma delas:
Function Lista_Almoxarifados()
[ô]String de comado SQL
Dim strSQL As String = [Ô]SELECT CODIGO, NOME FROM TBAlmoxarifados[Ô]
Try
ConexaoSQL = Conecta_Banco_SQL(StrConexaoSQL)
Da = ExecutaDataAdapter(ConexaoSQL, strSQL)
Dt = New DataTable
Da.Fill(Dt)
Return Dt
[ô]Tratamento de erro
Catch err As Exception
MessageBox.Show([Ô]Erro de Comando [Ô] & err.Message)
If ConnectionState.Open Then
ConexaoSQL.Close()
End If
End Try
End Function
Acho que vc tem que especificar o tipo que a função retorna
Cara, tente retirar o [txt-color=#0000f0]Return[/txt-color] de dentro do [txt-color=#0000f0]Try...Catch[/txt-color]
Claro que você terá de fazer um tratamento, caso dê erro
mas eu creio que o [Ô][txt-color=#0000f0]Return[/txt-color][Ô] não está sendo reconhecido pela função porque está dentro do bloco [txt-color=#0000f0]Try...Catch[/txt-color]
Claro que você terá de fazer um tratamento, caso dê erro
mas eu creio que o [Ô][txt-color=#0000f0]Return[/txt-color][Ô] não está sendo reconhecido pela função porque está dentro do bloco [txt-color=#0000f0]Try...Catch[/txt-color]
Pegudo voce tem razao. Foi so retirar o Return de detro do bloco Try... Cath que deu certo. Valeu pela dica, ajudou bastante.
Tópico encerrado , respostas não são mais permitidas