MS FLEXGRID
olá pessoal....
tenho um form de cadastro de clientes com varios campos (nome, end, telefone...)
nele eu posso adicionar, editar e excluir clientes, no mesmo form eu tenho um MS FlexGrid que lista todos os clientes já cadastrados...
quando eu salvo um novo cliente eu queria que o FlexGrid mostrasse o novo cliente cadastrado sem ter que fechar e abrir o form novamente..
se alguem puder me ajudar ficarei muito grato....
Deus abençoe a todos !
tenho um form de cadastro de clientes com varios campos (nome, end, telefone...)
nele eu posso adicionar, editar e excluir clientes, no mesmo form eu tenho um MS FlexGrid que lista todos os clientes já cadastrados...
quando eu salvo um novo cliente eu queria que o FlexGrid mostrasse o novo cliente cadastrado sem ter que fechar e abrir o form novamente..
se alguem puder me ajudar ficarei muito grato....
Deus abençoe a todos !
Não sei se funciona, mas tente usar um :
Ou assim que adicionar o novo cliente somente adicione-o ao final do Grid..
Refresh 'Isso logo após salvar um novo registro de cliente
Ou assim que adicionar o novo cliente somente adicione-o ao final do Grid..
não funcionou com o refresh ! não sei porque...
Sabe o que pode fazer...criar uma função para atualização do Grid..a mesma que mostra os valores normalmente e, sempre que adicionar um novo cliente, chamá-la !!
Ok ?
Ok ?
então, eu criei a função chamada: carrega_flex, veja !
Sub carrega_flex()
Set tabClientes = BD.OpenRecordset("select * from Clientes order by codigo")
Dim i As Integer
i = 1
Do Until tabClientes.EOF
Flex.Rows = i + 1
Flex.TextMatrix(i, 0) = tabClientes("codigo")
Flex.TextMatrix(i, 1) = tabClientes("telefone")
Flex.TextMatrix(i, 2) = tabClientes("nome")
Flex.TextMatrix(i, 3) = tabClientes("endereco")
Flex.TextMatrix(i, 4) = tabClientes("numero")
Flex.TextMatrix(i, 5) = tabClientes("complemento")
Flex.TextMatrix(i, 6) = tabClientes("bairro")
Flex.TextMatrix(i, 7) = tabClientes("celular")
Flex.TextMatrix(i, 8) = tabClientes("datacad")
tabClientes.MoveNext
i = i + 1
Loop
End Sub
eu a chamo no form_load(), certo ?
e tambem depois que eu salvo (botao salvar)
exemplo:
salvar_click()
insert into pa, pa, pa, pa.......certo ?
' e depois
carrega_flex, mas não sei por que não dá certo !!!
Sub carrega_flex()
Set tabClientes = BD.OpenRecordset("select * from Clientes order by codigo")
Dim i As Integer
i = 1
Do Until tabClientes.EOF
Flex.Rows = i + 1
Flex.TextMatrix(i, 0) = tabClientes("codigo")
Flex.TextMatrix(i, 1) = tabClientes("telefone")
Flex.TextMatrix(i, 2) = tabClientes("nome")
Flex.TextMatrix(i, 3) = tabClientes("endereco")
Flex.TextMatrix(i, 4) = tabClientes("numero")
Flex.TextMatrix(i, 5) = tabClientes("complemento")
Flex.TextMatrix(i, 6) = tabClientes("bairro")
Flex.TextMatrix(i, 7) = tabClientes("celular")
Flex.TextMatrix(i, 8) = tabClientes("datacad")
tabClientes.MoveNext
i = i + 1
Loop
End Sub
eu a chamo no form_load(), certo ?
e tambem depois que eu salvo (botao salvar)
exemplo:
salvar_click()
insert into pa, pa, pa, pa.......certo ?
' e depois
carrega_flex, mas não sei por que não dá certo !!!
Citação:
Set tabClientes = BD.OpenRecordset("select * from Clientes order by codigo")
Nessa linha, por acaso (só curiosidade), você não estaria reabrindo uma conexão com a tabela né ? =P
Bom, tente limpar o Flex pra depois usar a função..isso no botão Salvar ;)
muito estranho ! não funciona, continua o mesmo problema, você adiciona um novo cliente e só consegue vê-lo FlexGrid se fechar e abrir o form !!! isso é anti-ético !!! rs...
Caro Placidohum, vc tem q limpar o FlexGrid e redimenciona-lo novamente como se fosse a primeira q vc estivesse carregando os dados e depois chamar a rotina q carrega os dados no mesmo.
Por exemplo: No clique do botão Salvar faça com q a FlexGrid fique com a mesma configuração q quando vc abre o seu progrmana novamente ai depois é so chamar a rotina q carrega os dados...
Até mais...
Por exemplo: No clique do botão Salvar faça com q a FlexGrid fique com a mesma configuração q quando vc abre o seu progrmana novamente ai depois é so chamar a rotina q carrega os dados...
Até mais...
Sub carrega_flex()
Set tabClientes = BD.OpenRecordset("select * from Clientes order by codigo")
Dim i As Integer
i = 1
Flex.Clear
Flex.Rows = 1
Do Until tabClientes.EOF
Flex.Rows = i + 1
Flex.TextMatrix(i, 0) = tabClientes("codigo")
Flex.TextMatrix(i, 1) = tabClientes("telefone")
Flex.TextMatrix(i, 2) = tabClientes("nome")
Flex.TextMatrix(i, 3) = tabClientes("endereco")
Flex.TextMatrix(i, 4) = tabClientes("numero")
Flex.TextMatrix(i, 5) = tabClientes("complemento")
Flex.TextMatrix(i, 6) = tabClientes("bairro")
Flex.TextMatrix(i, 7) = tabClientes("celular")
Flex.TextMatrix(i, 8) = tabClientes("datacad")
tabClientes.MoveNext
i = i + 1
Loop
End Sub
oks?
Placido
Por favor, não abra vários tópicos sobre o mesmo assunto.
[txt-color=#0000ff]** O outro tópico foi excluÃdo. Não use termos como "Ajuda", "Help", "Por Favor", etc.... . Leia as Regras do Fórum [/txt-color]
[S25]
Por favor, não abra vários tópicos sobre o mesmo assunto.
[txt-color=#0000ff]** O outro tópico foi excluÃdo. Não use termos como "Ajuda", "Help", "Por Favor", etc.... . Leia as Regras do Fórum [/txt-color]
[S25]
desculpe, é que eu estou desesperado !!!!
Tópico encerrado , respostas não são mais permitidas