ERRO BOF OU EOF?

ROBSONSLZ 30/08/2015 09:57:59
#450700
Olá grupo,

Qual seria esse erro do projeto em anexo:
Run-time error [ô]3021[ô]:

BOF ou EOF são verdadeiros, ou registro atual foi excluido.
A operação solicitada pelo aplicativo requer um registo atual.
(O mesmo não tem registro cadastrado no banco de dados)

Este erro ocorre quando tento cadastrar um membro.

Alguem teria uma lógica do erro ocorrido?

#Obs: Arquivo em anexo com Banco e uma ocx

TUNUSAT 30/08/2015 10:24:21
#450701
ROBSONSLZ,

Quando as duas [Ô]flags[Ô]:
- BOF = Begin Of File;
- EOF = End Of File;

Estão verdadeiras, quer dizer que a tabela, em questão, não tem nenhum registro.
Como você está cadastrando um registro, então a mensagem é um tanto [Ô]estranha[Ô], por que não inserção não necessário verificar nada além de uma [Ô]PK duplicada[Ô] ... não pode duplicar a chave primária, mas caso não tenha registros no banco de dados, então com certeza não existe chave primária duplicada e se tiver chave estrangeira, verificar se ela já está cadastrada (para não ficar com um registro órfão).
Precisa ver o que esta [Ô].OCX[Ô] está fazendo... experimente colocar (por fora e no braço) um registro dentro da base de dados. Depois volte para o programa e cadastre OUTRO registro (não duplique a chave). Se cadastrar normalmente, possivelmente a [Ô].OCX[Ô] não está gerenciando corretamente tabelas vazias...

veja também:
================================================
[RESOLVED] Run-Time Error [ô]3021[ô] No Current Record Found
http://www.vbforums.com/showthread.php?778905-RESOLVED-Run-Time-Error-3021-No-Current-Record-Found
================================================
run-time error [ô]3021[ô]
http://www.dreamincode.net/forums/topic/68150-run-time-error-3021/
================================================
IN Vb6.0 runtime error 3021 either bof or eof is true
http://www.codeproject.com/Questions/52954/IN-Vb-runtime-error-either-bof-or-eof-is-t
================================================
[HELP] run-time error [Ô]3021[Ô] : no current record vb6
http://forum.zwame.pt/threads/help-run-time-error-3021-no-current-record-vb6.718275/
================================================

[][ô]s,
Tunusat.
ROBSONSLZ 30/08/2015 10:39:29
#450702
Citação:

:
ROBSONSLZ,

Quando as duas [Ô]flags[Ô]:
- BOF = Begin Of File;
- EOF = End Of File;

Estão verdadeiras, quer dizer que a tabela, em questão, não tem nenhum registro.
Como você está cadastrando um registro, então a mensagem é um tanto [Ô]estranha[Ô], por que não inserção não necessário verificar nada além de uma [Ô]PK duplicada[Ô] ... não pode duplicar a chave primária, mas caso não tenha registros no banco de dados, então com certeza não existe chave primária duplicada e se tiver chave estrangeira, verificar se ela já está cadastrada (para não ficar com um registro órfão).
Precisa ver o que esta [Ô].OCX[Ô] está fazendo... experimente colocar (por fora e no braço) um registro dentro da base de dados. Depois volte para o programa e cadastre OUTRO registro (não duplique a chave). Se cadastrar normalmente, possivelmente a [Ô].OCX[Ô] não está gerenciando corretamente tabelas vazias...

veja também:
================================================
[RESOLVED] Run-Time Error [ô]3021[ô] No Current Record Found
http://www.vbforums.com/showthread.php?778905-RESOLVED-Run-Time-Error-3021-No-Current-Record-Found
================================================
run-time error [ô]3021[ô]
http://www.dreamincode.net/forums/topic/68150-run-time-error-3021/
================================================
IN Vb6.0 runtime error 3021 either bof or eof is true
http://www.codeproject.com/Questions/52954/IN-Vb-runtime-error-either-bof-or-eof-is-t
================================================
[HELP] run-time error [Ô]3021[Ô] : no current record vb6
http://forum.zwame.pt/threads/help-run-time-error-3021-no-current-record-vb6.718275/
================================================

[][ô]s,
Tunusat.



O registro do banco (da tabela) não esta duplicado.

O erro ocorre ao salvar os dados incluido.

A OCX faz refencia ao textbox do projeto.

Grato
TUNUSAT 30/08/2015 11:52:45
#450703
Mas ROBSONSLZ,

Quando as duas [Ô]flags[Ô] são [Ô]true[Ô] não tem registros na base de dados.
Não tem como incluir um registro diretamente no banco de dados sem passar pelo programa ou pelo OCX?

[][ô]s,
Tunusat.
ROBSONSLZ 30/08/2015 13:02:24
#450706
Citação:

:
Mas ROBSONSLZ,

Quando as duas [Ô]flags[Ô] são [Ô]true[Ô] não tem registros na base de dados.
Não tem como incluir um registro diretamente no banco de dados sem passar pelo programa ou pelo OCX?

[][ô]s,
Tunusat.



Incluir um registro no banco de dados (direto) dá o mesmo erro.
OMAR2011 30/08/2015 14:35:42
#450707
Resposta escolhida
Testa deste jeito, ai vai ver como modificar.
Sub Carrega_Campos()

