Ir para conteúdo
Fórum Script Brasil

Vivendo&Aprendendo

Membros
  • Total de itens

    856
  • Registro em

  • Última visita

Tudo que Vivendo&Aprendendo postou

  1. Ola Eder... Eu utilizo dois botões no form um para mostrar o relatório no monitor e outro para imprimir, mas ai via algumas dicas: 1 - Você pode fazer somente o botão de visualizar e se o cliente quiser imprimir ele imprime pelo relatório mesmo; 2 - Colocar checkbox no form com as opções de impressão no papel e na tela; São umas das opções que temos... Abraços Alexandre
  2. Ok galera, problema solucionado, consegui fazer da forma que estava querendo, ou seja, com dois adoquery... muito obrigado a todos... abraços Alexandre
  3. Olá Rafael Eu tenho um tutorial de como criar e utilizar as Dll, me passa o seu e-mail que eu te envio ele. Abraços Alexandre
  4. Ou você pode colocar no evento OnKeyDown da seguinte maneira: If Key = VK_TAB then showmessage('tecla Tab clicada'); Abraços Alexandre
  5. Ae pessoal Consegui fazer o relatório metre/detalhe, da seguinte forma: Uma bando como RbDetail, contendo os dados das Saídas; Um QrSubDetail, contendo os dados dos Itens de Saídas; Um QrSubDetail, contendo o valor total da Saída; Um AdoQuery para a tabela de Saídas; Um AdoTable para a tabela de Itens Saídas; Conectei os dois pelas propriedades MasterSource e MasterField do AdoTable; O QrSubDetail dos itens na propriedade DataSet linquei ele com o AdoTable E o QrSubDetail do valor das saídas linquei com o AdoQuey; Funciona certinho, mas a primeira consulta que faço ele joga todas as vendas como se fosse somente uma e depois vai agrupando por cliente certinho, e as próximas consultas que faço ele já faz tudo certo. O que pode ser? Alexandre
  6. Este erro é referente ao campo código da tabela que você esta utilizando, verifique se não esta chamando ele errado, ou se não esta nem se quer chamando. Verifique isso na propriedade Field Alexandre
  7. Galera não estou conseguindo fazer isso, por favor alguém ai me ajude, só falta esse relatório para finalizar o meu projeto. Eu criei a consulta normal mas não sei como montar o corpo do relatório, se alguém ai tiver algum modelo por me envie. Alexandre
  8. Olá Micheus... Me desculpa o encomodo ai de novo cara, mas não consegui fazer, tentei de várias formas, mas não da certo. Agora abusando da sua boa vontade, teria como você cria um modelo de mestre detalhe com AdoQuery pra e me enviar cara? É um relatório de saídas onde tenho que separar as comprar por cliente. Sem mais.... Abraços Alexandre
  9. Beleza Micheus vou tentar e posto o resultado.. Obrigado Alexandre
  10. Olá Allanrf A pesquisa funciona perfeitamente... Fiz um exemlpo com Table da paleta BDE e funcionou. Table1.Locate('VendorNo',Edit1.Text,[loCaseInsensitive]); Utilizei o banco de dados do Access padrão do delphi como exemplo (DBDemos), com DB é a mesma coisa... Qualquer coisa posta o seu código para dar uma olhada.. Alexandre
  11. Ok Micheus... Mas eu preciso vincular as duas tabela (no meu caso Saidas e ItensSaidas - Access), uma com a outra pelas propriedades: MasterSource, MasterField. E no AdoQuery não possui essas propriedades. Essa é a minha dúvida, como utilizar o AdoQuery para fazer esse vinculo. A minha SQL para a consulta é a seguinte: DmDados.Saidas.Close; DmDados.Saidas.SQL.Clear; DmDados.Saidas.SQL.Add('Select * From Saidas'); DmDados.Saidas.SQL.Add('Where Cliente Like :pCli'); DmDados.Saidas.SQL.Add('Order By Codigo'); DmDados.Saidas.Parameters[0].Value := EdtBusca.Text + '%'; DmDados.Saidas.Open; Onde DmDados é o Data Module, Saidas é a tabela. Alexandre
  12. Obrigado Jhonas Bom obrigado pelas dicas, mas como falei já uso o flash, já sei qual é o componente usado pelo delphi para ativar o arquivo flash, só que agora preciso usar um botão feito em flash no delphi e o componente ShockwaveFlash1 não possui o evento OnClick e gostaria de saber qual evento substitiu este. Ou se preciso fazer de forma diferente. Obrigado Alexandre
  13. Pessoal eu utilizo animações do flash em minhas aplicações, mas agora a duvida é a seguinte: Criei um botão no flash com animações. Para colocar ele no delphi ta tudo certo, o problema é o seguinte: - Em qual evento do componente Shockwave do delphi eu faço a progrmação para o clica por exemplo? Já que este componente não possui a propriedade OnClick. Alexandre
  14. Olá pessoal... Seguinte, tenho na minha aplicação alguns relatórios em QuickReport onde utilizo a forma Mestre Detalhe para faze-los, mas o problema é o seguinte, preciso fazer esses relatórios utilizando componentes AdoQuery e não AdoTable ou Tables, preciso da propriedade SQL para efetuar as consultas. Alguém ai poderia me ajudar a criar eles com AdoQuery ou me informar uma outra possibilidade de fazer essews relatórios? Agradeço... Alexandre
  15. Olá... Se a consulta for usar SQL utilize assim: AdoQuery.Close; AdoQuery.SQL.Clear; AdoQueryentes.SQL.Add('Select * From Clientes'); AdoQuery.SQL.Add('Where CPF Like :pCpf '); AdoQuery.SQL.Add('Order By Codigo'); AdoQuery.Parameters[0].Value := Edit1.Text + '%'; AdoQuery.Open; Se for usar sem SQL: AdoQuery.Locate('Cpf', Edit1.Text,[LoCaseInsenditive,LoPartialKey]); Alexandre
  16. Vivendo&Aprendendo

    Ado

    Olá Você pode excluir registro do banco de dados sem esse monte de código ai, use apenas isso: if ( MessageDlg('Você Confirma a Exclusão do Arquivo?', mtWarning, [mbOK, mbCancel],0)=mrok) then AdoQuery.Delete; Ou se prefere utilizar da forma que você esta fazendo, use da seguinte maneira: procedure TForm2.BitBtn4Click(Sender: TObject); var codigo: string; begin if ( MessageDlg('Você Confirma a Exclusão do Arquivo?', mtWarning, [mbOK, mbCancel],0)=mrok) then begin codigo := intTostr(Adoquery1codigo.Value); Adoquery1.Close; Adoquery1.SQL.Clear; Adoquery1.SQL.add('delete from cliente where codigo=[b]'+IntToStr(Cod));[/b] Adoquery1.ExecSQL; Adoquery1.Close; end; Adoquery1.SQL.Clear; Adoquery1.SQL.Add('select * from cliente'); Adoquery1.Open; end; Veja que na hora de chamar a variável dentro da SQL mesmo sendo ela Integer e o campo do banco de dados sendo número você deve transforma ela para integer também, pelo menos é o que eu faço para poder dar certo. Mas lembrando que eu não utilizo essa segunda maneira e sim a primeira, pois é bem mais simples e faz o mesmo resultado. Abraços... Alexandre
  17. Olá Darth_Ivan Para que tipo de animação você esta querendo? se for animação em flash o delphi tem o componente próprio para isso... Alexandre
  18. Cara o código deve ser inserido no componente Edit.... ou em um Botão para capturar o valor do edit e transformar ele... Alexandre
  19. Olá segue um exemplo, que encontrei na net... não testei ele... Para subtrair ou somar nº de dias à uma data, você vai precisar de : 1- um Edit para data – edtData; 2- um Edit para o nº de dias – edtNoDias; 3- um Label para a nova data – lblNovaData; 4- um Button para o cálculo – btnCalcNovaData; procedure TfrmPrincipal.btnCalcNovaDataClick(Sender: TObject); var Data : String; NoDias: Integer; NovaData : TDateTime; begin Data := edtData.Text; // formato --/--/---- NoDias := StrToInt(edtNoDias.Text); NovaData := StrToDate(Data) - NoDias; // subtrair nº de dias // ou NovaData := StrToDate(Data )+ NoDias; // somar nº de dias lblNovaData.Caption := DateToStr(NovaData); end; ou procedure TfrmPrincipal.btnCalcNovaDataClick(Sender: TObject); var NoDias: Integer; NovaData, Data : TDateTime; begin Data := StrToDate(edtData.Text); // formato --/--/---- NoDias := StrToInt(edtNoDias.Text); NovaData := Data - NoDias; // subtrair nº de dias // ou NovaData := Data + NoDias; // somar nº de dias lblNovaData.Caption := DateToStr(NovaData); end; Alexandre
  20. Cara o que você quer é mais ou menos isso??? que ao clicar no grid Clientes por exemplo apareça em outro grid os produtos que esse cliente comprou... isso é só um exemplo. Seria isso que você quer? Alexandre
  21. Olha Livio eu utilizo de uma outra forma, a principio parece ser mais complicado, mas funciona certinho nos meus sistemas. Eu crio dois arquivos .txt (Acesso.txt e Caminho.txt). No Acesso.txt eu salvo as informações de conexão com o meu banco de dados: Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Teste\Dados.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=123456;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False No arquivo Caminho.txt eu salvo informações do local do sistema e do banco: C:\Teste\Dados.mdb Deixo a propriedade ConnectionString do AdoConnection zerada como você está fazendo mesmo. Adiciono no form de login um OpenDialog e um label, neste label no caption dele eu deixo um sinal de ' (apóstrofo) pois eu preciso dele, para adicionar na conexão com o banco. Deixo o label visible = False. No meu form de LOGIN, no evento OnCreate eu adiciono os códigos para verificar se os arquivos existem e se caso sim leio o conteudo deles e faço todas as configurações necessárias para o sistema rodar... procedure TFrmSenha.FormCreate(Sender: TObject); var ArquivoAlias, ArquivoCaminho : TextFile; Mensagem, Caminho : String; begin //Le arquivo txt AssignFile(ArquivoAlias,'C:\Teste\Acesso.txt'); Reset(ArquivoAlias); Readln(ArquivoAlias,Mensagem); CloseFile(ArquivoAlias); Alias := Mensagem; //le txt caso banco não encontrado AssignFile(ArquivoCaminho,'C:\Teste\Caminho.txt'); Reset(ArquivoCaminho); Readln(ArquivoCaminho,Caminho); CloseFile(ArquivoCaminho); CaminhoNovo := Caminho; if not FileExists(CaminhoNovo) then //Verifica se existe o arquivo begin ShowMessage('Banco de dados não encontrado!'); OpenDialog.Execute; //alterar Dados do txt alias e do Connection String do AdoConnection AssignFile(ArquivoAlias,'C:\Teste\Acesso.txt'); Rewrite(ArquivoAlias); CloseFile(ArquivoAlias); Mensagem := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+[b]OpenDialog.FileName[/b]+';Mode=Share Deny None;'+ 'Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=aslaleadmin;'+ 'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;'+ 'Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+ 'Jet OLEDB:Don'+[b]LblSinal.Caption[/b]+'t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False'; AssignFile(ArquivoAlias,'C:\Teste\Acesso.txt'); Append(ArquivoAlias); Write(ArquivoAlias, Mensagem); CloseFile(ArquivoAlias); Alias := Mensagem; //altera o caminho do banco no txt AssignFile(ArquivoCaminho,'C:\Teste\Caminho.txt'); Rewrite(ArquivoCaminho); CloseFile(ArquivoCaminho); Caminho := OpenDialog.FileName; AssignFile(ArquivoCaminho,'C:\Teste\Caminho.txt'); Append(ArquivoCaminho); Write(ArquivoCaminho, Caminho); CloseFile(ArquivoCaminho); end; DmDados.Conecta.ConnectionString := Alias; DmDados.Conecta.Connected := True; DmDados.Senhas.Open; DmDados.Senhas.Active := True; end; Como falei parece até complicado e sei que existem maneiras mais fáceis de fazer isso, mas foi a forma que encontrei e funciona... Alexandre
  22. Olá Robinhocne Você terá que fazer um Loop com FOR ou WHILE para ele ir gravando informações até atingir o número de parcelas digitadas. Eu utilizo da seguinte maneira: for X := 1 to Parcelas do begin ADOQuery1.Append; AQUI VOCÊ ADICIONA OS COMANDOS DE GRAVAÇÃO DE DADOS NA SUA TABELA ADOQuery1.Post; end; Bom resumidamente é isso .... eu uso e funciona certinho... Alexandre
  23. Olá Juniorboll Além de tudo isso que está no post indicado pelo Churc, existe um componente chamado AbreviaZip ele é free e muito bom, eu utilizo ele na minha aplicação. Da uma olhada nesse link e baixa ele. http://sourceforge.net/projects/tpabbrevia/ Flws Alexandre
  24. Olá VDLR Wu utilizo a seguinte SQL para buscar registros entre determinadas datas: With TABELA Do Begin TABELA .Close; TABELA .SQL.Clear; TABELA .SQL.Add('Select * From TABELA ); TABELA .SQL.Add('Where CAMPO_DATA between :Inicial and :Final'); TABELA .Parameters.ParamByName('Inicial').Value := StrToDate(EdtInicial.Text); TABELA .Parameters.ParamByName('Final').Value := StrToDate(EdtFinal.text); TABELA .SQL.Add('Order By Codigo'); TABELA .Open; end; Utilizo AdoQuery como componente de conexão com o banco... A estrutura do relatório você terá que montar conforme sua necessidade.... Espero ter ajudado, qualquer coisa estamos por ai... Alexandre
  25. Olá Cara explica melhor o que você quer fazer, não consegui entender nada.... rsrsrs Alexandre
×
×
  • Criar Novo...