EXCLUSAO NO DATAGRID
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
[
"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
[
O campo CODPROD_TTR é de autonumeração ? é a chave primária ? no BD..
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!
bem...
e qual campo é a chave primária?
e qual campo é a chave primária?
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 ?
Será necessario criar uma chave primária para funcionar o DATAGRID ?
naun tenho certeza... faça um teste...
Jean, funcionou mas esta muito lento na navegação, ou seja, quando eu navego para outro registro, o carregamento do grid é lento !
bem... ai é outro problema... provavelmente relativo a como vc carregou seu recordset...
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
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
bem... inicialmente... vc quer pegar todos os CODPROD_TTR que:
que iniciem com 200004
ou
que contenham 200004
???
que iniciem com 200004
ou
que contenham 200004
???
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
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
Tópico encerrado , respostas não são mais permitidas