[ô]Erro
[txt-color=#e80000] Rst.AddNew[/txt-color]
Rst!CodiCont = vCodiUsua & LblCodi.Caption
Rst!FotoCont = StrImagemBanco
Rst!IDFoto = vCodiUsua & LblCodi.Caption
Rst!FuncaoCont = Trim(CboFuncao)
Rst!NomeCont = Trim(TxtNome.Text)
Rst!SexoCont = Trim(CboSexo)
Rst!PaiCont = Trim(TxtPai.Text)
Rst!MaeCont = Trim(TxtMae.Text)
Rst!NascCont = Trim(TxtNasc.Text)
Rst!NatuCont = Trim(TxtNatu.Text)
Rst!NacioCont = Trim(TxtNacio.Text)
Rst!ProfiCont = Trim(TxtProfi.Text)
Rst!CivilCont = Trim(CboCivil)
Rst!ConjuCont = Trim(TxtConju.Text)
Rst!EndeCont = Trim(TxtEnde.Text)
Rst!BairCont = Trim(TxtBair.Text)
Rst!CEPCont = Trim(TxtCEP.Text)
Rst!CidaCont = Trim(TxtCida.Text)
Rst!UFCont = Trim(TxtUF.Text)
Rst!EmaiCont = Trim(TxtEmai.Text)
Rst!CeluCont = Trim(TxtCelular.Text)
Rst!RGCont = Trim(TxtRGS.Text)
Rst!OrgaoCont = Trim(TxtOrgao.Text)
Rst!ExpeCont = Trim(TxtExpe.Text)
Rst!CPFCont = Trim(TxtCPFs.Text)
Rst!FatorCont = Trim(CboFator)
Rst!AdmisCont = Trim(TxtAdmis.Text)
Rst!IdadeCont = Trim(TxtIdade.Text)
Rst!EntiCont = Trim(TxtEnti.Text)
Rst!MatriCont = Trim(TxtMatri.Text)
Rst!CategoCont = Trim(CboCatego)
Rst!EscolaCont = Trim(CboEscola)
Rst!ObseCont = Trim(TxtObse.Text)
Rst!CodiUsua = vCodiUsua
[txt-color=#e80000]Rst.Update[/txt-color]
End Sub
ROBSONSLZ 30/08/2015 15:16:05
#450709
Citação:

:
Testa deste jeito, ai vai ver como modificar.
Sub Carrega_Campos()

[ô]Erro
[txt-color=#e80000] Rst.AddNew[/txt-color]
Rst!CodiCont = vCodiUsua & LblCodi.Caption
Rst!FotoCont = StrImagemBanco
Rst!IDFoto = vCodiUsua & LblCodi.Caption
Rst!FuncaoCont = Trim(CboFuncao)
Rst!NomeCont = Trim(TxtNome.Text)
Rst!SexoCont = Trim(CboSexo)
Rst!PaiCont = Trim(TxtPai.Text)
Rst!MaeCont = Trim(TxtMae.Text)
Rst!NascCont = Trim(TxtNasc.Text)
Rst!NatuCont = Trim(TxtNatu.Text)
Rst!NacioCont = Trim(TxtNacio.Text)
Rst!ProfiCont = Trim(TxtProfi.Text)
Rst!CivilCont = Trim(CboCivil)
Rst!ConjuCont = Trim(TxtConju.Text)
Rst!EndeCont = Trim(TxtEnde.Text)
Rst!BairCont = Trim(TxtBair.Text)
Rst!CEPCont = Trim(TxtCEP.Text)
Rst!CidaCont = Trim(TxtCida.Text)
Rst!UFCont = Trim(TxtUF.Text)
Rst!EmaiCont = Trim(TxtEmai.Text)
Rst!CeluCont = Trim(TxtCelular.Text)
Rst!RGCont = Trim(TxtRGS.Text)
Rst!OrgaoCont = Trim(TxtOrgao.Text)
Rst!ExpeCont = Trim(TxtExpe.Text)
Rst!CPFCont = Trim(TxtCPFs.Text)
Rst!FatorCont = Trim(CboFator)
Rst!AdmisCont = Trim(TxtAdmis.Text)
Rst!IdadeCont = Trim(TxtIdade.Text)
Rst!EntiCont = Trim(TxtEnti.Text)
Rst!MatriCont = Trim(TxtMatri.Text)
Rst!CategoCont = Trim(CboCatego)
Rst!EscolaCont = Trim(CboEscola)
Rst!ObseCont = Trim(TxtObse.Text)
Rst!CodiUsua = vCodiUsua
[txt-color=#e80000]Rst.Update[/txt-color]
End Sub



#OMAR2011

Alteração testada:

O codigo não muda. (LblCodi) fica duplicado ao cadastrar o segundo membro.

Grato,
OMAR2011 30/08/2015 17:17:10
#450712
Sub Gera_Codigo()
Não é aconselhável usar isto.
Use numeração automática.
OMAR2011 30/08/2015 17:26:15
#450713
Sub Gera_Codigo()
Dim vTamTab As Integer
Dim x As Integer
If Rst.RecordCount = 0 Then
LblCodi.Caption = 1
Exit Sub
Else
Rst.MoveFirst
vTamTab = Rst.RecordCount
For x = 1 To vTamTab
If Rst!CodiCont <> x Then
Exit For
End If
Rst.MoveNext
Next x
[txt-color=#e80000] LblCodi.Caption = x + 1
End If[/txt-color]
End Sub

Um tanto estranho
Sub Carrega_Campos()

[ô]Erro
Rst.AddNew
Rst!CodiCont = vCodiUsua [txt-color=#e80000]& [/txt-color]LblCodi.Caption
ROBSONSLZ 30/08/2015 17:59:00
#450716
Citação:

:
Sub Gera_Codigo()
Não é aconselhável usar isto.
Use numeração automática.



Testado... para numeracao automatica.
Dá erro... (com ou sem o gera codigo)

OMAR2011 30/08/2015 21:51:27
#450726
Teste aqui e o erro desapareceu.
Tópico encerrado , respostas não são mais permitidas