Guest Walter Gazzarrini Neto Postado Outubro 5, 2007 Denunciar Share Postado Outubro 5, 2007 Eu preciso que apareça alguma coisa escrito no label, se um registro da tabela for >= 10!!!!! Eu fiz desse jeito: if dm.ZTpecas.FieldByName('Qtdfinal_estoque').value <= 10 then form37.Label2.Caption:='Peças'; Porém ele pega apenas o registro selecionado ,eu precisava que ele pegasse se qualquer registro do campo qtdfinal_estoque fosse <=10!!! Conto com vocês,obrigado!!!!! DELPHI a Style life Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 5, 2007 Denunciar Share Postado Outubro 5, 2007 coloque um TDataSource no seu form (caso já não tenha um) para ligá-lo ao seu dataset ZTpecas (via propriedade Dataset do TDatasource). Feito isto, no Object Inspector, vá na guia Events e dê um duplo click no evento OnDataChange. Coloque o seu código naquele evento.Deste modo, para cada linha do DBGrid que você posicionar o "cursor", o label será ajustado. (se não for um DBGrid, também funciona) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 5, 2007 Denunciar Share Postado Outubro 5, 2007 OnDataChange de que componente? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 5, 2007 Denunciar Share Postado Outubro 5, 2007 Num deu certo não velho deu na mesma só aparece no label se ele o registro <= 10 estiver selecionado,mas obrigado.abs. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 5, 2007 Denunciar Share Postado Outubro 5, 2007 Vixe agora vo complica mais ainda,além de mudar o label, eu agora preciso que a célula do campo 'Qtdfinal' mude de cor ,isso em um dbgrid!!!!!!!!!!!!obs: uso My Sql!!!abs,obrigado!!! DELPHI a style life Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 6, 2007 Denunciar Share Postado Outubro 6, 2007 (editado) No evento OnDrawColumnCell do dbgrid use:if (Column.Field.FieldName = 'Qtdfinal_estoque') then begin if dm.ZTpecas.FieldByName('Qtdfinal_estoque').value <= 10 then begin DBGrid1.Canvas.Font.Color:= clRed; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end else begin DBGrid1.Canvas.Font.Color:= clBlack; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end;OBS: Todos os registros do campo 'Qtdfinal' que forem menor ou igual a 10 ficarão em cor vermelha e os demais em preto Editado Outubro 6, 2007 por Jhonas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 6, 2007 Denunciar Share Postado Outubro 6, 2007 Jhonas valeu,muito obrigado cara, funcionou perfeitooo,só tive que dá ctrl+c ctrl+v!!!!!!!!!! Será que você num sabe um jeito de se caso qualquer registro do campo 'Qtdfinal_estoque' for <=10 ele mudar o caption de um label en outro form?????? Abs. agradecido... DELPHI a style life Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 8, 2007 Denunciar Share Postado Outubro 8, 2007 OnDataChange de que componente?Walter Gazzarrini Neto, parece que você não leu esta linha no meu post:coloque um TDataSource no seu form (caso já não tenha um) para ligá-lo ao seu dataset ZTpecas (via propriedade Dataset do TDatasource). Feito isto, no Object Inspector, vá na guia Events e dê um duplo click no evento OnDataChange. Coloque o seu código naquele evento.a única coisa da qual falei fou um componente TDataSource, logo, o evento só poderia ser dele. Não?! :huh: Será que você num sabe um jeito de se caso qualquer registro do campo 'Qtdfinal_estoque' for <=10 ele mudar o caption de um label en outro form??????Ainda acho que o jeito é o que sugeri, então, segue um exemplo anexo. (é bem idiota, mas funciona) ;) ChangeLabel.zip Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 9, 2007 Denunciar Share Postado Outubro 9, 2007 Esse código da erro, na linha que eu mando mudar o label!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 9, 2007 Denunciar Share Postado Outubro 9, 2007 Micheus...esse código que você me passo só muda o label caso o registro esteja selecionado , eu precisava que ele mudasse mesmo se o registro não estiver selecionado.obrigado abs.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 10, 2007 Denunciar Share Postado Outubro 10, 2007 Eu estou fazendo um form de informações se o estoque estiver <=10 eu queria que aparecesse a informação no label,eu precisava que ele pegasse se qualquer registro do campo qtdfinal_estoque fosse <=10!!!Conto com vocês,obrigado!!!!!DELPHI a Style life Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 10, 2007 Denunciar Share Postado Outubro 10, 2007 Micheus...esse código que você me passo só muda o label caso o registro esteja selecionado , eu precisava que ele mudasse mesmo se o registro não estiver selecionado.Colega, voce já tem o codigo que muda o label caso o registro esteja selecionado, porque voce não coloca este codigo no outro , vai fazer o que voce esta querendo.if (Column.Field.FieldName = 'Qtdfinal_estoque') then begin if dm.ZTpecas.FieldByName('Qtdfinal_estoque').value <= 10 then begin DBGrid1.Canvas.Font.Color:= clRed; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); // coloque aqui o codigo que muda o label end else begin DBGrid1.Canvas.Font.Color:= clBlack; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 10, 2007 Denunciar Share Postado Outubro 10, 2007 Não funciona não!!!! ,não sei se é orque esta em outro form,será? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 10, 2007 Denunciar Share Postado Outubro 10, 2007 posta ai o codigo que muda o label Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 10, 2007 Denunciar Share Postado Outubro 10, 2007 posta ai o codigo que muda o labelEm lugar nenhum que eu coloquei funciona!!!, naquele evento que você falo não funciona, pois so serve para alterar propriedades do DBgrid!!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 11, 2007 Denunciar Share Postado Outubro 11, 2007 se voce não colocar o codigo não posso te ajudar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 11, 2007 Denunciar Share Postado Outubro 11, 2007 se voce não colocar o codigo não posso te ajudar.caso qualquer registro do campo 'Qtdfinal_estoque' for <=10 Form37.label2.caption:='peças'; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 11, 2007 Denunciar Share Postado Outubro 11, 2007 Micheus...esse código que você me passo só muda o label caso o registro esteja selecionado , eu precisava que ele mudasse mesmo se o registro não estiver selecionado.Não fique "zangado"... (alusão ao ícone do post)Enquanto não fica claro o que você quer, é difícil acertar. ;) Veja bem, você tem um DBGrid onde muitas linhas são mostradas. Para cada linha, tem uma coluna chamada "Qtdfinal_estoque". E voce quer que apareça num label um texto conforme o valor desta coluna.Não está meio estranho? Ou eu entendi errado?Se o texto tem que ser mostrado para cada item no DBGrid, então você deveria ter uma coluna para mostrar este texto - neste caso seria indicado o uso de um campo calculado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 11, 2007 Denunciar Share Postado Outubro 11, 2007 Micheus...esse código que você me passo só muda o label caso o registro esteja selecionado , eu precisava que ele mudasse mesmo se o registro não estiver selecionado.Não fique "zangado"... (alusão ao ícone do post)Enquanto não fica claro o que você quer, é difícil acertar. ;) Veja bem, você tem um DBGrid onde muitas linhas são mostradas. Para cada linha, tem uma coluna chamada "Qtdfinal_estoque". E voce quer que apareça num label um texto conforme o valor desta coluna.Não está meio estranho? Ou eu entendi errado?Se o texto tem que ser mostrado para cada item no DBGrid, então você deveria ter uma coluna para mostrar este texto - neste caso seria indicado o uso de um campo calculado.rsrsrs.....é assim tenho um form com cadastro de peças e eu já utilize-o como estoque tb, pois ele mostra qtd no estoque,nele há um dbgrid mostrando tudo que até a célula fica vermelha quando há um valor <= 10 independente de sua posiçao, utilizei o código do jhonas ai em cima.Bom no form principal há um botão que chama um form de informaçoes ao usuário ele é bem simples é um balaoziho com um label e eu queria que quando caso qualquer registro do campo 'Qtdfinal_estoque' for <=10 acontecesse issoForm37.label2.caption:='peças'; !!Porém não encontro nenhum codigo nem evento que funcione essa linha!!!espero ter esclarecido e q vocês possam me ajudar, muito obrigado mesmo!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 11, 2007 Denunciar Share Postado Outubro 11, 2007 Bom no form principal há um botão que chama um form de informaçoes ao usuário ele é bem simples é um balaoziho com um label e eu queria que quando caso qualquer registro do campo 'Qtdfinal_estoque' for <=10 acontecesse issoForm37.label2.caption:='peças'; !!Porém não encontro nenhum codigo nem evento que funcione essa linha!!!ahhh!!!!então estamos falando de outro form, não mais aquele que tem o DBGrid.Bom, se é para mudar o label para qualquer peça em que a Qtdfinal_estoque é inferior a 10, então acho que você deve fazer uma consulta exclusivamente para isto, algo como:SELECT peca FROM estoque WHERE Qtdfinal_estoque <= 10 obs: você tem que ajustar o nome do campo e tabela no select porque eu não sei o nome deles (você não informou) Um select deste tipo irá lhe retornar todas as peças que a Qtdfinal_estoque esteja inferior a 10. Daí, se você quer listar no label o nome ou código (sei lá o quê) destas peça, você varre esta consulta e vai concatenando o valor do campo em questão no label: Form37.label2.caption := ''; dm.ZQryQtd.Open; while not dm.ZQryQtd.EOF do begin Form37.label2.caption := Form37.label2.caption + dm.ZQryQtd.FieldByName('Peca').AsString +'; '; dm.ZQryQtd.Next; end; dm.ZQryQtd.Close; ou se preferir utilizar a consulta que é mostrada no DBGrid: Form37.label2.caption := ''; dm.ZTpecas.First; while not dm.ZTpecas.EOF do begin if dm.ZTpecas.FieldByName('Qtdfinal_estoque').value <= 10 then Form37.label2.caption := Form37.label2.caption + dm.ZTpecas.FieldByName('Peca').AsString +'; '; dm.ZTpecas.Next; end;Veja se era isto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Walter Gazzarrini Neto Postado Outubro 12, 2007 Denunciar Share Postado Outubro 12, 2007 Era isso sim coloquei a pesquisa no query e usei o eof para escrever no label!!!Bom com isso terminei meu sistema espero que agora por um tempo venha aqui só pra responder duvidas dos outros....rsObrigado a todos que me ajudaram sem esse Fórum não teria conseguido abraços...até a próxima Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 12, 2007 Denunciar Share Postado Outubro 12, 2007 Bom com isso terminei meu sistema espero que agora por um tempo venha aqui só pra responder duvidas dos outros....rsWalter Gazzarrini Neto, então aproveite para se registrar (é só ler as regras, concordar e clicar em Registrar)Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Walter Gazzarrini Neto
Eu preciso que apareça alguma coisa escrito no label, se um registro da tabela for >= 10!!!!!
Eu fiz desse jeito:
if dm.ZTpecas.FieldByName('Qtdfinal_estoque').value <= 10 then
form37.Label2.Caption:='Peças';
Porém ele pega apenas o registro selecionado ,eu precisava que ele pegasse se qualquer registro do campo qtdfinal_estoque fosse <=10!!!
Conto com vocês,obrigado!!!!!
DELPHI a Style life
Link para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.