Atualização de Tabela (DBLookupComboBox )
29/11/2016
0
Estou tendo um problema pra atualizar minhas tabelas no Delphi quando eu faco uma inserção.
Vamos la.
Tenho um formulário chamado de fTecidos e outro formulário chamado de fFornecedores
Imagem do formulário fTecidos
[url]http://prntscr.com/dd105l[/url]
Imagem do formulário fFornecedores
[url]http://prntscr.com/dd10mm[/url]
Vamos supor que estou fazendo um cadastro de tecido e no ato do cadastro não tenho cadastrado o fornecedor do tecido, então eu criei um atalho para abrir o formulário de Fornecedor [url]http://prntscr.com/dd1169[/url] no evento onclick do LabelFORNECEDOR coloquei o seguinte evento:
procedure TfTecidos.LabelFORNECEDORClick(Sender: TObject); begin fProcedures.CriarFormulario(TfFornecedores,fFornecedores); Lookup.ibAuxFornecedores.Close; Lookup.ibAuxFornecedores.Open; Lookup.ibAuxFornecedores.First; end;
É aberto o cadastro de Fornecedores. Preencho todos os campos necessários e o campo que me interessa na tabela Tecidos é o campo Fornecedor [url]http://prntscr.com/dd1274[/url]. La no formulário fTecidos coloquei um DBLookupComboBox (ele esta funcionando perfeitamente). Quando eu fecho o formulário de Fornecedor é pra ele atualizar o DBLookupComboBox correspondente ao Fornecedor dentro do formulário fTecidos.
Imagem do meu DM
[url]http://prntscr.com/dd132o[/url]
Imagem do DM que fiz pra deixar os Lookups
[url]http://prntscr.com/dd13r1[/url] (esse DM e de onde faço todas as ligações entre tabelas utilizando os DBLookupComboBox)
Comando do botão SAIR do formulário fFornecedores
procedure TfFornecedores.SpeedButtonSAIRClick(Sender: TObject); //SAIR DA JANELA CADASTRO DE FORNECEDORES begin Close; BaseDados.tabelaFornecedores.Cancel; BaseDados.tabelaFornecedores.Refresh; end;
Comando do botão GRAVAR do formulario fFornecedores
Comando do botão NOVO do formulário fTecidos
procedure TfTecidos.SpeedButtonNOVOClick(Sender: TObject); //NOVO REGISTRO begin DBEditTECIDO.Enabled:=True; //ATIVAR OS CAMPOS PARA EDICAO DBEditCOMPOSICAO.Enabled:=True; DBEditLARGURA.Enabled:=True; DBEditFORNECEDOR.Enabled:=True; DBLookupComboBoxCOMPOSICAO.Enabled:=True; DBLookupComboBoxFORNECEDOR.Enabled:=True; //SMDBGrid1.Enabled:=True; // ATIVAR O DBGRID (SMDBGRID) try Lookup.ibAuxComposicoes.Open; Lookup.ibAuxComposicoes.Last; Lookup.ibAuxFornecedores.Open; Lookup.ibAuxFornecedores.Last; BaseDados.tabelaTecidos.Last; PageControl1.TabIndex := 1; DBEditTecido.SetFocus; BaseDados.tabelaTecidos.Append; except ShowMessage('Operação Inválida!'); end; end;
Quero que ao clicar no botão SAIR ou GRAVAR do formulario fFornecedor, seja atualizado o DBLookupComboBox (DBLookupComboBoxFORNECEDOR) do formulário fTecidos.
abaixo criei um link demostrando o meu problema em vídeo para um melhor entendimento.
[url]https://www.sendspace.com/file/s3vhzq[/url]
Conto com a ajuda de vocês.
meu zap é 85 996979902 (Rubens)
meu email é rubens.pena7@gmail.com
RaidCall é 10046124
Rubens Pena
Posts
01/12/2016
Raimundo Pereira
1 Para seu form tecidos.
1 Para seu Lookup
Por dentro de um form, você está chamando sua tela de cadastro.
Então após realizar o cadastro, tente realizar o close da tabela.
e ative novamente.
Dica: Uso uma rotina mais prática.
Ao invés de usar o Lookup, optei em criar uma função que atualiza qualquer combobox.
No seu caso só precisaria chamar a função .
Se quiser posto a função aqui
01/12/2016
Araujo Junior.
FFornecedor.ShowModal;
ComboxBox.ListSource.Refresh;
01/12/2016
Rubens Pena
Araujo estou colocando o seguinte comando como segue na imagem e ao colocar o ponto (.) não me da a opção Refresh
[url]http://prntscr.com/de9uoh[/url]
02/12/2016
Rubens Pena
P2 me manda uma mensagem no meu email. pra eu te add
rubens.pena7@gmail.com
02/12/2016
Rubens Pena
rubens.pena7@gmail.com
Meu projeto continua parado por causa desse detalhe que não esta dando certo. Quase duas semanas eu pesquisando pesquisando e nada.
02/12/2016
Raimundo Pereira
O comando ficou incorreto ao postar.
Comando Correto
DBLookupComboBox1.ListSource.DataSet.Refresh;
02/12/2016
Rubens Pena
Clique aqui para fazer login e interagir na Comunidade :)