Atualização de Tabela (DBLookupComboBox )
Ola pessoal.
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:
É 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
Comando do botão GRAVAR do formulario fFornecedores
Comando do botão NOVO do formulário fTecidos
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
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
Curtidas 0
Respostas
Rubens Pena
29/11/2016
Boa noite. Alguém pode me ajudar....?
GOSTEI 0
Rubens Pena
29/11/2016
alguem?
GOSTEI 0
Raimundo Pereira
29/11/2016
Quantas query você está usando?
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
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
GOSTEI 0
Araujo Junior.
29/11/2016
Rubens, para atualização de dados de um lookupcombobox basta atualizar o Dataset que está vinculado ao mesmo.
FFornecedor.ShowModal;
ComboxBox.ListSource.Refresh;
FFornecedor.ShowModal;
ComboxBox.ListSource.Refresh;
GOSTEI 0
Rubens Pena
29/11/2016
Boa noite amigos P2 e Araujo Junior.
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]
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]
GOSTEI 0
Raimundo Pereira
29/11/2016
Dblookupcombobox1.ListOu.Datas.Refresh
Tente
Tente
GOSTEI 0
Rubens Pena
29/11/2016
P2 tambem nao tem esse comando que voce passou acima o .listOu.Datas.Refresh
P2 me manda uma mensagem no meu email. pra eu te add
rubens.pena7@gmail.com
P2 me manda uma mensagem no meu email. pra eu te add
rubens.pena7@gmail.com
GOSTEI 0
Rubens Pena
29/11/2016
Araujo Junior. Voce pode me add no seu seu email e me enviar um email pra eu te add no meu tambem.
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.
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.
GOSTEI 0
Raimundo Pereira
29/11/2016
rcpti.p2@gmail.com
O comando ficou incorreto ao postar.
Comando Correto
DBLookupComboBox1.ListSource.DataSet.Refresh;
O comando ficou incorreto ao postar.
Comando Correto
DBLookupComboBox1.ListSource.DataSet.Refresh;
GOSTEI 0
Rubens Pena
29/11/2016
Boa noite P2. Nao deu certo. Te passei um email.
GOSTEI 0
Rubens Pena
29/11/2016
Eu uso o firebird junto com ibexpert mais a palheta InterBase do Delphi.
GOSTEI 0