Ir para conteúdo
Fórum Script Brasil

Eder

Membros
  • Total de itens

    1.002
  • Registro em

  • Última visita

Tudo que Eder postou

  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. 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.
  15. Ola, gostaria de saber como Obter a Idade através de duas data, Data de Hoje em relação a data de aniversário. Estou usando esta dica, mas ela as vezes se perde.... se eu digitar a data de nascimento 13/11/1970 ela me traz 41 anos esta correto, mas se eu digitar 13/02/1970 ela não me mostra nada...sai em branco o resultado do label. Obrigado, Eder
  16. Eder

    Combobox

    Ola, Jhonas, R.: o foco não vai para outro componente, não. R.: forcei colocando este codigo no Onenter do componente COMBOBOX, mas ele não fica aberto, se fecha sozinho. Tem vezes que ele trabalha direitinho, mas as vezes acontece isto, parece alguma coisa a ver com a performace da maquina, memoria, sei lá, muito estrado mesmo...ele é muito instavel...não sei porque... Grato
  17. Eder

    Combobox

    Ola, Tenho um programa que tem varios combobox´s e quando o usuario abre o mesmo não da tempo para ele selecionar pois o combobox fecha sozinho... O estranho que só acontece na minha maquina, nas demais maquinas não acontece ele fica aberto o tempo que o usuario necessite. Porque acontece isto? Tem como eu forçar para que ele fique aberto até o usuario permitir? Obrigado :blush:
  18. Jhonas, Problema resolvido. Peguei a sua dica + uma dica que achei na net ficando assim: e no Onclose no FormComVendedor: Deste jeito a mensagem de erro sumiu, fiz uns tentes gerando mais de 20 relatorios simultaneos e o erro não ocorrem mais. Amigo, Muito Obrigado pela ajuda. Abraço.
  19. Ok, tirei o código, mas agora não me deixa gerar nenhum relatorio da: Erro na criação do formulário. Vou verificar com calma aqui e depois volta para dizer se deu certo... valeu...Jhonas.. Obrigado
  20. Ola, Jhonas, Fiz como sugeriu, mas ainda acontece o erro...ele passa pelo IF não critica('Erro na criação do formulário ) e acontece o erro, mas sempre depois de gerar duas vezes. :unsure:
  21. Ola, Tenho um relatório, um tanto complexo no delphi + quick report, ele trabalha com várias quickrep´s e com o componente do quick QRCompositeReport que une as quickrep´s para formar o relatório. O relatório funciona perfeitamente, porem quando o usuario coloca para gerar pela terceira vez ele da o erro: "INSUFFICIENT MEMORY FOR THIR OPERARION". Ai tenho que fechar a aplicação e gerar novamente, ai funciona...nunca da para gerar mais de 2 relatórios, sempre na terceira vez da este erro. Já fiz algumas mudanças no BDE tipo: altetei na propriedade “SHAREDMEMSIZE” com 4096, e altere a propriedade “SHAREDMEMLOCATION” para “0×5BDE”. Mas não resolveu.. Gostaria de saber se alguém já passou por isto e se resolveu este problema. Muito Obrigado. :unsure:
  22. Eder

    Formulario php

    Ola, pessoal, Estou usando um form para enviar de mensagens direto no site, funciona perfeito, porem ele envia para apenas um email e agora estou coma necessidade de enviar para mais de uma email... Tentei usando o ponto e virgula, mas a mensagem não chega na empresa. Abaixo o codigo do PHP: <? // aqui começa o script //pega as variaveis por POST $nome = $_POST["nome"]; $cidade = $_POST["cidade"]; $estado = $_POST["estado"]; $email = $_POST["email"]; $telefone = $_POST["telefone"]; $para = $_POST["para"]; $tassunto = $_POST["tassunto"]; $mensagem = $_POST["mensagem"]; $empresa = $_POST["empresa"]; global $email; //função para validar a variável $email no script todo //testa abaixo o campo nome para não ficar vazio.. If ($nome =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário preencher o campo NOME!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>Nome</strong>!</a></left>"; Exit;} // If ($cidade =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário preencher o campo CIDADE!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>Cidade</strong>!</a></left>"; Exit;} // If ($estado =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário selecionar o campo ESTADO!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>Estado</strong>!</a></left>"; Exit;} // If ($email =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário preencher o campo E-MAIL!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>E-mail</strong>!</a></left>"; Exit;} // If ($telefone =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário preencher o campo TELEFONE!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>Telefone</strong>!</a></left>"; Exit;} // If ($para =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário selecionar o campo PARA-DEPARTAMENTO!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>Para-Departamento</strong>!</a></left>"; Exit;} // If ($tassunto =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário preencher o campo ASSUNTO!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>Assunto</strong>!</a></left>"; Exit;} // If ($mensagem =="") { echo "<script language='JavaScript'>"; echo "alert('É necessário preencher o campo MENSAGEM!');"; echo "</script>"; echo "<br><br><left><a href=\"java script:history.back(1)\">Erro:<br>Por favor, informe seu <strong>Mensagem</strong>!</a></left>"; Exit;} //CONFIGURAÇÃO DOS EMAIL´S POR SETOR If ($para =="rodo") { $para = "sistemas@teste.com.br; eder@teste.com.br"; } If ($para =="finan") { $para = "finan@teste.com.br; neide@teste.com.br"; } // CONFIGURAÇÃO - PARAMETROS $data = date("d/m/y"); //função para pegar a data de envio do e-mail $ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário $navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante $hora = date("H:i"); //para pegar a hora com a função date // AQUI ENVIA O EMAIL PARA VC mail("$para", //email aonde o php vai enviar os dados do form "Mensagem do Site TESTE: $tassunto", "Mensagem do Site TESTE\n\nData: $data\nHora: $hora\nIp: $ip\nNome: $nome\nCidade: $cidade\nEstado: $estado\nE-mail: $email\nTelefone: $telefone\nPara: $para\nAssunto: $tassunto\nMensagem: $mensagem", "From: $email" ); //aqui são as configurações para enviar o e-mail para o visitante AGRADECENDO O ENVIO DA MENSAGEM $site = "$para"; //o e-mail que aparecerá na caixa postal do visitante $titulo = "RE: Contato - Site teste - www.teste.com.br"; //titulo da mensagem enviada para o visitante $msg = "$nome, obrigado por entrar em contato conosco, em breve entraremos em contato. Obrigado. $empresa"; //aqui envia o e-mail de auto-resposta para o visitante mail("$email", "$titulo", "$msg", "From: $site" ); if (mail) header ("Location:obrigado.htm"); else header ("Location:erro.htm"); ?> <p>&nbsp;</p> Obrigado. :)
  23. Ok, colega, Muito Obrigado, Desculpa a demora em responder... falou.
  24. Ola, estou usando este codigo para alterar a imagem na pagina conforme o dia da semana, porem ele só mostra a imagem, eu gostaria de colocar o link do site da imagem(empresa) que aparece. Tambem se possivel ao passar o mouse em cima aparecer o SHOW HINT, ou seja uma frase ou telefone da empresa. Segue abaixo o codido: Muito Obrigado
×
×
  • Criar Novo...