Ir para conteúdo
Fórum Script Brasil

renanbg

Membros
  • Total de itens

    67
  • Registro em

  • Última visita

Sobre renanbg

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

renanbg's Achievements

0

Reputação

  1. Olá pessoal. Quero dar ao usuario a possibilidade de alterar detalhes da fonte do relatorio como tamanho, cor, negrito, etc. Para isso, estou usando esse codigo no evento beforeprint da banda COLUMNHEADER. Funciona, porém a fonte da SUMMARYBAND também é alterada. Alguém sabe onde posso estar errando? var i : Integer; begin for i:= 0 to ComponentCount - 1 do begin if (Components[i].ClassName = TQrLabel.ClassName) then begin TQrLabel(Components[i]).Font.Style:= [fsbold]; TQrLabel(Components[i]).Font.Name := 'Arial'; TQrLabel(Components[i]).Font.Color:= clRed; end; end; end;
  2. De fato o campo, CEDENTE, que trago via inner join é o problema. Antes eu usava lookup e ao incluir já aparecia, porém eu mantinha uma tabela com 1200 registros aberta só para isso. Agora com o uso do inner join, vou precisar refazer a consulta, após a inclusão, para então aparecer o nome no dbgrid.
  3. Essa é a tela de contas a pagar. Como pode ver eu faço filtros por cedente, vencimento, numero do documento ou nota A SQL base desses filtros é essa: SELECT CP.CODIGO, CP.NF, CP.DATA, CP.NUM_DOC, CP.VALOR, CP.VENCIMENTO, CP.PARCELA, CE.CEDENTE AS NOME_CEDENTE FROM CONTASPAGAR CP INNER JOIN CEDENTES CE ON CE.CODIGO = CP.COD_CEDENTE Eu consigo fazer a baixa, alteração, exclusão sem problemas. A inclusão de um novo registro que é o problema. Ao clicar naquele botão com o simbolo de +, eu abro uma nova tela onde preencho os dados que estão aparecendo no dbgrid. Ao gravar o nome do cedente não aparece no dbgrid. Se fosse um campo lookup apareceria normalmente, mas via inner join vou ter que refazer a consulta a cada inclusão?
  4. Resolvido atualizando o ibx para a versão 7.08 do delphi 7
  5. Nunca recebi esse tipo de erro. Estou usando ibquery + datasetprovider + clientdataset + datasource e o codigo é esse. Da erro no applyupdates with FrmDm.cdsCheques do begin DisableControls; //Desabilita controles First; while not eof do begin if FieldByName('MARCADO').AsString = 'S' then begin Edit; FieldByName('STATUS').AsString := 'B'; FieldByName('OBS').AsString := Edobs.Text; FieldByName('DATA_BAIXA').AsDateTime := Date; Post; end; Next; end; if ApplyUpdates(0) > 0 then Abort; EnableControls; //Habilita controles end;
  6. Então Jhonas. Já uso o updatesql em conjunto com a query e o datasource para editar, gravar e excluir. Agora adicionei uma nova query somente para consultas, mas perdi o controle dos botões alterar e cancelar, que eu fazia no evento de onstatechange do datasource que grava.
  7. Agradeço a ajuda Jhonas, mas isso é um problema no filtro da query clientes que fica ativo, mesmo eu fechando ela. Se eu acessar a tela de contas a receber diretamente, sem passar pela de clientes, tudo da certo. Descobri agora que isso ocorre porque fiz o select usando a propria query de clientes. Seria correto usar uma query para buscas e outra para gravar/editar/excluir?
  8. O select está correto, o problema acontece quando faço a busca de um cliente no cadastro de clientes. Aparentemente, mesmo fechando a query ao sair do formulario, o filtro que fiz permanece ativo. Então ao acessar a tela de contas a receber, a busca traz todas contas que selecionei, porém com o nome do cliente em branco, exceto o nome do cliente pesquisado anteriormente,
  9. Estou usando componentes da paleta interbase. O inner join não atualiza traz os nomes dos clientes no dbgrid. Para que isso ocorra, eu faço esse procedimento Faço a busca de um cliente no cadastro de clientes Select nome, idade from clientes where nome like ed.text Ao sair do formulario de clientes, fecho a query de clientes. Aí, ao acessar a tela de contas a receber, faço esse select Select * from contas a receber cr inner join clientes cl on cl.codigo = cr.cod_cliente order by vencimento Ocorre que todos os nomes saem em branco, exceto aquele ultimo que pesquisei lá no cadastro de clientes. Porque, mesmo dando um close, a pesquisa não traz todos resultados?
  10. Eu já usava dessa forma, perguntando se desejava inserir mais. Acabei fazendo um contador manual e resolveu.
  11. Sim, essa programação vai dentro do botão gravar. Então assim que gravar o primeiro boleto, preciso limpar os campos para incluir o segundo e assim por diante.
  12. Até tentei montar esse for, mas não consegui fazer ele funcionar. Ele segue automatico, sem permitir que eu faça o lançamento do segundo boleto. var i : Integer; begin for i:=1 to strtoint(edparcelas.text) do if i <> strtoint(edparcelas.text) then begin ShowMessage('Gravei'); Edit2.Clear; Edit3.Clear; Edit1.SetFocus; end else ShowMessage('Commitei e vou embora'); //Sai da tela de cadastro end;
  13. O sistema funciona da seguinte forma. Suponha que o usuário tem em mãos 3 boletos do mesmo cliente e precisa cadastrar esses boletos de forma manual. Uma rotina que lê o código de barras extrai valor e vencimento. Então é preciso informar apenas o nome do cliente e nota. Após a inclusão, todos os campos são limpos e o sistema aguarda a leitura do novo boleto. Problema: Ter que buscar novamente o cliente e nota para lançar o segundo boleto Pensei em por um edit para informar o numero de boletos a ser cadastrado. Desta forma ao finalizar a inclusão do primeiro, eu limparia apenas os campos valor e vencimento, mantendo os demais na tela. Minha dificuldade está em atualizar esse contador de parcelas, para sair da tela ao finalizar o cadastro do ultimo boleto
  14. Amigos, vejam a imagem Para acessar o cadastro de usuarios, antes peço a senha. Application.CreateForm(Tfrmsenha, frmsenha); frmsenha.ShowModal; Se a senha for correta, abro o form de usuarios da mesma forma Application.CreateForm(Tfrmusu, frmusu); frmusu.ShowModal; Gostaria de fechar o form da senha assim que chamo o de usuarios, mas o comando close só fecha ele quando eu fechar o form de usuarios. Usar o show não é uma opção, pois se o usuario clicar fora do formulario, ele some.
×
×
  • Criar Novo...