
Progr'amador
Veteranos-
Total de itens
1.130 -
Registro em
-
Última visita
Tudo que Progr'amador postou
-
Opa, eu errei a segunda opção: ou Modulo.MESROMCAR1.SQL.Add('Select codfortra,datsai,numromcar from mesromcar where numromcar=:num); Modulo.MESROMCAR1.ParamByName('num').AsInteger := StrToInt(Edit1.Text); Posta o erro que ta dando ae. Abs. Progr'amador.
-
Ola Renatosky, faz um tempão que não mexo com oracle, tente converter o campo numero para texto ou use parametro: Modulo.MESROMCAR1.SQL.Add('Select codfortra,datsai,numromcar from mesromcar where to_char(numromcar)='+#39+edit1.Text+#39); ou Modulo.MESROMCAR1.SQL.Add('Select codfortra,datsai,numromcar from mesromcar where numromcar=:num); Modulo.MESROMCAR1.ParamByName(''num).AsInteger := StrToInt(Edit1.Text); Abs. Progr'amador.
-
Parabéns a vocês: Renato e Diraol Abs. Progr'amador.
-
Olá galera! Vou ter que me despedir da Moderação mas uma vez. É que bloquearam os acessos de todos os sites exceto .org la no trampo, e como era o unico lugar que eu tinha acesso gratis, infelizmente vou ter que sair, num da pra ficar frequentanto Lan-house todo dia, e mesmo que podesse, na Lan-house não teria minha ferramente da trabalho (delphi), e por isso, prefiro sair, do virar turista. Foi um prazer poder fazer parte dessa familia, Fiquem com Deus, e até a proxima!!!! Abs. Progr'amador. B)
-
Olá eder, Abrir em QRLabel isso torna seu relatorio lento dependendo do volume de dados, netão você pode usar o UNION na select pra abrir uma so vez, não se assuste com o tamanho da select: SELECT '01' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 1 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '02' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 2 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '03' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 3 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '04' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 4 and extract(year from DATA_EMISSAO)= :pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '05' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 5 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '6' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 6 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '7' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 7 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '8' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 8 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '9' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 9 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '10' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 10 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '11' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 11 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P")) UNION SELECT '12' AS mês, sum(VALOR_N_FISCAL) as TOTVM, sum(FRETE_PESO) as TOTFPESO, sum(FRETE_VALOR) as TOTFVALOR, sum(DESPACHO) as TOTDESPACHO, sum(VLR_ICMS) as TOTICMS, sum(VALOR_FRETE) as TOTFRETE, sum(PACOTE) as TOTQTDCTRC FROM CTRC WHERE extract(month from DATA_EMISSAO)= 12 and extract(year from DATA_EMISSAO)=:pAno and ((SITUACAO_CTRC = "F") OR (SITUACAO_CTRC = "L") OR (SITUACAO_CTRC = "P"))[/codebox] posta aí um exemplo pratico desse "filtro" você está falando. Abs. Progr'amador. B)
-
Olá Eder, que tipo de filtro você se refere? desculpe, mas ainda não consegui entender direito sua duvida. Perguntas: Como você esta fazendo a busca nessa query QRYMESES? você esta abrindo a query para cada mês?, tipo, em um WHILE mês a mês? Com os dados selecionados sempre vai trazer o resultado dos 12 meses ou pode variar? Abs. Progr'amador. B)
-
Olá Eder, use uma Query, é mais prático: Delete From Tabela Where Codigo between 100 and 150 Executando: begin Query1.Prepare; Query1.ExecSql; Query1.UnPrepare; end; Abs. Progr'amador. B)
-
Olá Eder, você definil o tipo de parametro na Query, la em Params > DataType = ftString Abs. Progr'amador. B)
-
Olá Eder, Coloque tres QRBands: declare 4 variaveis: var Form1: TForm1; vPeso, vValor, vFrete, vIcms : Real; implementation no Evento BeforePrit (ou AtferPrint) do QRBand1 :begin vPeso := 0; vValor := 0; vFrete := 0; vIcms := 0; end; No QRBand2 :begin vPeso := vPeso + Query1.FieldByName('Peso').Value; vValor := vValor + Query1.FieldByName('ValoeMercadoria').Value; vFrete := vFrete + Query1.FieldByName('Frete').Value; vIcms := vIcms + Query1.FieldByName('Icms').Value; end; adicione 4 QRLabel's no QRBand3 (summary) e no evento OnPrint de Cada label coloque: procedure TForm1.QRLabel1Print(sender: TObject; var Value: String); begin Value := FormatFloat('###,###,###,#0.00', vPeso); end; procedure TForm1.QRLabel2Print(sender: TObject; var Value: String); begin Value := FormatFloat('###,###,###,#0.00', vValor); end; procedure TForm1.QRLabel3Print(sender: TObject; var Value: String); begin Value := FormatFloat('###,###,###,#0.00', vFrete); end; procedure TForm1.QRLabel4Print(sender: TObject; var Value: String); begin Value := FormatFloat('###,###,###,#0.00', vIcms); end;[/codebox] e Pronto. :rolleyes: Qualquer dúvida posta aí falou!!! Abs. Progr'amador. B)
-
Olá ranilson,Tem sim, só que não seria bem um comando mas sim configuração mesmo. De dois cliques no QuickRep1 (não clique em cima de nenhum band tem que ser numa parte limpa) e abrirá a janela Repot Settings e lá tem as opções , no seu caso seria: Abs. Progr'amador. B)
-
Olá Renato, Como coloquei num outro tópico do Erso, O Oracle trabalha com esse formato: 0,000,000.00 Esse erro deve ser decorrente de incompatibilidade. coloque no OnCreate do Form Principal: ThousandSeparator := ','; DecimalSeparator := '.'; Abs. Progr'amador. B)
-
Olá Erso, O Oracle está gravando nesse formado? :huh: Qual é a versão do Oracle qeu você esta usando? O Oracle trabalha com valores no formato americano, tipo: 0,000,000.00 No caso você teria que mudar o configuração no seu programa quando iniciar, tipo no OnCreate do Form Principal: ThousandSeparator := ','; DecimalSeparator := '.'; Abs. Progr'amador. B)
-
Olá, você pode usar tambem o HeidiSQL 3.0 que subistituiu o MySQL-Front. abs. Progr'amador. B)
-
Olá, select distinct Produtoid, Entrada, Saida, QtdEntrada - QtdSaida as Saldo from (select sum(Item_Quantidade) as Entrada from itens_entrada) as t1, (select sum(Item_Quantidade) as Saida from itens_saidas) as t2, tab_produtos abraços. Progr'amador. B)
-
Olá, se for pra apagar somente o valor do campo aí seria o UPDATE mesmo, o DELETE somente se você for deletar o registro inteiro. abraços Progr'amador B)
-
Ok, vamos passo a passo. adcione no seu form Principal o componente Database no caso Database1 ( estamos falando da paleta BDE ) e nas opções abaixo: AliasName : <coloque eu alias>. Databasename : <um nome qualquer, vou chamar de MeuBanco > LoginPrompt : Fasle; Params: TStrings [...] : e no seu(s) Table(s) na opção DataBasename é so colocar esse "MeuBanco" que vai esta la na lista. e pra conectar é execultar no OnCreate do Form principal: Database1.Connected := True; abraços Progr'amador. B)
-
table? você tera que usar um componente de conexão e linkar esse table a esse componente. você está usando o da paleta BDE mesmo??? se for, use o comp. DataBase. abraços Progr'amador. B)
-
Ola juniorboll, com qual componente você esta conectando ao banco? esse componente deve ter as opções: LoginPrompt, e Params, Na opção Params você coloca o usuario e a senha de conexão, tipo: USERNAME = usuario PASSWORD = senha e defina FALSE em LoginPrompt que pessimismo hein! :D abraços Progr'amador. B)
-
Olá Fabio, O recomendável é você criar um arquivo INI. Exemplo: declare no uses: IniFiles Criando um arquivo INI: var vSom1, vSom2, vSom3, etc..., Som15 : string; ArqIni : string; SomIni: TIniFile; begin ArqIni := ExtractFilePath( Application.ExeName )+'\Config.ini'; if not(fileexists(ArqIni)) then begin SomIni := TIniFile.Create(ArqIni); SomIni.WriteString('SOM', 'Som1', 'Meu Som1'); SomIni.WriteString('SOM', 'Som2', 'Meu Som3'); SomIni.WriteString('SOM', 'Som3', 'Meu Som2'); etc... SomIni.WriteString('SOM', 'Som15', 'Meu Som15'); SomIni.Free; end; Pegando as incormações do .INI e jogando em variaveis:ArqIni := ExtractFilePath( Application.ExeName )+'\Config.ini'; SomIni := TIniFile.Create(ArqIni); vSom1 := SomIni.ReadString('SOM', 'Som1', '0'); vSom2 := SomIni.ReadString('SOM', 'Som2', '0'); vSom3 := SomIni.ReadString('SOM', 'Som2', '0'); etc... vSom15 := SomIni.ReadString('SOM', 'Som15', '0'); abraços Progr'amador. B)
-
Olá Eder, você colocou na opção DataSource da QryItVisita o DataSource1 que esta ligado a QryVisita??? é isso que fará o relacionamento. Pode mandar. elienai@tj.ro.gov.br Obs. Esse e-mail tem bloqueios para certos arquivos, então se você mandar zipado (.ZIP), tem que renomear mudando o tipo de arquivo para txt por exemplo, tipo Projeto.zip para Projeto.txt, aí quando eu for abrir aqui eu renomeio para ZIP dinovo. Entendeu??? ;) Ok, Valeu! tudo de bom pra você tambem :D abraços Progr'amador. B)
-
Olá Eder, Voce fez isso: abraços Progr'amador. B)
-
Isso mesmo, foi erro meu. já ocorreu comigo (não sei se era bug) um fato desse, de ter registro e o RecordCount esta com valor -1 :huh: Então faz da forma você tinha feito, usando a função IsEmpty: If Query1.IsEmpty Then begin ShowMessage('Nenhum Registro Encontrado!'); exit; end; quickrep1.preview; Quanto ao erro: qryvisita parameto dataf não encontrado deve esta faltando algum atributo aí! Tenta ai a primeira opção. abraços Progr'amador. B)
-
Não!!!, não desista! Vamos fazer o seguinte: Use o mesmo relatorio que você tava usando, (faça um Backup antes) Vamos muda um pouco a estrutura dele. Adicione outra Query, vou chamar as Queryes de QryVisita e QryItVisita e um Data Source (DataSource1) ligado à QryVisita. Na opção DataSet do QuickRep1 coloque a query QryViSita. E nas Querys coloque (no Object Inspector): ------------------------------------------------------ QryViSita: SQL: Params: ------------------------------------------------------ QryItVisita: SQL: Params: DataSource : DataSource1 ------------------------------------------------------ Substitua os DataSet dos seus QRDBText de acordo com as suas Querys e o codigo a baixo: var vendedor : string; begin if DbVendedor.Text = 'TODOS' then vendedor := '%' else vendedor := DbVendedor.Text; with FormR1CVisita do begin QryVisita.Close; QryVisita.ParamByName('datai').AsDate := DateTimePicker1.Date; QryVisita.ParamByName('dataf').AsDate := DateTimePicker2.Date; QryVisita.Open; QryItVisita.Close; QryItVisita.Open; if QryVisita.RecordCount > 0 then QuickRep1.Preview else begin ShowMessage('Nenhum Registro Encontrado!'); exit; end; end; ou se preferir montar as querys em tempo de execução: var txt1, txt2, vendedor : string; begin if DbVendedor.Text = 'TODOS' then vendedor := '%' else vendedor := DbVendedor.Text; txt1 := 'Select * from VISITA ' + 'where vendedor like '+QuotedStr(vendedor)+' and ' + ' data between :datai and :dataf' + 'order by Vendedor, data'; txt2 := 'Select * from VISITA ' + 'where CodVisita = :cod'; with FormR1CVisita do begin QryVisita.Close; QryVisita.SQL.Clear; QryVisita.SQL.Add(txt1); QryVisita.ParamByName('datai').AsDate := DateTimePicker1.Date; QryVisita.ParamByName('dataf').AsDate := DateTimePicker2.Date; QryVisita.Open; QryItVisita.Close; QryItVisita.SQL.Clear; QryItVisita.SQL.Add(txt2); QryItVisita.ParamByName('cod').AsInteger := QryVisita.FieldByName('codigo').AsInteger; QryItVisita.Open; if QryVisita.RecordCount > 0 then QuickRep1.Preview else begin ShowMessage('Nenhum Registro Encontrado!'); exit; end; end; quaisquer dúvidas em um dos pontos, pode perguntar mesmo! abraços Progr'amador. B) abraços
-
Olá juniorboll, Faz assim: Query1.SQL.Add('Where pagamento is null '); ou Query1.SQL.Add('Where pagamento = '''' '); abraços Progr'amador. B)
-
Olá Eder, Em Tutoriais & Dicas, tem um exemplo bem simples usando DUAS Queryes (Link abaixo), siga passa a passo usando as suas tabelas que vai da certo, observe todos os detalhes sem pressa. Procure fazer do zero (Um novo relatorio), e não esqueça de fazer um backup antes. ;) Criando Um Relatório no QuickReport Passo a Passo abraços Progr'amador. B)