na base de dados(access) o campo codigo é numerico (inteiro longo), e quando rodo o programa com o codigo abaixo ele chama o sub form mas no momento de preencher os campos, acontece o erro 3021 "EOF ou BOF são verdadeiros, ou o registro atual foi excluido. A operação solicitada pelo aplicativo requer um registro atual."
eu tentei mudar o campo para descrição e a variavel string, os campos foram preenchidos corretamente, mas minha consulta deve ser pelo codigo por ter descrições iguais.
tentei fazer assim:
Private Sub flexCustos_Click()
Dim codigo As Integer
codigo = flexCustos.TextMatrix(flexCustos.Row, 0)
Call ConsultaCustosfilho.busca_codigo(codigo)
Call ConsultaCustosfilho.Show
End Sub
e no sub form tenho estes codigos
With Adodc1
.Visible = False
.ConnectionString = CNN
.RecordSource = sql
.EOFAction = adDoMoveMax
.Mode = adModeReadWrite
.Refresh
End With
txtCodigo.Text = Adodc1.Recordset.Fields("codigo").Value
txtDescrição.Text = Adodc1.Recordset.Fields("descricao").Value
txtFundo.Text = Adodc1.Recordset.Fields("fundo").Value
txtInceidencia.Text = Adodc1.Recordset.Fields("incidencia").Value
txtValor.Text = Adodc1.Recordset.Fields("valor").Value
txtPeriodo.Text = Adodc1.Recordset.Fields("periodo").Value
txtObservação.Text = IIf(IsNull(Adodc1.Recordset.Fields("observacao").Value), " ", Adodc1.Recordset.Fields("observacao").Value)
End Sub
Public Sub busca_codigo(codigoConsulta As Integer)
sql = "select * from custos where descricao = '" & codigoConsulta & "' "
End Sub