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

Problema Com Meu Software...


tito

Pergunta

Bom, estou fazendu um programa, e o meu problema é que

eu insiro dados,....OK.....quando insiro outro dado e dou deletar

nele mesmo, ae, ele da o erro 3021,......no current record,.....

alguém saberia o porque????

o codigo de meus botoes de salvar e de deletar saum os

seguintes:

Private Sub cmdSalvar_Click()

If txtReferente.Text = "" Or txtMail.Text = "" Or txtResponsavel.Text = "" Or txtMeio.Text = "" Or txtPedido.Text = "" Then

MsgBox "Preencha todos os campos!", vbCritical, "Atualize! - Salvar"

Exit Sub

End If

AtualizaCampos 'Função que indica que os texts onde saum no banco

tbl.Update

dbank.Recordsets.Refresh

cmdIncluir.Enabled = True

cmdExcluir.Enabled = True

cmdAlterar.Enabled = True

cmdAvancar.Enabled = True

cmdVoltar.Enabled = True

cmdSalvar.Enabled = False

cmdFeito.Enabled = True

cmdCancelar.Enabled = False

MsgBox "Registro incluso com sucesso!", vbInformation, "Atualize! - Salvar"

tbl.MovePrevious

End Sub

Private Sub cmdExcluir_Click()

Dim excluirMsg As String

excluirMsg = MsgBox("Deseja excluir?", vbYesNo + vbQuestion, "Atualize! - Excluir")

If excluirMsg = vbYes Then

tbl.Seek "=", txtCodigo

tbl.Delete

dbank.Recordsets.Refresh

If tbl.BOF = False Then

Limpa

If tbl.RecordCount > 0 Then

tbl.MoveNext

AtualizaForm

num = num - 1

Exit Sub

End If

cmdExcluir.Enabled = False

cmdAlterar.Enabled = False

cmdAvancar.Enabled = False

cmdVoltar.Enabled = False

cmdSalvar.Enabled = False

cmdFeito.Enabled = False

cmdCancelar.Enabled = False

num = num - 1

Else

tbl.MovePrevious

AtualizaForm

End If

End If

End Sub

Se alguém puder me ajudar,...

muito obrigado,...obrigado mesmo

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

ah meu só tenho 10 anos eu ajudo no que posso

sabe como eu descobri este erro?

eu tava montando o programa de cadastro de funcionários pro meu pai daí eu usei ado e na hora do recordset eu percebi o erro dele

mas eu não tinha muita certeza vlw por afirmar minha resposta William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, não sei direito se seria isto, erei consultar, mas o próprio auto-completar do VB indicou Recordsets (utilização de DAO)....

Bom, mas mesmo assim,....valeu ae BEOC (Fiquei surpreendido em saber que tem 10 anos apenas,...) e valeu Willian...

Obrigado....

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

bom, seria o problema em que ele não encontra o registro no banco,...mas no fim das contas, ele acaba excluindo,....(quando se da load no form novamente).

Bom, eu já virei este programa,...já refiz tres vezes e o problema persiste,...

Eu to usando um meio de auto-numeração. - Será que isto tem algo a ver???

Eu já fiz um programa parecido, e o preenchimento era inteiro na mão,...não deu errado,...funcionou que era uma beleza,...

será que tem a ver isto???

bom,...sei lá,...

se puderem me ajudem ae,...

valeu,..

Link para o comentário
Compartilhar em outros sites

  • 0

Brother !!!

Não tem nada a ver trabalhar com auto-numeração.

É até bom fazer uma auto-numerção para maior controle de seus clientes.

Bom acho que isso pode até te ajudar....

Quando você excluir o campo tenta dá uma atualizadinha no seu BD cara, ao invés de você usar o Refresh tente fechar e abri-lo novamente, claro que sem que pareça isso ao usuário. Pois assim irá atualizar os campos do seu BD.

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0

Bom,....eu tentei nem deu também...

Usando Ado é mais facil será??? O porque ado e não dao,...existe muita diferença,.....se alguém tiver um tutorial sobre isto ae me ajudem,...

Grato,...

Victor,.

Link para o comentário
Compartilhar em outros sites

  • 0

Erros 3021 são por causa da falta de um identificador de EOF(End of File) ou BOF (Begin of File)

acrescenta no depurador de erros a seguinte linha:

if err.number = 3021 then

(Faça aqui as movimentações do banco)

(Ex: rs.recordset.movenext)

end if

falou aeee ! Vê se essa manha dá certo..... Isso só vai te ajudar caso você abra o depuração de erros......

Link para o comentário
Compartilhar em outros sites

  • 0

ahhh... com relação a diferença entre trabalhar com ADO e DAO são as seguintes:

Vou tentar te explicar um pouquinho sobre eles:

com DAO - é uma ramificação do Data Control por isso que leva o nome de Data Control Objects....... os itens que você irá utilizar são o Editmode etc..... e é somente aceito para Access e outros bancos como Dbase etc..

com ADO - Active X Data Objects - No lugar de (recordset.addnew) (recordset.update) (recordset.delete), você irá utilizar sintaxes SQL ele possui multiplas conexões com todos os bancos de dados no mundo..... Ou seja, você poderá contar também caso haja um blecaute no luz, ele não irá corromper o banco de dados ou quebrar o link como geralmente acontece com o Data Control e com o DAO !!!!

falou aeee.... Espero que você entenda um pouco sobre essas tecnologias de conexão com Banco de Dados

Ass: Fernando Nagai

E-mail: nagai_fernando@hotmail.com

ICQ: 67204495

Link para o comentário
Compartilhar em outros sites

  • 0

valeu ae carinhas,...

Viu willian,...é que muitas vezes eu escrevo do meu trabalho, e para não ficar logandu e deslogandu eu envio assim mesmo,...

Inclusive agora,...

Falow,...

Victor

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...