Jump to content
Fórum Script Brasil

Eder

Membros
  • Content Count

    1020
  • Joined

  • Last visited

Community Reputation

0 Neutro

1 Follower

About Eder

  • Birthday 11/13/1970

Perfil

  • Gender
    Male
  • Location
    Blumenau - SC
  1. Eder

    Consulta Cnpj Raiz

    Ok. Jonas, na próxima semana vou pensar nisto então. Obrigado pelas dicas.
  2. Eder

    Consulta Cnpj Raiz

    Jonas, respondendo a sua pergunta até para você entender, talvez foi erro meu não ter colocado: trazer todos os dados da tabela Ctrct.DB a qual foi cadastrado o cnpj raiz na tabela Clidife. Tipo na CtrcT.db esta assim cadastrado o cnpj 77.777.777/0001-00 e na tabela Clidife.db assim 77.777.777 somente sua resposta: Não sei porque voce está usando 2 tabelas com os mesmos dados ( duplicidade de informação ).... voce pode buscar os CNPJs pelos numeros iniciais e se não quiser o valor restante depois da barra, voce pode tirar explicação: criei outra tabela justamente CLIDIFE.db PARA dizer que aqueles clientes cadastrados com cnpj raiz são para gerar uma condição tipo pagar um percentual de comissão diferenciado, inclusive nesta tabela tem o campo: CNPJ_CPF_RAIZ, PERCENTUAL etc... cada cnpj raiz cadastrado e o percentual diferenciado para cada um deles cadastrado, então na consulta na tabela CTRCT-DB faz a busca de todos os faturamentos por cliente analisando os cnpj_cif_raiz cadastrado na tabela CLIDIFE.db Não sei se fui claro, mas este é o objetivo principal e explicação de ter duas tabelas e fazer esta consulta, não sei se fui claro. Poderia até usar a sua dica acima, mas toda vez que precisaria pagar uma condição especial para um cnpj_raiz teria que alterar o código fonte, assim para facilitar criei a tabela clidife.db e ai o próprio usuário cadastra nela os cnpj_raiz sem precisar que eu altere o código. se tiver uma ideia de como fazer ... Obrigado, Eder
  3. Eder

    Consulta Cnpj Raiz

    Ok Jonas deu certo: procedure TForm1.Button1Click(Sender: TObject); var Txt1, vCNPJ : string; begin vCNPJ := '53.258.117'; Query1.Active := false;; Txt1 := 'SELECT * FROM CTRCT WHERE CTRCT.DEST_CNPJ LIKE :Pcnp'; Query1.SQL.Clear; Query1.SQL.Text := Txt1; Query1.ParamByName('Pcnp').AsString := vCNPJ + '%'; Query1.Active := true; end; Mas ai voltei naquela situação que comentei ali em cima e baixo agora, como buscar a informação da tabela CLIDIFE aonde esta cadastradas os cnpj raiz? " trazer todos os dados da tabela Ctrct.DB a qual foi cadastrado o cnpj raiz na tabela Clidife. Tipo na CtrcT.db esta assim cadastrado o cnpj 77.777.777/0001-00 e na tabela Clidife.db assim 77.777.777 somente como esta abaixo porem lógico não da certo." CTRCT.DEST_CNPJ LIKE CLIDIFE.CNPJ_CPF_RAIZ+'%'
  4. Eder

    Consulta Cnpj Raiz

    verdade...fiz o exemplo mas deu erro: Mas Jonas o que eu precisava não é bem isto que você deve estar achando e sim trazer todos os dados da tabela Ctrct.DB a qual foi cadastrado o cnpj raiz na tabela Clidife. Tipo na CtrcT.db esta assim cadastrado o cnpj 77.777.777/0001-00 e na tabela Clidife.db assim 77.777.777 somente como esta abaixo porem logico não da certo. CTRCT.DEST_CNPJ LIKE CLIDIFE.CNPJ_CPF_RAIZ+'%'
  5. Eder

    Consulta Cnpj Raiz

    Ola, Jonas, Boa Tarde, Obrigado por ajudar fiz um pequeno deste mas não funcionou, veja procedure TForm1.Button1Click(Sender: TObject); var Txt1, CNPJ : string; begin CNPJ := '53.258.117'; Query1Cnpj.AsString:=Cnpj; Txt1 := 'SELECT * FROM CTRCT WHERE CTRCT.DEST_CNPJ LIKE :cnpj+"%"'; Query1.Close; Query1.SQL.Text := Txt1; Query1.Open; end; erro: query1 dataset not in edit or insert mod😉
  6. Eder

    Consulta Cnpj Raiz

    Ola Boa noite não estou conseguindo rodar esta consulta retorna todos os campos da tabela e não filtra O cnpj raiz cadastrado na tabela CLIDIFE.CNPJ_CPF_RAIZ SELECT * FROM CTRCT, CLIDIFE WHERE (CTRCT.DEST_CNPJ LIKE CLIDIFE.CNPJ_CPF_RAIZ+'%') //CLIDIFE.CNPJ_CPF_RAIZ ARMAZENA CNPJ RAIZ ORDER BY CTRCT.NUMERO_CTRC mas se eu faço desta forma funciona perfeitamente: SELECT * FROM CTRCT WHERE CTRCT.DEST_CNPJ LIKE '53.258.117'+'%' ORDER BY NUMERO_CTRC estou usando o comando errado?? tentei like = mas nada.. Obrigado,
  7. Ola, preciso fazer uma consulta em duas tabelas paradox. porem só me retorna os dados iguais ao cliente cadastrado primeiro registro da tabela QUERYCLIENTES, os demais não calcula na condição. If (QueryCTRCDest_Cnpj.asstring = QueryCLIENTESCnpj_Cpf.AsString) then begin PercVen := 50; Value:=FloatToStr((Query1Valor_Frete.asFloat * PercVen)/100); end else Gostaria de uma solução que comparasse todos os clientes cadastradas na tabela QUERYCLIENTES e não só i primeiro cliente. Obrigado.
  8. ola, Seingalt vamos ver se te ajudo um pequeno exemplo em Paradox. abra uma aplicação e um formteste insira nele os compontes: Edit1 DataSource1 Table1 DBGrid1 Button1 vincule a table1 uma tabela exemplo cadastro de clientes.db ou outro qualquer link o datasource1 a table1 e o datasource1 ao dbgrid1 Ative a Table1 no button1 coloque o codigo: Edit1.Text:=Table1Cliente.AsString; // o Cliente ali é o nome do campo na tabela espero ter ajudado em algo. abs
  9. sim tem cabeçalho com o nome dos campos, separado também por ponto e virgula. segue o inicio do código para vc ver se consegue me dar uma ajudinha com o pequeno exemplo. Assignfile(Txt,(ExtractFilePath(Application.ExeName))+'\CTRC.TXT');//caminho do arquivo CSV Reset(Txt); ArqLido := 0; ArqSize := FileSize(txt) *128; // *** FileSize assume blocos de 128 quando não é arquivo "tipado" gauge1.MaxValue := 104; // *** equivale a 100 +4 valores que você incrementa na mão Linhas := 0; While not Eoln(Txt) do begin Readln(Txt,Entrada); //miachael abaixo ArqLido := ArqLido +Length(Entrada)+2; //*** este 2 = CR+LN (presumido) Gauge1.Progress := Trunc(ArqLido/ArqSize *100); // *** progress chegará no máximo a 100 (%) // Inc(Linhas); If Linhas > 3 then //aqui verifica e desconcidera AS 4 primeiras linhas do CSV If (Copy(Entrada, 1, 1) = '3') then //AQUI CONSIDERA SOMENTE AS LINHAS QUE TEM O CAMPO 1 = 3 begin Table1.Insert; Table1.FieldByName('1').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('sigla_ctrc').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('numero_ctrc').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('sigla_cte').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1 Obrigado.
  10. Ola, bom dia Uso este código para impostar dados de um arquivo txt separado por ponto e virgula(;) Table1.FieldByName('sigla_cte').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('numero_cte').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('ctrc/subcontr').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('nro_chave_acesso_cte').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Table1.FieldByName('situacao_ctrc').Value := Copy(Entrada,1, Pos(PathSep, Entrada) - 1); Delete(Entrada, 1, Pos(PathSep, Entrada)); Minha dificuldade é que toda hora é incluido um campo novo no arquivo txt e o meu aplicativo da erro, pois ele não reconhece o campo novo incluso. Teria como fazer na hora de importar pular este campo novo? só importando o que realmente eu quero? Obrigado, Abs Eder
  11. Jonas, parceiro, desculpa a demora estava em viagem e agora pude ver. Vou dar uma analisada no seu código e ver se consigo resolver. Obrigado e Grande Abraço.
  12. Ola, pessoal, depois de muitos anos voltei ao forum, rss, novos caminhos profissionais. Preciso de uma ajudinha, estou meio destreinado no delphi, Estou usando este código para pintar a célula selecionada no DbGrid, mas precio que além dela pintar que ela "pisque". Vi vários exemplo na net e no forum mas não consegui chegar nem próximo ao que quero. Por gentileza, vejam se conseguem me ajudar, segue meu código: procedure TFormColetas.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if column.Field.AsString = 'CANCELADA' then begin DBGrid1.Canvas.Brush.Color:= clred; DBGrid1.Canvas.Font.Color:= clblack; DBGrid1.Canvas.Font.Style:= [fsbold]; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; Abs a todos!
  13. ola, ainda uso o D4 e precisaria de algo para converter do quickreport para PDF, tem algo??
  14. perfeito, Antonio. Muito Obrigado pela ajuda.
×
×
  • Create New...