ATUALIZACAO NO DATAGRID

USUARIO.EXCLUIDOS 18/07/2005 14:44:45
#94747
POSSUO DUAS TABELAS ONDE A PRIMEIRA EXIBO ATRAVES DE TEXBOX O NOME DO MEU PRODUTO E DENTRO DE UM DATAGRID, TODAS AS SUAS CARACTERISTICAS ( UM PRODUTO PARA MUITAS CARACTERISTICAS ) QUE ESTÃO NA SEGUNDA TABELA.
ATRAVES DE UMA INSTRUÇÃO SQL CONSIGO FILTRAR NO DATAGRID SOMENTE AS CARACTERISTICAS DO PRODUTO DA SEGUNDA TABELA.
A MINHA DÃÅ¡VIDA é COMO ATUALIZAR O DATAGRID DA SEGUNDA TABELA A CADA AVANÇO OU RECUO DOS REGISTROS DA PRIMEIRA TABELA, POIS UTILIZEI A INSTRUÇÃO ADODC1.Refresh NO CONTROLE ADO PARA ATUALIZAR E FUNCIONOU MAS ESTA MUITO LENTO NA TRANSIÇÃO DOS REGISTROS.
QUEM PUDER ME AJUDAR AGRADEÇO.
ALEXANDRE.SANTO 18/07/2005 19:22:48
#94798
Cara nao sei se entendi direito o que vc quer fazer...........Vc tem uma tabela de Produtos e uma tabela de caracteristica dos produtos??? bomm se for isso na tabela de caracteristica dos produtos deve ter um campo Codigo do Produto que no caso seria chave primaria da tabela de produtos.......bomm agora vamos para a instrucao: suponhamos q ADODC1 esteja puxando dados da tabela de Produtos e ADODC2 puxe dados da tabela de caracteristica dos produtos........agora coloque no evento MoveComplete do ADODC1 a seguinte instrucao:

Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)

vCodigo = Adodc1.Recordset!CodigoDoProduto
Adodc2.RecordSource = "SELECT * FROM CaracteristicaDoProduto WHERE CodigoDoProduto =" & vCodigo
Adodc2.Refresh

End Sub



USUARIO.EXCLUIDOS 19/07/2005 08:10:29
#94847
Valeu Alexandre por sua ajuda, mas o problema esta na lentidão para atualizar o controle ADODC, por exemplo, Adodc2.Refresh.

Executei o projeto em várias estações XP e funciona perfeitamente mas em estações Win98SE, independente do computador, os refresh são lentos demais, entende ?

Você entendeu o funcionamento do meu projeto, exceto que para a tabela "PRODUTO" eu abro via código e a tabela "CARACTERISTICAS" com objeto de controle ADODC pois o DATAGRID não trabalha no modo desvinculado, ou seja, eu não só carrego o DATAGRID mas executo exclusões, alterações e inclusões nesta tabela CARACTERISTICAS.

Código:

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\PRODUTO.mdb;Persist Security Info=False;Jet OLEDB:Database Password=banco"

Para cada avanço ou recuo de registro, executo esta rotina:

Sub CarregaCampos()
ÂÂÂ'tabela PRODUTO
mskcodprod.Text = rst1.Fields("CODPROD_PRODUTO")
txtdescprod.Text = rst1.Fields("DESCPROD_PRODUTO")
' carrega o DATAGRID com codigo do produto na tabela CARACTERISTICAS
Adodc1.RecordSource = "SELECT * From CARACTERISTICAS WHERE CODPROD = '" & mskcodprod.Text & "'"
Adodc1.Refresh ' atualização para carregar o DATAGRID, este comando deixa lento a navegação
Set gridmaquinas.DataSource = Adodc1 ' carrego o DATAGRID
End Sub
JEAN.JEDSON 19/07/2005 08:27:32
#94856
o mdac usado na máquina com win98 é o mesmo que vc tem na sua máquina?
USUARIO.EXCLUIDOS 19/07/2005 09:52:32
#94915
Jean, estou utilizando o MDAC mais recente em todas as máquinas e é espantoso a diferença de velocidade do refresh no ADODC quando executo no XP e quando executo no Win98!
O problema persiste!
JEAN.JEDSON 19/07/2005 10:06:01
#94919
a máquina é a mesma? digo em relação a configuração.
USUARIO.EXCLUIDOS 19/07/2005 10:27:24
#94936
Jean, fiz um teste interessante !

Em estações XP, se eu executar o aplicativo na rede ou na estação de trabalho, o desempenho é excelente e nas estações com Win98 somente é excelente o desempenho se executo localmente !
Acredito ser por ai o problema, não acha ?
JEAN.JEDSON 19/07/2005 10:29:57
#94940
bem... o banco fica em que máquina? win98 ou xp? digo o servidor... pq o 98 é meio burro para acessar dados em xp... tenta fazer ao contrário para testar... o banco no 98, e o sistema rodar no xp
Tópico encerrado , respostas não são mais permitidas