Fórum Erro de compilação ao executar um relatório #580688
27/04/2017
0
Não consegui carregar a imagem do erro, então segue os dizeres:
Compile Error:
Method or data member not found
Que mensagem é essa? Como resolvo?
Esse é o código do botão quando eu clico:
Private Sub OKButton_Click()
If Not ValidarCampos Then
Exit Sub
End If
If optAnexo.Value = True Then
'anexo
If optAtivos.Value = True Then
PortariaAtivos
ElseIf optinativo.Value = True Then
PortariaInativos
End If
'listagem
ElseIf optListagem.Value = True Then
If optAtivos.Value = True Then
PortariaListagemAtivos
ElseIf optinativo.Value = True Then
PortariaListagemInativos
End If
End If
End SubEntão aparece a mensagem e quando dou OK para prosseguir cai nessas linhas e em destaque essa: optNumeroRegistro.Value. Confesso não tenho nem noção.
Public Function ValidarCampos() As Boolean
If optTodos.Value = False And optNumeroRegistro.Value = False And optSelecaoRegistro.Value = False Then
MsgBox "Selecione uma opção para o relatório."
ValidarCampos = False
Exit Function
ElseIf optNumeroRegistro.Value = True Then
If txtDe.Text = "" Or txtAte.Text = "" Then
MsgBox "Digite a faixa de registros para o relatório."
txtDe.SetFocus
ValidarCampos = False
Exit Function
End If
ElseIf optSelecaoRegistro.Value = True Then
If msGrupoFuncionariosSelecionados = "" Then
MsgBox "Selecione os registros para o relatório."
cmdPesquisa.SetFocus
ValidarCampos = False
Exit Function
End If
End If
ValidarCampos = True
End Function
Pjava
Curtir tópico
+ 0Posts
27/04/2017
Daniel Araújo
A mensagem está dizendo que um método ou atributo não foi encontrado. Qual a linha exata que o compilador está reclamando?
Posta a imagem do erro nesse site:
https://uploaddeimagens.com.br
Aí tu manda só link da imagem pra gente analisar.
Se a resposta for útil não esqueça de dar um like!
Gostei + 0
28/04/2017
Fabiano Carvalho
Gostei + 0
28/04/2017
Pjava
Gostei + 0
28/04/2017
Pjava
Private Sub OKButton_Click()
If Not ValidarCampos Then
Exit Sub
End If
If optAnexo.Value = True Then
'anexo
If optAtivos.Value = True Then
PortariaAtivos
ElseIf optinativo.Value = True Then
PortariaInativos
End If
'listagem
ElseIf optListagem.Value = True Then
If optAtivos.Value = True Then
PortariaListagemAtivos
ElseIf optinativo.Value = True Then
PortariaListagemInativos
End If
End If
End SubColoquei o Breakpoint nessa linha If Not ValidarCampos Then e quando dou um Shift+F8, dá a mensagem do erro. Fui na função ValidarCampos e coloquei o break na primeira linha. Conclusão, nem passa por ele, já explode na tela o erro. Abaixo o código da função:
Public Function ValidarCampos() As Boolean
If optTodos.Value = False And optNumeroRegistro.Value = False And optSelecaoRegistro.Value = False Then
MsgBox "Selecione uma opção para o relatório."
ValidarCampos = False
Exit Function
ElseIf optNumeroRegistro.Value = True Then
If txtDe.Text = "" Or txtAte.Text = "" Then
MsgBox "Digite a faixa de registros para o relatório."
txtDe.SetFocus
ValidarCampos = False
Exit Function
End If
ElseIf optSelecaoRegistro.Value = True Then
If msGrupoFuncionariosSelecionados = "" Then
MsgBox "Selecione os registros para o relatório."
cmdPesquisa.SetFocus
ValidarCampos = False
Exit Function
End If
End If
ValidarCampos = True
End FunctionGostei + 0
28/04/2017
Pjava
DT_LAUDO não é uma data, é uma string. Esse parâmetro eu coloquei, que é a minha alteração. Se eu executo a proc no banco, passando esse parâmetro, funciona. me retorna os dados esperados. Mas na aplicação não rola. Por deconhecer o VB, fico perdido no debug, apesar de já conhecer um pouco, mas eu não sei se preciso fazer mais coisas. essa é a declaração da Proc com meus dois parâmetros adicionados e o tal do prm.~
Public Function RelPortariaInativos(ByVal ID_XFC_INICIAL As Long, ByVal ID_XFC_FINAL As Long, ByVal data_periodo As Date, ByVal data_periodo_fim As Date, ByVal ID_EMP As Integer, ByVal ID_UNI_EMP As Integer, Optional ByVal ID_XFC_GRP As String = "", Optional ByVal DT_ADM As Date, Optional ByVal DT_DE_LAUDO As String, Optional ByVal DT_ATE_LAUDO As String) As Recordset
On Error GoTo e_List
Dim cn As Connection
Dim cmd As Command
Dim rs As Recordset
Set rs = New Recordset
' Prepara conexao com a Base de dados
Set cn = New Connection
cn.CursorLocation = adUseClient
Set cmd = New Command
Dim prm As Parameter
cmd.CommandText = "SP_CMO_SEL_PORTARIA_INATIVOS"
cmd.CommandType = adCmdStoredProc
Set prm = cmd.CreateParameter("@ID_XFC_INICIAL", adInteger, adParamInput, , ID_XFC_INICIAL)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@ID_XFC_FINAL", adInteger, adParamInput, , ID_XFC_FINAL)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@data_periodo", adDBTimeStamp, adParamInput, , data_periodo)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@data_periodo_fim", adDBTimeStamp, adParamInput, , data_periodo_fim)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@ID_EMP", adInteger, adParamInput, , ID_EMP)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@ID_UNI_EMP", adInteger, adParamInput, , ID_UNI_EMP)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@ID_XFC_GRP", adVarChar, adParamInput, 1000, ID_XFC_GRP)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@DT_ADM", adDBTimeStamp, adParamInput, , DT_ADM)
cmd.Parameters.Append prm
'-----------Alterado para receber a data de laudo(Paulo Correa)---------------
Set prm = cmd.CreateParameter("@DT_DE_LAUDO", adVarChar, adParamInput, , DT_DE_LAUDO)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("@DT_ATE_LAUDO", adVarChar, adParamInput, , DT_ATE_LAUDO)
cmd.Parameters.Append prm
'-----------------------------------------------------------------------------
cn.Open GetConnectionString()
Set cmd.ActiveConnection = cn
cmd.CommandTimeout = 0
'Executa a operacao e retorna um RecordSet
rs.Open cmd, , adOpenStatic, adLockReadOnly
Set RelPortariaInativos = rs
Set cmd = Nothing
Set cn = Nothing
Exit Function
e_List:
' Captura erro
If Not cn Is Nothing Then
If cn.Errors.Count > 0 Then
frmErro.txtNroDescricao = cn.Errors(0).NativeError
frmErro.txtMensagem = cn.Errors(0).Source & "-" & cn.Errors(0).Description
End If
Else
frmErro.txtMensagem = Err.Source & "-" & Err.Description
frmErro.txtNroDescricao = Err.Number
End If
frmErro.Show vbModal
' Limpa Variaveis
Set cmd = Nothing
Set cn = Nothing
End FunctionGostei + 0
Clique aqui para fazer login e interagir na Comunidade :)