EXCLUSAO NO DATAGRID

USUARIO.EXCLUIDOS 18/07/2005 08:55:04
#94636
Amigos, estou carregando o datagrid com uma tabela em Access onde alteração e inclusão de valores ocorrem normalmente mas quando tento excluir um registro onde o campo maquina possui valores iguais ocorre o seguinte erro :

"Informações insuficientes ou incorreta para a coluna chave. Muitas linhas foram afetadas pela atualização."

Quando fecho a mensagem todos os campos com valores iguais são excluidos da tabela, o campo índice não estou carregando no datagrid, mas mesmo carregando o erro ocorre.
No aguardo de uma ajuda,

Paulo

O código:

Private Sub Command1_Click()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TTR.mdb;Persist Security Info=False;Jet OLEDB:Database Password=pera"
Adodc1.RecordSource = "SELECT * From MAQUINAS WHERE CODPROD_TTR like 200004"
Set gridmaquinas.DataSource = Adodc1
gridmaquinas.Refresh
End Sub
[
MAICONLS 18/07/2005 09:10:01
#94640
O campo CODPROD_TTR é de autonumeração ? é a chave primária ? no BD..
USUARIO.EXCLUIDOS 18/07/2005 09:31:28
#94652
O campo CODPROD_TTR é índice com duplicação autorizada mas não é chave primaria e não estou carregando este campo no DATAGRID, mas mesmo carregando o problema persiste!
JEAN.JEDSON 18/07/2005 09:34:04
#94653
bem...
e qual campo é a chave primária?
USUARIO.EXCLUIDOS 18/07/2005 10:00:14
#94665
Jean , veja a imagem da tabela que enviei para você, ela não tem chave primária !
Será necessario criar uma chave primária para funcionar o DATAGRID ?
JEAN.JEDSON 18/07/2005 10:08:53
#94668
naun tenho certeza... faça um teste...
USUARIO.EXCLUIDOS 18/07/2005 10:48:07
#94685
Jean, funcionou mas esta muito lento na navegação, ou seja, quando eu navego para outro registro, o carregamento do grid é lento !
JEAN.JEDSON 18/07/2005 11:28:34
#94701
bem... ai é outro problema... provavelmente relativo a como vc carregou seu recordset...
USUARIO.EXCLUIDOS 18/07/2005 11:39:24
#94706
Acredito que deve ser a maneira de carregamento mas em estações XP a navegação dos registros é instantanea mas em estações Win98Se existe uma demora irritante.
O modo de carregamento eu ja te enviei e vou postar no forum para que todos possam ajudar caso exista outra maneira de carregamento otimizado.
Obrigado.

Private Sub Command1_Click()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TTR.mdb;Persist Security Info=False;Jet OLEDB:Database Password=uvas"
Adodc1.RecordSource = "SELECT * From MAQUINAS WHERE CODPROD_TTR like 200004"
Set gridmaquinas.DataSource = Adodc1
gridmaquinas.Refresh
End Sub
JEAN.JEDSON 18/07/2005 11:46:41
#94710
bem... inicialmente... vc quer pegar todos os CODPROD_TTR que:

que iniciem com 200004
ou
que contenham 200004

???
USUARIO.EXCLUIDOS 18/07/2005 11:52:49
#94713
A rotina original é:

Private Function CarregaCampos()

mskcodprod.Text = rst1.Fields("CODPROD_TTR")
txtdescprod.Text = rst1.Fields("DESCPROD_TTR")

' carrega o DATAGRID com codigo do produto
Adodc1.RecordSource = "SELECT * From MAQUINAS WHERE CODPROD_TTR = '" & mskcodprod.Text & "'"
Adodc1.Refresh
Set gridmaquinas.DataSource = Adodc1

End sub
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas