ERRO NA HORA DE GRAVAR DADOS

USUARIO.EXCLUIDOS 20/12/2006 14:38:21
#191218
Olá pessoal estou com um problema, vejam este erro anexo:

O que estou fazendo é o seguinte, faço uma pesquisa e o resultado vai pra msflaxgrid, após este momento eu quero gravar o resultado relacionando o resultado a um perfil....quando clico no botão gravar ele da o erro.

meu código:

Citação:

Set Tbpesq_crm = New ADODB.Recordset
Tbpesq_crm.CursorLocation = adUseClient
Tbpesq_crm.Open "Tbpesq_crm", con, adOpenKeyset, adLockOptimistic

For Lin = Dados.FixedRows To Dados.Rows - 1

If Tbpesq_crm.EOF Then 'And Tbpesq_crm.BOF Then
Tbpesq_crm.AddNew
acao = "inclu"
End If

'Lin = 1

'IDENTIFICAÇÃO
Tbpesq_crm("Perfil") = Cboperfil.Text
Tbpesq_crm("Codigo") = Dados.TextMatrix(Lin, 0)
Tbpesq_crm("sexo") = Dados.TextMatrix(Lin, 2)
Tbpesq_crm("nome") = Dados.TextMatrix(Lin, 1)
Tbpesq_crm("nasc") = Dados.TextMatrix(Lin, 4)

Tbpesq_crm.AddNew
Tbpesq_crm.Update
Tbpesq_crm.MoveLast
Lin = Lin + 1

Next Lin
Dados.Refresh
MsgBox "Dados Gravados", vbOKOnly

cbinicio.Text = ""
cbfinal.Text = ""
Cboperfil.Text = ""

Lin = 2
Call Limpar_Dados
Call Mostrar_dados
Dados.Rows = Lin
End If



Alguém pode me ajudar??????????????????????
OBS: meu banco é sql
muito obrigada
3LTON 20/12/2006 14:45:09
#191222
E q toda a linha que vc ta tentando adicionar esta vazia. provavelmente e algo com a sua variavel Lin, que relaciona-se a linha que vc quer adicionar.
USUARIO.EXCLUIDOS 20/12/2006 14:51:53
#191224
Eu pensei que pode ser a variável lin, mas não conseguir achar aonde pode estar o erro [S61]
3LTON 20/12/2006 14:54:35
#191225
qdo acontece o erro? ja na primeira vez que entra no laco?
USUARIO.EXCLUIDOS 20/12/2006 15:02:49
#191227
Isso mesmo!!! quando coloco o break ele para no "Tbpesq_crm.Update" (se coloco comentário ele da erro no "Tbpesq_crm.MoveLast"

JIRAIAA 20/12/2006 15:06:19
#191228
AMIGA BRUNA VEJA O SEGUINTE

VAMOS SUPORE QUE SUA CONSULTA NAO RETORNE NENHUM RGISTROU ENTAO ELE VAI ENTRAR AAQUI

If Tbpesq_crm.EOF Then 'And Tbpesq_crm.BOF Then
Tbpesq_crm.AddNew
acao = "inclu"
End If

DEPOIS DE TER ENTRADO AI ELE VAI ENTRAR NO SEU FOR
no final do form vc esta dando outro addNew.. isso com isso vc eta ja tinha feito no codigo anterior.

e no final somente um update.

tente fazer assim:
----------------
For Lin = Dados.FixedRows To Dados.Rows - 1

'Lin = 1

Tbpesq_crm.addNew
'IDENTIFICAÇÃO
Tbpesq_crm("Perfil") = Cboperfil.Text
Tbpesq_crm("Codigo") = Dados.TextMatrix(Lin, 0)
Tbpesq_crm("sexo") = Dados.TextMatrix(Lin, 2)
Tbpesq_crm("nome") = Dados.TextMatrix(Lin, 1)
Tbpesq_crm("nasc") = Dados.TextMatrix(Lin, 4)

Tbpesq_crm.Update
Lin = Lin + 1

Next Lin
Dados.Refresh
MsgBox "Dados Gravados", vbOKOnly

cbinicio.Text = ""
cbfinal.Text = ""
Cboperfil.Text = ""

Lin = 2
Call Limpar_Dados
Call Mostrar_dados
Dados.Rows = Lin
End If



SE MINHA RESPOSTA FOI UTIL ESCOLHA ELA E FECHEI O TÓ“PICO.
HUGOSSOUZA 20/12/2006 15:06:51
#191229
coloca o addnew antes dos campos:


'aqui
Tbpesq_crm.AddNew
Tbpesq_crm("Perfil") = Cboperfil.Text
Tbpesq_crm("Codigo") = Dados.TextMatrix(Lin, 0)
Tbpesq_crm("sexo") = Dados.TextMatrix(Lin, 2)
Tbpesq_crm("nome") = Dados.TextMatrix(Lin, 1)
Tbpesq_crm("nasc") = Dados.TextMatrix(Lin, 4)
Tbpesq_crm.Update

Tópico encerrado , respostas não são mais permitidas