Ir para conteúdo
Fórum Script Brasil

Tatiane.InterArt

Membros
  • Total de itens

    42
  • Registro em

  • Última visita

Posts postados por Tatiane.InterArt

  1. Bem, vamos la, Denis em relação a orçamento você esta certo, é isso mesmo, posso ter mais de um orçto por cliente, e em cada orçto há mais de um pagamento, exemplo:

    Orçamento n°:01 Cliente: Maria

    Pagamento: 01/05/08 R$30,00, 01/06/08 R$30,00 e 01/07/08 R$30,00

    sendo que o pagamento de 01/05/08 foi feito em dinheiro e à vista e não aparecerá neste caso pois só saem os pagamentos pendentes.

    Orçamento n°:05 Cliente: Maria

    Pagamento: 15/04/08 R$25,00, 15/05/08 R$25,00 e 15/06/08 R$25,00

    Preciso que por exemplo neste caso, filtrar apenas a cliente Maria e o que tem pendente dentro do período: 01/05/08 a 31/05/08, obtendo assim o resultado:

    Cliente: Maria

    Orçamento: 01

    Pagamento: 01/05/08 R$30,00

    Cliente: Maria

    Orçamento: 05

    Pagamento: 15/05/08 R$25,00

    Espero ter sido mais clara agora, e já respondendo ao colega robinhocne, não tenho na tabela pagamento qualquer informação relativa ao cliente, apenas o numero do orçamento.

  2. Tenho três tabelas que formam minha venda:

    Tabela 1

    Orcto

    Numero - Integer

    DataOrcto - Varchar

    CodCli - Varchar

    Cliente - Varchar

    Tabela 2

    PagtoOrcto

    Codigo - Integer

    NumOrcto - Integer

    Data - Varchar

    Valor - Varchar

    TipoPagto - Varchar

    Tabela 3

    ItemOrcto

    Codigo - Integer

    NumOrc - Integer

    Item - Varchar

    Medida - Varchar

    Qtde - Integer

    Preciso realizar uma pesquisa de Pagamentos Pendentes por Cliente e por Período, ou seja, preciso casar as informações da tabela 2 e tabela 1 e ainda mostrar os itens referente(Os Itens é fácil, mas os pendentes é q está me dando trabalho:

    Revendo a questão, para cada Venda vários pagamentos, 1xn

    tenho q filtrar a tabela pagamento por período, porém relacionadas a apenas um cliente, sendo q a informação do cliente está na tabela de Orçamento, tentei de várias formas e não consegui obter o resultado que preciso, lembrando que, tenho já montada a pesquisa por período que funciona perfeitamente, apenas preciso de uma ajuda para casar as duas informações.

    Agradeço Antecipadamente!

  3. Tenho um relatório que é referente ao meu Pedido de Serviço, trabalho em uma empresa de impressão digital, gostaria de saber se há alguma forma de na tela que gero o relatório colocar um botão onde possa abrir temporariamente uma imagem JPG, tipo a telinha de abrir do windows mesmo sabe, onde possa carregar essa imagem para meu relatório em um QRImage e descartá-la logo após fechar a tela?

    Agradeço desde já!

  4. Kiko estou tendo o mesmo problema, só que no momento de imprimir, gera o relatório normalmente e as vezes na hora de imprimir dá esse erro Win32 Error 1400, notei, que se fechar o relatório e gerar novamente o erro não persiste, quando ele resolve aparecer é claro, caso você consiga resolver, poste aí, confesso até hj não consegui definir porque isso acontece!

  5. Bem dizem q a insistência vence sempre no meu caso venceu... deu certo consegui migrar e já testei em rede e é bem melhor e mais fácil de se usar que o InterBase, adotei o Firebird...

    Valeu as dicas recebidas em outros posts para migrar o banco, só não havia feito de cara pois precisava aprender um pouco mais sobre Firebird e como ele funciona, Valeu mesmo Galera!

  6. Depois de tanto mexer e pesquisar, consegui finalmente gerar o backup do banco InterBase ou seja o .GBK, deixei o IBExpert para funcionar com o Firebird graças a um post do Micheus que encontrei algo que me ajudasse, agora não consigo restaurar esse .GBK através do IBExpert, dei uma olhada na net e vi algumas formas de restauração usando o gbak mas não deu certo, alguém poderia me dizer como posso fazer isso?

  7. Ahnnnn com esse seu exemplo:

    function NewMinutesBetween(aNow, aThen :TDateTime) :Int64;
    var
      MinDiff :Extended;
    begin
      MinDiff := (aThen -aNow) *24 *60;
      if (MinDiff -Trunc(MinDiff)) > 0.9999 then
        MinDiff := Round(MinDiff);
    
      Result := Trunc(MinDiff);
    end;

    pude compreender melhor a questão da operação com ponto flutuante, fica bem claro e não imaginava que houvesse essa variação, fiz várias pesquisas na internet e achei alguns exemplos antes de postar mas nenhum deles mensionava essa variação, fiz o teste e funcionou, obrigado mais uma vez Micheus!

  8. Tenho uma telinha de cartão de ponto, onde para cada intervalo faço cálculo de atrazo e extra usando o

    MinutesBetween, o que está acontecendo é que dependendo do horário q tenho ele não retorna corretamente os minutos, por exemplo:

    MaskEdit5 - MaskEdit6

    18:00 - 18:54

    12:00 - 12:54

    e outras variações com minutos diferenciados

    Var Min:Integer;

    Begin

    Min:=MinutesBetween(StrToTime(MaskEdit5.Text),StrToTime(MaskEdit6.Text));

    Min deveria ser igual a 54 correto

    mas ele me mostra 53

    o que acontece é q essa diferença de 1min já faz uma grande diferença no cálculo de hora extra, como posso resolver isso?

  9. Micheus neste primeiro post apenas me confundi colocando a nova tabela também como Varchar, mas na verdade ela era varchar e recriei como Date - TimesTamp, o que quis dizer sobre o ultimo post foi apenas q tentei fazer a pesquisa de várias formas inclusive passando os parâmetros como String, recaptulando:

    Minha Tabela Atual:

    PagtoContaPG

    Código - Integer

    Data - TimesTamp

    Valor - Varchar

    Tipo - Varchar

    tentei todos os tipos de pesquisa possíveis e até os impossíveis como até mensionei no ultimo post, tentei até passar os parâmetros como String e nenhuma delas consigo chegar no resultado esperado! esse é o maior problema!

    Desculpe-me não a falta de clareza nos posts anteriores, mas é q a gente sempre imagina q as pessoas tem a mesma linha de raciocínio q a gente e realmente não notei o erro do primeiro post!

  10. O campo no banco é mesmo tipo Date-TimesTamp, e até tentei passar a pesquisa como varchar pra ver se é isso, mas quando faço a pesquisa assim:

    IBQuery1.Close;

    IBQuery1.SQL.Clear;

    IBQuery1.SQL.Add('select * from PagtoConta where Cast(Data asDate) Between :inicio and :fim');

    IBQuery1.Parambyname('inicio').AsString:=FormatDateTime('D/M/YYYY',DateTimePicker1.Date);

    IBQuery1.Parambyname('fim').AsString:=FormatDateTime('D/M/YYYY',DateTimePicker2.Date);

    IBQuery1.Open;

    tentando forçar que o formato dos parâmetros fiquem iguais os das datas q estão no banco acontece q somente me aparece a data:

    M/D/YYYY

    4/4/2008

    as demais

    4/1/2008

    4/2/2008

    4/5/2008 q deveriam aparecer não aparecem!

  11. Retornando o problema:

    pois bem montei a tela de pesquisa com dois DateTimePicker, mudei o format deles para dd/MM/yyyy apenas pra ficar mais bonitinho de se ver, e montei meu botão pesquisar usando parâmetros pras datas como já haviam me dado a dica antes então ficou assim:

    IBQuery1.Close;

    IBQuery1.SQL.Clear;

    IBQuery1.SQL.Add('select * from PagtoConta where Data Between :inicio and :fim');

    IBQuery1.Parambyname('inicio').AsDateTime:=DateTimePicker1.Date;

    IBQuery1.Parambyname('fim').AsDateTime:=DateTimePicker2.Date;

    IBQuery1.Open;

    Agora vem o pequeno problema, no banco de dados a data acaba ficando no formato M/D/YYYY mesmo usando o DateTimePicker na tela de inclusão, quando salvo na tabela automaticamente acontece isso, então aí está o problema, quando faço a pesquisa ele interpreta a data como sendo DD/MM/YY no visual, no valor do DateTimePicker como D/M/YYYY e no banco M/D/YYYY, imaginem o q acontece quando realizo a pesquisa... logicamente pensando acontece assim:

    Datas do Banco

    4/1/2008 q seria dia 1 mês 4 ano 2008 e assim por diante

    4/2/2008

    4/4/2008

    4/5/2008

    5/1/2008

    6/1/2008

    7/1/2008

    as datas informadas à pesquisa:

    :Inicio 01/04/08 visualmente e no valor do DateTimePicker 1/4/2008

    :Fim 10/04/08 visualmente e no valor do DateTimePicker 10/4/2008

    o q ele traz na minha pesquisa? - somente o 4/4/2008 do banco

    se inverto o formatdateTime para M/D/YYYY

    acontece assim:

    :Inicio 01/04/08 invertido mês 1 dia 4 ano 2008

    :Fim 10/04/08 invertido mês 10 dia 4 ano 2008

    o que ele traz pra minha pesquisa? Tudo

    se crio variáveis para separar dia mes ano e remontar a data no formato

    ele não filtra absolutamente nada!

    então o q me dizem?

  12. Não Micheus você me deu a dica se concentrando no problema certo, e como disse já estava fazendo a pesquisa exatamente assim, por parâmetro e mesmo assim não estava funcionando, não sei porque, afinal antes funcionava direitinho!

    Por isso, resolvi fazer um TESTE, montei outra tabela com a data declarada como TimesTamp afinal trabalho com o dialect3, assim a pesquisa até parece mais fácil e sem a complicação q tem-se com datas e períodos, porém fiquei com outro problema, q é no momento de inserir algo nesta tabela, pois dá erro de compatibilidade, se jogo essa data como string dá erro de

    IBQuery1:Type mismatch field 'DATA', expecting: DateTime actual: String

    se jogo gomo TDate direto pelo DateTimePicker dá erro de

    IBQuery1:Type mismatch field 'DATA', expecting: String actual: DateTime

    o q fazer? arrumo a pesquisa e pioro o resto rsrsrsrsrsrs!

  13. Ahnn sim, na verdade apenas simplifiquei, mas estava usando dessa forma, na verdade, estou fazendo um teste agora com a variável declarada como Date no banco e usando o DateTimePicker, só estou em dúvida em como ficaria meu insert na tela de inclusão usando esse componente, afinal nunca usei só sei q para manipulá-lo uso a DateTimePicker.Date, mas no insert se passar dessa forma dá incompatibilidade de TDate para String, se jogo em uma variável tipo string, quando clico no botão salvar dá erro de incompatibilidade de String para TDate, você teria algum exemplo do Insert para me passar assim poderia ver no q estou pecando!

    Mas valeu o toque!

  14. Tinha uma pesquisa por período de data, onde minha data é String q funcionava certinho e agora está furada! alguém saberia me dizer o q pode ter acontecido? Tudo o q fiz foi mudar um campo da tabela de String para Inteiro, refiz toda a programação e realmente não está funcionando:

    Detalhando melhor: Trabalho com Delphi7 e InterBase6

    Tabela antiga:

    PagtoContaPG

    Código - Varchar

    Data - Varchar

    Valor - Varchar

    Tipo - Varchar

    Nova Tabela:

    PagtoContaPG

    Código - Integer

    Data - Varchar

    Valor - Varchar

    Tipo - Varchar

    Minha pesquisa é feita através de um botão pesquisar em um form q capta os valores através de 2 MaskEdits

    o código está assim:

    IBQuery1.Close;

    IBQuery1.SQL.Clear;

    IBQuery1.SQL.Add('Select * from PagtoContaPG where Data Between '''+MaskEdit1.Text+''' and '''+MaskEdit2.Text+'''');

    IBQuery1.Open;

    Antes de mudar meu banco ele filtrava certinho tipo se precisasse trazer datas do dia 01/02/08 a 10/02/08 aparecia no relatório o período certo, ordenado por data e tudo!

    Agora se fizer a mesma pesquisa, ele me traz todas as datas q iniciam com 01 02 03 04 05 06 07 08 09 e 10, tipo vai traz não só 01/02/08, 02/02/08, 03/02/08... e sim 01/02/08, 01/03/08, 01/05/08 e todos os outros meses q tiver dia 01...

    Tentei de tudo e nada funciona, tentei até mesmo declarar a variável no banco como Date, mas mesmo mudando o formato da Data no micro para DD/MM/YY ela salva invertida MM/DD/YY q fica inviável para mim, alguém saberia me ajudar neste caso?

  15. Nossa Jhonas muito fofo tudo isso, mas deixa te falar, não consegui jogar o texto que é uma string no campo QRMemo, juro está muito estranho, seu código está perfeito e poderia até mesmo usá-lo exatamente como está para a justificação, mas diga-me como você faz para colocar os dados gerados pelo relatório na MEMO?

    Bem para q você entenda como estou fazendo o relatório, no botão imprime relatório q é onde gera minha pesquisa estou jogando todos os dados, texto fixo+ itens da tabela em uma variável tipo STRING e quando tento enviar esses mesmos dados ao campo MEMO dá incompatibilidade, já tentei tudo... e nada funcionou, no máximo, quando usei a forma normal para enviar dados para campo MEMO, nem mesmo gera o relatório, clico no botão e não acontece nada, nadinha!

  16. Então Jhonas, isso seria uma opção, mas e o caso de palavras cortadas? afinal, terei agências com nomes de tamanho diferente entende, então encorporando o contexto em determinado mometo posso ter uma linha assim

    Eu, AMAURI DE SOUZA, portador do CPF/CNPJ n°:000.000.000-00 e RG n°00.000.000-0, DECLARO, para os devidos fins

    e em outra situação posso ter uma assim:

    Eu, SANDRA DE LIMA TORRES, portador do CPF/CNPJ n°:000.000.000-00 e RG n°00.000.000-0, DECLARO para os devid

    os fins

    compreendeu o que quis dizer com cortar as palavras de acordo com o número de caracteres?

  17. Preciso deixar um texto justificado em um relatório gerado no QuickRep, bem para q fique melhor explicado, gero um recibo, onde traz dados como Nome do Agência, Valor R$, Valor por extenso, n° Orçamento e n° parcela de uma tabela chamada PagtoAgencia.

    Trabalho com Delphi7 e InterBase, tentei usar o QRLabel, e o sistema de contagem de letras Length, mas nem sempre dá o mesmo tamanho em comprimento, depende de maiúscula e minúscula, bem imagine q medi em letra maiúscula a largura de uma margem do relatório a outra mede 78 caracteres e em minúscula 104.

    como tenho uma variante de maiúsculas e minúsculas gerando esse recibo esse sistema ficou furado, umas linhas se encaixam e outras não, fora que corro o risco de cortar uma palavra no meio.

    Alguém saberia me dizer como poderia fazer isso de uma forma melhor, que deixe justificado sem cortar palavras?

  18. Estou usando o InterBase 6.5 e depois de tanto quebrar a cabeça descobri que o que estava acontecendo é que quando criava nas máquinas Client os acessos ao Servidor através do remote usava o mesmo alias e isso criava uma incompatibilidade, imagine tecnicamente um único usuário conectado quatro vezes em micros diferentes, então apenas recriei esses acessos com alias diferenciados chamando usuários diferenciados e pronto, tenho o número de pessoas conectadas que quiser!

    Mesmo assim, Valeu a ajuda!

  19. Bem acredito ter sido infeliz no post relativo a problemas com InterBase, para arrumar, estou iniciando do zero novamente minha explicação:

    Tenho um sisteminha criado em Delphi7 e BD no InterBase, estou usando Server/Client para uso em rede mas ele está limitando o número de conexões a 3 alguém poderia me dizer como faço para tirar esse limite?

    Agradeço Antecipadamente!

  20. Bem pessoal, acabo de ver q não há como acrescentar usuários no InterBase Client Server, e que o firebird poderia me dar uma posição melhor quanto a isso, instalei o firebird e o IBExpert, gostaria de saber como posso fazer essa migração de banco, como funciona o Firebird e se terei que mudar alguma coisa nas linhas de programação depois dessa migração...

    Bem desculpe se for uma questão talvez meio obvia, mas nunca utilizei o firebird antes nem sei como ele funciona! Se alguém puder me ajudar nessa questão agradeceria muito!

  21. Pessoal resolvido...

    conheci um comando chamado between que mudou meu conceito! huahuahua

    no fim a pesquisa funciona e o código ficou assim:

    IBQuery1.Close;

    IBQuery1.SQL.Clear;

    IBQuery1.SQL.Add(' Select * from Ligacao where Data between '''+MaskEdit1.Text+''' and '''+MaskEdit2.Text+'''');

    IBQuery1.Open;

    Fica aí a dica para outros iniciantes como eu que possam precisar!

×
×
  • Criar Novo...