Ir para conteúdo
Fórum Script Brasil
  • 0

Recordsets Em Vb6


Deborah

Pergunta

Olá...

Tenho um sistema que faz cadastro de clientes e imprime contratos em Crystal Report.

Criei um código para imprimir contratos de vários clientes ao mesmo tempo selecionando os nomes destes numa ListBox de um form separado. Ao selecionar os nomes e clicar em Ok, a idéia é igualar dados de duas tabelas(uma que vai armazenar o nome selecionado para a impressão, e outra que possui todos os nomes cadastrados).

O problema é que não consigo igualar estes dados. O sistema alega a seguinte mensagem:

"Run-time error '3021':

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual."

Agradeço se alguém puder me ajudar...

Até...

Déborah

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá Decio! smile.gif

O código do formulário separado se encontra abaixo com a área de erro demarcada:

Option Explicit

'Este Running vai verificar se a aplicação está ou não em execução:

Dim Running As Boolean

Private Sub CMDCancel_Click()

'Para cancelar a impressão e fechar o formulário com a listagem dos nomes que foram selecionados em form activate:

If Running Then

Running = False

Else

Unload Me

End If

End Sub

Private Sub CMDOK_Click()

'Para salvar os registros de uma tabela para outra

Running = True

Screen.MousePointer = 13

lstRelatorio.Enabled = False

CMDOK.Enabled = False

pg.Max = lstRelatorio.ListCount - 1

pg.Value = 0

pg.Visible = True

DoEvents

Dim I As Long, ID As Long

With ModMut.infmut.data

.con.Execute "delete from tbPrint"

.rsRel.Requery

For I = 0 To lstRelatorio.ListCount - 1

If lstRelatorio.Selected(I) Then

.rsRel.Find "Registro = " & lstRelatorio.ItemData(I), , , 1

'Salvar na outra tabela

.rsRel.AddNew

'Após o sistema ter lido o evento o evento "Private Sub Form_Activate()",

blink.gif ELE ALEGA ERRO NA LINHA ABAIXO unsure.gif

(ler a mensagem no final do código):

sad.gif .rsRel!nomemut = .rsMut!nomemut

.rsRel!cpfmut = .rsMut!cpfmut

.rsRel.Update

.rsRel.UpdateBatch

End If

pg.Value = I

DoEvents

If Not Running Then GoTo AbortProcess

Next

End With

Unload Me

Dim x As New frmRelatorio

Load x

x.Show

Screen.MousePointer = 0

Exit Sub

AbortProcess:

lstRelatorio.Enabled = True

CMDOK.Enabled = True

pg.Visible = False

pg.Value = 0

With ModMut.infmut.data

.con.Execute "delete from tbPrint"

.rsRel.Requery

.rsRel.MoveFirst

End With

Screen.MousePointer = 0

End Sub

Private Sub Form_Activate()

DoEvents

With ModMut.infmut.data

Screen.MousePointer = 11

.rsRel.Filter = ""

.rsMut.MoveFirst

pg.Visible = True

pg.Max = .rsMut.RecordCount

pg.Value = 0

While Not .rsMut.EOF

If Not (IsNull(.rsMut!nomemut) Or IsNull(.rsMut!cpfmut)) Then

lstRelatorio.AddItem .rsMut!nomemut

lstRelatorio.ItemData(lstRelatorio.ListCount - 1) = .rsMut!registro

End If

.rsMut.MoveNext

pg.Value = pg.Value + 1

Wend

Screen.MousePointer = 0

pg.Visible = False

End With

End Sub

Quando o sistema lê a linha demarcada ele notifica a seguinte mensagem:

"Run-time error '3021':

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual."

Agradeço se puder me ajudar....

Abraços,

Déborah

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe Deborah. Não consegui achar o erro .

Se você não resolveu ainda , eu sugiro você colocar o código que está no Form_Activate em um botão só para ver o que acontece.

Primeiro você clica nele, aguarda ao resultado , e depois você clica no outro botão que faz a cópia.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...