USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Atualizar MSFlexgrid
Donizete
IBITINGA
SP - BRASIL
Postada em 16/10/2005 20:09 hs            
Num form tenho vários textboxes e um msflexgrid. Quando aciono o botão gravar os dados são gravados no BD. Tem como os dados gravados serem atualizados no msflex, após o acionamento do botão gravar? O teste que fiz o msflex só atualiza quando eu finalizo o aplicativo e retorno ao mesmo.
Uso: VB 6, Dao e Access XP.
Para carregar dados da tabela no msflex uso instrução SQL
 
Grato
 
Donizete
 
     
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
Postada em 17/10/2005 01:36 hs            
Ou vc da um flexgrid.clear e recarrega
OU tenta dar um flexgrid.refresh para ver se ele atualiza...
 
T+
     
Donizete
IBITINGA
SP - BRASIL
Postada em 23/10/2005 11:20 hs            
Ellicristian,
Tentei dar um refresh e não atualizou, não sei se estou usando o código correto. No botão gravar estou chamando o Form_load, ele até atualiza mas os registros saem duplicados. abaixo o código que estou utilizando. Poderia dar uma verificada?
 
Grato
 
Donizete
 
Private Sub cmdgravar_Click()
Tabela_Agenda.AddNew
Tabela_Agenda("nome") = txtnome.Text
Tabela_Agenda("cidade") = txtcidade.Text
Tabela_Agenda("estado") = txtestado.Text
Tabela_Agenda.Update
MsgBox "Cliente Gravado Com Sucesso"
Form_Load
End Sub
Private Sub Form_Load()
Set Agenda = OpenDatabase("C:TesteTeste.mdb", False)
Set Tabela_Agenda = Agenda.OpenRecordset("Teste", dbOpenDynaset)
Tabela_Agenda.MoveMin
Atualiza_Campos
Set Tabela_Agenda = Agenda.OpenRecordset("SELECT * FROM Teste order by nome")
Do While Not Tabela_Agenda.EOF
grid1.ColWidth(0) = 0
grid1.ColWidth(1) = 2000
grid1.ColWidth(2) = 1500
grid1.ColWidth(3) = 700
grid1.TextMatrix(0, 1) = "Nome"
grid1.TextMatrix(0, 2) = "Cidade"
grid1.TextMatrix(0, 3) = "Estado"
grid1.ColWidth(3) = 700
grid1.TextMatrix(grid1.Rows - 1, 1) = Tabela_Agenda.Fields(0).Value
grid1.TextMatrix(grid1.Rows - 1, 2) = Tabela_Agenda.Fields(1).Value
grid1.TextMatrix(grid1.Rows - 1, 3) = Tabela_Agenda.Fields(2).Value
grid1.Rows = grid1.Rows + 1
  Tabela_Agenda.MoveNext
Loop
grid1.Rows = grid1.Rows - 1
grid1.refresh
End Sub
 
 
     
JoãoCarlosjr
RIBEIRÃO PRETO
SP - BRASIL
Postada em 23/10/2005 12:40 hs            
Donizete tenta assim:
 
Private Sub cmdgravar_Click()
Tabela_Agenda.AddNew
Tabela_Agenda("nome") = txtnome.Text
Tabela_Agenda("cidade") = txtcidade.Text
Tabela_Agenda("estado") = txtestado.Text
Tabela_Agenda.Update
MsgBox "Cliente Gravado Com Sucesso"
'Linha adicionada
Tabela_Agenda.Close
Form_Load
End Sub
 
Private Sub Form_Load()
Set Agenda = OpenDatabase("C:TesteTeste.mdb", False)
Set Tabela_Agenda = Agenda.OpenRecordset("Teste", dbOpenDynaset)
Tabela_Agenda.MoveMin
Atualiza_Campos
Set Tabela_Agenda = Agenda.OpenRecordset("SELECT * FROM Teste order by nome")
'Linha adicionada
grid1.Clear
Do While Not Tabela_Agenda.EOF
grid1.ColWidth(0) = 0
grid1.ColWidth(1) = 2000
grid1.ColWidth(2) = 1500
grid1.ColWidth(3) = 700
grid1.TextMatrix(0, 1) = "Nome"
grid1.TextMatrix(0, 2) = "Cidade"
grid1.TextMatrix(0, 3) = "Estado"
grid1.ColWidth(3) = 700
grid1.TextMatrix(grid1.Rows - 1, 1) = Tabela_Agenda.Fields(0).Value
grid1.TextMatrix(grid1.Rows - 1, 2) = Tabela_Agenda.Fields(1).Value
grid1.TextMatrix(grid1.Rows - 1, 3) = Tabela_Agenda.Fields(2).Value
grid1.Rows = grid1.Rows + 1
  Tabela_Agenda.MoveNext
Loop
grid1.Rows = grid1.Rows - 1
grid1.refresh
End Sub
 
Isso irá resolver seu problema, e sem querer ser chato tente modar seu código para ADO, ele será bem mais limpo e dará menos problemas para vc.
 
Espero ter ajudado
 
T+

João Carlos Junior

Administrador de Redes - Windows 2003 Srv, Linux

    Desenvolvedor Visual Basic 6.0 com Access, SQL Server, VB .Net e Crystal Reports X

Iniciante em C# e ASP .NET

     
Donizete
IBITINGA
SP - BRASIL
Postada em 23/10/2005 19:13 hs            
João Carlos, blz!
código deu certo, obrigado
 
Quanto ao ADO estou lendo algumas apostilas.
 
Donizete
 
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página