Ir para conteúdo
Fórum Script Brasil

lucy4000

Membros
  • Total de itens

    14
  • Registro em

  • Última visita

Tudo que lucy4000 postou

  1. ai gente desculpa....esqueci q eu tinha colocado a função como shortstring :P valeu
  2. Oi pessoal, Eu estou usando um dbrichedit para um campo memo do banco de dados..o problema é q ele aceita apenas 255 caracteres... eu achava q ele era que nem o componente dbmemo, só que formatável. E tb tem outro problema: As vezes quando gravo umas 5 linhas de texto, com menos de 255 caracteres, e quando mando fazer uma busca nesse campo digitando a primeira letra em diante, ele só busca o texto pela metade, tipo, mostra umas 3 linhas apenas... por que isso acontece? olha só, no campo change dele, ele chama o seguinte codigo Function TFORM1.Procura1(tabela:ShortString ; CAMPO:ShorTString ; ABUSCA:TDBRichEdit; ordem:string) : ShortString; begin IF (Trim(abusca.Text)='') OR (NOR_SET=0) then Begin Result:='';exit; End; With dm.QConsultas do Begin ParamCheck :=True; Active:=False; Close; SQL.Clear; SQL.add('Select '+CAMPO+' From '+TABELA+' Where '+CAMPO+' like '+#39+''+COPY(ABUSCA.TEXT,1,ABUSCA.SelStart)+'%'+#39 + ' order by ' + ordem + ' desc'); open; if tecla = true then RESULT:=ABusca.Text else RESULT:=COPY(ABUSCA.TEXT,0,ABUSCA.SelStart)+COPY(Fieldbyname(CAMPO).AsString,ABUSCA.SelStart+1,255); End; IF NOR_SET=0 THEN NOR_SET:=1 ELSE NOR_SET:=0; END; Eu acho q o problema ta nessa linha: RESULT:=COPY(ABUSCA.TEXT,0,ABUSCA.SelStart)+COPY(Fieldbyname(CAMPO).AsString,ABUSCA.SelStart+1,255) já tentei substituir o 255 por 500 mas continua só aceitando 255...serah q é algum problema nesse copy? Obrigada
  3. ai meu Deus...hauhauhauhauhau obrigada daniel...eu pensando q era algo como "label.controls...." valeu ^^
  4. Olá eu gostaria de saber se alguém sabe via codigo, como trazer o TQRLabel para a frente de um outro componente. O mesmo que clicar com o direito nele e escolher = control->bringtofront obrigada
  5. lucy4000

    quickreport

    O titulo tem que estar no proprio QRGroup ( Group Header) ... os dados serão levados a proxima pagina pela banda Detail linkada ao QRGroup e o titulo se repetirá na proxima pagina abraço Obrigada Jhonas, mas eu não tenho detail...imaginei q funcionasse somente com detail :( são tres groupheader, um dependente do outro... serah q devo fazer um groupheader, detail e subdetail....na epoca eu não fiz isso mas não lembro o motivo :P tentarei fazer dessa forma..
  6. oi pessoal, eu tenho as seguintes bandas groupheader groupheader groupheader groupfooter chieldband groupfooter o primeiro groupheader eu coloco o tipo. Ex.: despesas o segundo groupheader eu coloco o subtipo1. Ex.:desp administrativas o terceiro groupheader eu coloco o subtipo2. Ex.: aluguel o primeiro groupfooter, é do subtipo1, que faz o total de todas as despesas administrativas o chieldband é só para dar um certo espaço o segundos groupfooter, é do tipo, que faz o total de todas as despesas... Exemplo: Despesas ** Administrativas ****aluguel ****agua ****luz ****impressos ****serviços de comunicação ****condominio ****seguro ****telefone total Administrativas - x total Despesas - x o negocio é, que se não couber na folha pelo menos os dois grupos (subtipo1-Administrativas e subtipo2 - Aluguel, agua, etc) e passar para a outra folha o restante, eu gostaria que ele fosse com o titulo ( administrativas). Ex (folha 1) Despesas **Administrativas ****aluguel ****agua ****luz ****impressos ****serviços de comunicação (fim da folha-quebra de pagina) (folha 2) - gostaria que repetisse o titulo (administrativas) e o restante. **Administrativas ****condominio ****seguro ****telefone total Administrativas - x total Despesas - x Tentei usar o linkband, ligando a banda anterior com a proxima e assim sucessivamente, mas não deu certo não, ele continua levando para a outra folha apenas o restante e não copia o titulo... alguém sabe a solução? obrigada a todos =)
  7. lucy4000

    quickreport

    Oi Micheus, são sobre o mesmo relatorio..mas são problemas diferentes. Esse eu já resolvi em 70% digamos...mas ainda tah faltando alguma coisa:P Obrigada pela sua explicação no outro tópico, muito bom.. fique com Deus
  8. lucy4000, faça select's separados um para cada tipo (filtre eles na cláusula where), depois, no relatório você usa 3 subdetails onde você link na propriedade DataSet coloca o respectivo dataset na ordem desejada. Outra opção, seria usar 3 select's com union. Cada select filtra o tipo específico, na ordem que você precisa. Para garantir a ordenação que você possa precisar (além do tipo) você pode cria uma coluna com valor sequencial fixo onde este campo é usado na cláusula order by. Por ex.: select 1 as Ordem, campo1, campo2, ... from LivroCaixa where tipo = Receitas union select 2 as Ordem, campo1, campo2, ... from LivroCaixa where tipo = Despesa union select 3 as Ordem, campo1, campo2, ... from LivroCaixa where tipo = Movimentacao order by 1, 2, ...os números na cláusula order by, correspondem as colunas da consulta pelo qual queremos ordenar o resultado. Acho que é isso. Abraços PERFEITOOO MICHEUS ... eu vou fazer desse jeito com union ... =) Obrigada, Deus abençoe.
  9. Oi pessoal, tennho uma outra duvida... meu cliente quer um relatorio que ordene os dados da seguinte maneira: Receitas (dados da receita) Despesas (dados da despesa) Movimentação financeira e outros (outros dados) ele tah querendo tudo q é receita em cima...depois obrigatoriamente tem q vir despesas e o resto q tiver, poe por ultimo... se fizer uma consulta sql ordenando por tipo da forma desc ficaria : Receitas, movimentacao financeira, Despesas. se fizer ordenado por tipo de forma asc ficaria : Despesas, Movimentacao, Receitas e nenhuma das opções ele quer... como eu vou ordenar dessa maneira: Receitas, Despesas, Movimentacao financeira? allguem pode me dar uma luz? valeu
  10. galera, eu estou com um problema serio... não sei como resolver e preciso entregar esse trabalho logoo... eu tennho a seguinte sintaxe Code: SELECT L.cod_tipo, L.operacao, S1.Subtipo1, S2.Subtipo2, FORMAT(sum(L.total_operacao),"###,##0.00") AS total FROM Subtipo1 AS S1 RIGHT JOIN (lancamentos AS L LEFT JOIN subtipo2 AS S2 ON L.cod_subtipo2=S2.Cod_Subtipo2) ON S1.Cod_Subtipo1=L.cod_subtipo1 WHERE L.Data Between #1/14/2009# And #11/2/2009# GROUP BY L.cod_tipo,subtipo1, subtipo2, operacao ORDER BY L.cod_tipo DESC , subtipo1, subtipo2; quando vejo no banco essa consulta ele mostra o seguinte resultado: (primeiro registro) Cod_tipo: 3 operacao: ENTRADA subtipo1: transferencias entre contas subtipo2: (nesse caso não tem) total: 100 (segundo registro) Cod_tipo: 3 operacao: SAIDA subtipo1: transferencias entre contas subtipo2: (nesse caso não tem) total: 200 (eu agrupei por operacao(entrada e saida)..caso contrario ele mostraria apenas um registro com o total = 300) no relatorio q eu fiz no delphi com essa instrução sql, ele mostra apenas o primeiro valor e eu gostaria q aparecessem os dois... ele estah mostrando assim: subtipo1: Transferencias Entrada: 100,00 Saida: (não mostra nada) ele teria q aparecer a saida tb... não sei o q acontece...eu mandei ele agrupar ppor operacao(entrada e saida) mas tb mandei agrupar por subtipo1 =S quando é o mesmo subtipo1(transferencias) E tem os dois tipos(entrada e tb saida), ele só mostra o primeiro q vier(nesse caso é entrada - 100,00)... e eu gostaria q ele mostrasse os dois. no relatorio eu coloquei 3 groupheaders para agrupar o tipo, subtipo1 e subtipo2 e dois groupfooters para colocar o total das bandas. ele funciona muito bem quando um registro não tem as duas operações(entrada e saida - o que é raro acontecer). O problema não sei se estah no sql ou na montagem do relatorio... se alguém puder me ajudar... obrigada =)
  11. Oi Jhonas, obrigada pela ajuda mas não funcionou..:( fiz assim em cada saida: ex: if optcliente.Checked then begin varsql:='SELECT Format(IIf([operacao]="Entrada",[total_operacao],""),"#####0.00") AS Entrada, Format(IIf([operacao]="Saída",[total_operacao],""),"#####0.00") AS Saida, L.Cod_lancamento, L.data, L.historico, L.operacao, '+ 'Format(L.total_operacao,"###,##0.00") AS Expr1, S2.Subtipo2, S1.Subtipo, L.NF FROM (Subtipo1 AS S1 INNER JOIN (lancamentos AS L LEFT JOIN subtipo2 AS S2 ON L.cod_subtipo2 = S2.Cod_Subtipo2) ON S1.Cod_Subtipo1 = L.cod_subtipo1) INNER JOIN Tipo '+ 'ON S1.Cod_tipo = Tipo.Cod_tipo WHERE (((L.data) Between #'+datainicial+'# And #'+datafinal+'#) AND ((L.historico) Like "'+edtnome.Text+'%")) ORDER BY L.data, L.Cod_lancamento'; flag:=1; FRelatSint.QuickRep1.Preview exit; // sair aqui end
  12. Esse erro acontece por falta ou excesso de parametros passados .... poste o seu codigo que fica mais facil te ajudar abraço if ValidarDAta(mskdatainicial, mskdatafinal) then begin decodedate(strtodate(mskdatainicial.Text), ano, mes, dia); datainicial:= inttostr(mes) +'/'+ inttostr(dia) +'/'+ inttostr(ano); decodedate(strtodate(mskdatafinal.text), ano, mes, dia); datafinal:= inttostr(mes) +'/'+ inttostr(dia) +'/'+ inttostr(ano); if chktipos.Checked then begin if (cosub1.Text <>'') and (cosub2.Text='') then begin if optcliente.Checked then begin varsql:='SELECT Format(IIf([operacao]="Entrada",[total_operacao],""),"#####0.00") AS Entrada, Format(IIf([operacao]="Saída",[total_operacao],""),"#####0.00") AS Saida, L.Cod_lancamento, L.data, L.historico, L.operacao, Format(L.total_operacao,"###,##0.00"), '+ 'S2.Subtipo2, L.NF, S1.Subtipo FROM Subtipo1 as S1 INNER JOIN (lancamentos as L LEFT JOIN subtipo2 as S2 ON L.cod_subtipo2=S2.Cod_Subtipo2) ON S1.Cod_Subtipo1=L.cod_subtipo1 WHERE (((L.data) Between #'+datainicial+'# And #'+datafinal+'#) AND ((L.historico) Like "'+edtnome.Text+'%") '+ 'AND ((S1.Subtipo)="'+cosub1.text+'")) ORDER BY L.data, L.Cod_lancamento'; flag:=2; end else begin varsql:='SELECT FORMAT(IIf([operacao]="Entrada",total_operacao,""),"#####0.00") AS Entrada, FORMAT(IIf([operacao]="Saída",total_operacao,""),"#####0.00") AS Saida, lancamentos.cod_lancamento, lancamentos.data, lancamentos.historico,Lancamentos.NF, '+ 'lancamentos.operacao,FORMAT(lancamentos.total_operacao, "###,##0.00"), Subtipo2.Subtipo2 FROM (Subtipo1 INNER JOIN (lancamentos LEFT JOIN subtipo2 ON lancamentos.cod_subtipo2 = subtipo2.Cod_Subtipo2) ON Subtipo1.Cod_Subtipo1 = lancamentos.cod_subtipo1) ' + 'WHERE (Lancamentos.Data Between #'+datainicial+'# And #'+datafinal+'#) and (subtipo1.subtipo = "'+cosub1.Text+'") ORDER BY Lancamentos.Data, Lancamentos.Cod_lancamento'; flag:=2; end end else begin if (cosub1.Text<>'') and (cosub2.Text<>'') then begin if optcliente.Checked then begin varsql:='SELECT Format(IIf([operacao]="Entrada",[total_operacao],""),"#####0.00") AS Entrada, Format(IIf([operacao]="Saída",[total_operacao],""),"#####0.00") AS Saida, L.Cod_lancamento, L.data, L.historico, L.operacao, Format(L.total_operacao,"###,##0.00"), '+ 'S2.Subtipo2, L.NF, S1.Subtipo FROM Subtipo1 as S1 INNER JOIN (lancamentos as L LEFT JOIN subtipo2 as S2 ON L.cod_subtipo2=S2.Cod_Subtipo2) ON S1.Cod_Subtipo1=L.cod_subtipo1 WHERE (((L.data) Between #1/7/2008# And #7/30/2008#) AND ((L.historico) Like "'+edtnome.Text+'%") '+ 'AND ((S1.Subtipo)="'+cosub1.Text+'") AND ((S2.Subtipo2)="'+cosub2.Text+'")) ORDER BY L.data, L.Cod_lancamento'; flag:=3; end else begin varsql:='SELECT FORMAT(IIf([operacao]="Entrada",total_operacao,""),"#####0.00") AS Entrada, FORMAT(IIf([operacao]="Saída",total_operacao,""),"#####0.00") AS Saida, L.cod_lancamento, L.data, L.historico, '+ 'L.operacao, L.NF, FORMAT(L.total_operacao, "###,##0.00") FROM (Subtipo1 as S1 INNER JOIN (lancamentos as L LEFT JOIN subtipo2 as S2 ON L.cod_subtipo2 = S2.Cod_Subtipo2) ON S1.Cod_Subtipo1 = L.cod_subtipo1) '+ 'WHERE (L.Data Between #'+datainicial+'# And #'+datafinal+'#) and (S1.subtipo = "'+cosub1.Text+'") and (S2.subtipo2 = "'+cosub2.Text+'") ORDER BY L.Data, L.Cod_lancamento'; flag:=3; end; end else begin if cotipo.Text <> '' then begin if optcliente.Checked then begin varsql:='SELECT Format(IIf([operacao]="Entrada",[total_operacao],""),"#####0.00") AS Entrada, Format(IIf([operacao]="Saída",[total_operacao],""),"#####0.00") AS Saida, L.Cod_lancamento, L.data, L.historico, L.operacao, '+ 'Format(L.total_operacao,"###,##0.00") AS Expr1, S2.Subtipo2, S1.Subtipo, S2.Subtipo2, Tipo.Tipo FROM (Subtipo1 AS S1 INNER JOIN (lancamentos AS L LEFT JOIN subtipo2 AS S2 ON L.cod_subtipo2 = S2.Cod_Subtipo2) ON S1.Cod_Subtipo1 = L.cod_subtipo1) '+ 'INNER JOIN Tipo ON S1.Cod_tipo = Tipo.Cod_tipo WHERE (((L.data) Between #'+datainicial+'# And #'+datafinal+'#) AND ((L.historico) Like "'+edtnome.Text+'%") AND ((Tipo.Tipo)="'+cotipo.Text+'")) ORDER BY L.data, L.Cod_lancamento'; flag:=1; end else begin varsql:='SELECT Format(IIf([operacao]="Entrada",[total_operacao],""),"#####0.00") AS Entrada, Format(IIf([operacao]="Saída",[total_operacao],""),"#####0.00") AS Saida, L.Cod_lancamento, L.data, L.historico, L.operacao, '+ 'Format(L.total_operacao,"###,##0.00") AS Expr1, S2.Subtipo2, S1.Subtipo, L.NF, Tipo.Tipo FROM (Subtipo1 AS S1 INNER JOIN (lancamentos AS L LEFT JOIN subtipo2 AS S2 ON L.cod_subtipo2 = S2.Cod_Subtipo2) ON S1.Cod_Subtipo1 = L.cod_subtipo1) '+ 'INNER JOIN Tipo ON S1.Cod_tipo = Tipo.Cod_tipo WHERE (((L.data) Between #'+datainicial+'# And #'+datafinal+'#) AND ((Tipo.Tipo)="'+cotipo.Text+'")) ORDER BY L.data, L.Cod_lancamento;'; flag:=1; end; end else begin showmessage('Escolha um tipo ou desmarque a opção'); exit; end; end end end else begin if optcliente.Checked then begin varsql:='SELECT Format(IIf([operacao]="Entrada",[total_operacao],""),"#####0.00") AS Entrada, Format(IIf([operacao]="Saída",[total_operacao],""),"#####0.00") AS Saida, L.Cod_lancamento, L.data, L.historico, L.operacao, '+ 'Format(L.total_operacao,"###,##0.00") AS Expr1, S2.Subtipo2, S1.Subtipo, L.NF FROM (Subtipo1 AS S1 INNER JOIN (lancamentos AS L LEFT JOIN subtipo2 AS S2 ON L.cod_subtipo2 = S2.Cod_Subtipo2) ON S1.Cod_Subtipo1 = L.cod_subtipo1) INNER JOIN Tipo '+ 'ON S1.Cod_tipo = Tipo.Cod_tipo WHERE (((L.data) Between #'+datainicial+'# And #'+datafinal+'#) AND ((L.historico) Like "'+edtnome.Text+'%")) ORDER BY L.data, L.Cod_lancamento'; flag:=1; end else begin varsql:='SELECT Format(IIf([operacao]="Entrada",[total_operacao],""),"#####0.00") AS Entrada, Format(IIf([operacao]="Saída",[total_operacao],""),"#####0.00") AS Saida, L.Cod_lancamento, L.data, L.historico, L.operacao, '+ 'Format(L.total_operacao,"###,##0.00") AS Expr1, S2.Subtipo2, S1.Subtipo, L.NF FROM (Subtipo1 AS S1 INNER JOIN (lancamentos AS L LEFT JOIN subtipo2 AS S2 ON L.cod_subtipo2 = S2.Cod_Subtipo2) ON S1.Cod_Subtipo1 = L.cod_subtipo1) INNER JOIN Tipo '+ 'ON S1.Cod_tipo = Tipo.Cod_tipo WHERE (((L.data) Between #'+datainicial+'# And #'+datafinal+'#)) ORDER BY L.data, L.Cod_lancamento'; flag:=1; end; end; FRelatSint.QuickRep1.Preview; end; obrigada jhonas:) esse flag eu uso para posicionamento dos dbedits e outros controles..porque difere dependendo da consulta
  13. oi pessoal, estou com um um problema quando executo minhas buscas.. tenho um form, e nele deixo a opcao do usuario fazer a pesquisa do jeito q ele quer: tipos, subtipos, cliente, data, todos..enfim..só que em algum momento, ele dá esse erro. é estranho porque quando eu mando procurar(primeira vez) por data, tipo, subtipo1 e subtipo2 ele busca normal, sem erros, mas se eu faço por partes ele da erro...tipo assim: eu mando procurar por data, ele busca sem erro, depois eu mando buscar por data e tipo, sem erro novamente, depois por data e subtipo1, sem erros... dae quando mando por subtipo2 ele dá esse erro =S sendo q quando eu mando procurar por data, tipo, subtipo1 e subtipo2 na primeira vez q abro o form ele busca sem erros, mas se é na segunda consulta em diante, ele da o erro: "list index out of bounds(8)" não consigo entender...alguém sabe q erro é esse? e o porque dá esse erro?valeu
  14. lucy4000

    quickreport

    Micheus Obrigada amigo, quebrou um galhao...mas eu queria saber se dava para deixar o pagefooter logo abaixo do ultimo registro na impressao, tipo, se os registros acabarem na metade da folha, queria q o total aparecesse logo abaixo, na metade da folha e não la no rodapeh..tentei usar o top, mas não deu certo :S então, a estrutura tah assim : pageheader, columnheader, groupheader(dados da tabela lançamentos), detail(dados da tabela descricao_lançamentos), groupfooter(soma os dados de detail e estah ligado com o groupheader), summary, pagefooter. No caso do registro ser muito grande.....o cliente disse q poderia ir para a outra folha, contanto q repetisse o total dos registros da pagina anterior, na pagina nova...tipo assim: lançamento1 det1 = 10,00 det2 = 20,00 det3 = 50,00 -------------------(fim da folha1) (começo da segunda folha) 80,00 (valor a ser transportado da folha1 - soma dos detalhes) det4=20,00 det5=30,00 ______________ 130(groupfooter) Para o registro ir para a outra pagina inteiro, é no caso de um registro pequeno, tipo...umas 8 linhas... para registros maiores, pode ser desse jeito q coloquei ae em cima, quebrar ele, mas transportar o valor da soma dos detalhes da primeira pagina para segunda, e la continuar calculando. Obrigada mais uma vez Micheus =)
×
×
  • Criar Novo...