Ir para conteúdo
Fórum Script Brasil

ZueRa

Membros
  • Total de itens

    141
  • Registro em

  • Última visita

Tudo que ZueRa postou

  1. Nem percebi que estava fazendo referência à uma tabela ao invés da Query no Btsalvar (post). E aproveitando verifiquei o que disse. Obrigado pela ajuda, grande abraço!
  2. Deu o mesmo erro Jhonas, eu já tinha tentado isto. Abraço.
  3. Boa tarde aos amigos do SB. Bom, estou tendo um problema quanto ao modo Edit da Query. 1_ Bem, tenho um form com um Edit onde pesquiso determinadas informações e elas retornam em um DBGrid, onde seleciono o que quero. 2_ A informação selecionada neste DBGrid retorna em outro form com "n" DBEdit's. Até aqui tudo bem. Com a informação X na tela processo assim: Clico no botão alterar que tem este código: begin with Dmdados.Qconsurl do begin Edit; BlockButtons; end; end; Após isto (pela lógica) a query já está em modo de edição, certo? Caso eu vá alterar alguma informação, eu consigo, mas na hora de salvar vem o erro: "Tbdados: DataSet not in Edit or Insert mode", mas como? Se eu já coloquei a Query no modo de edição? (pelo menos aparentemente, pelo código). Ação executada pelo botão salvar: begin with Dmdados.Tbdados do begin Post; BlockButtons; end; O BlockButtons é uma procedure que fiz para bloquear botões em determinados estados do DataSet. Alguém pode me ajudar? Desde já agradeço, Thiago. P.S: a propriedade RequestLive da Query está como True.
  4. Uhm, entendi Micheus. Obrigado pela explicação =D
  5. Olá amigo, não entendi muito em sua pergunta. Se foi do jeito que o Micheus interpretou ponto final. Caso não tenha sido (eu tenha viajado) talvez isto poderá lhe ajudar: procedure TForm1.BtokClick(Sender: TObject); begin if ComboBox1.ItemIndex = 0 then //caso a opção escolhida seja MENU1 begin Form2.Show; //vai mostrar o form onde há o MainMenu que deseja end else begin if ComboBox1.ItemIndex = 1 then // caso a opção escolhida seja MENU2 begin Form3.Show; //vai mostrar outro form onde há outro MainMenu que deseja end; end; end; Também para economizar ficar passando por ifs pode ser feito assim: begin case ComboBox1.ItemIndex of 0: Form2.Show; //irá abrir um form com um MainMenu específico 1: Form3.Show; //Idem end; end; Qualquer dúvida poste aí. Grande abraço!
  6. Olá amigo. Acredito que possa fazer assim: no evento OnKeyPress do Edit, DBEdit [...] adicione o código procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key = #13) and (Edit1.Text = '') then begin Application.MessageBox('Digite algo para a pesquisa.','Título',MB_ok + MB_defbutton1 + MB_iconexclamation); end else if (key = #13) and (Query1.IsEmpty = true) then begin Application.MessageBox('Este número não foi cadastrado','Título',MB_ok + MB_defbutton1 + MB_iconexclamation); end else if (key = #13) and (not(Query1.IsEmpty = true)) then begin Application.MessageBox('O registro já existe','Título',MB_ok + MB_defbutton1 + MB_iconexclamation); Edit1.SetFocus; Abort; end; end; isto serve? Qualquer dúvida poste aí, abraço. Ah sim, na proprieadade SQL da Query você pode adicionar o código abaixo (digo PODE pois não há somente esta forma para fazer a inserção destes parâmetros). select * from TblOrdemServico PS: obviamente terá que adicionar uma Query para retornar o resultado acima.
  7. Obrigado pela explicação Micheus, valeu. Sobre o objetivo de eu ter perguntado sobre o código é o seguinte: retirar o (MEMO) que aparece no DBGrid quando se faz uma consulta. Abraço!
  8. Olá amigo, consegui resolver. Fui no FieldsEditor da Table e, adicionei aquele que eu queria obter algo. Após isto fui no evento OnGetText e adicionei o seguinte código: procedure TDmdados.TmemoinfoObsregistroGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin Text := Copy(Dmdados.Tmemoinfo.FieldByName('Obsregistro').AsString, 1, 50); end; É isto, fica aí a dica pra quem estiver com o mesmo problema ;) porém, eu ainda gostaria de saber o erro deste código, se puder ajudar, agradeço. []s Thiago.
  9. Olá Eder, obrigado pela ajuda. Mas, mesmo assim há um erro. [Error] Uconsobs.pas(60): Operator not applicable to this operand type begin with DBGrid1, Canvas, DataSource, DataSet do begin if (RecordCount = 0) then Exit; //sai caso não tenha registro algum para desenhar. if gdSelected in State then begin {------------------------------------------------------------------- LINHA 60 } Brush.Color := clBlue; //cor do item selecionado Font.Color := $00804000; end else begin if odd(RecNo) then begin Font.Color:= clBlack; Brush.Color:= clBlue; //cor da zebra 1 end else begin Font.Color:= clBlack; Brush.Color:= clBlue; //cor da zebra 2 end; end; //essas cores podem ser em $99999999 ou clBlue vinculado FillRect(Rect); TextOut(Rect.Left+2,Rect.Top,Field.AsString); end; end;
  10. Ao compilar está surgindo o erro: "[Error] Uconsobs.pas(69): Array type required". Não estou entendendo o porque deste. Alguém pode me ajudar? Obrigado desde já, Thiago.
  11. ZueRa

    Como fazer isto?

    Olá itibere, obrigado por ajudar. Bom, eu tenho uma tabela comentário no meu BD que está ligada neste DBMemo. É isto? Talvez entendi errado. Abraço.
  12. ZueRa

    Como fazer isto?

    Bom Jhonas, testei e foi assim: quando clico em "nova observação" (já com a tabela aberta e o cliente selecionado) ele realmente faz o trabalho, mas, ao pressionar a primeira tecla, ele retorna os dados que já estavam nele incluídos. Exemplo: o db memo tem esta informação: "imasters 1234" ao pressionar o botão com o código que me passou: "nova observação". (antes ele não limpava, apenas direcionava o cursor para a última linha com o append, então coloquei um .clear) pressionada a primeira tecla (vamos supor que esta, seja a tecla Y): Yimasters 1234 o problema é este, eu não quero que ele retorne as informações anteriores =X estou tentando entender aqui mas se puder me ajudar, ou alguém, ficarei grato, Thiago.
  13. ZueRa

    Como fazer isto?

    é possivel , mas voce deve pesquisar no forum sobre quick report abraço Entendi, só queria confirmar mesmo se havia algum modo. Sobre o QuickReport eu já tenho tudo feito, certinho ;)
  14. ZueRa

    Como fazer isto?

    Vou testar Jhonas, muito obrigado desde já. Uma pergunta: depois eu vou imprimir estas observações num QuickReport. Antes vou filtrar por nome do cliente. Exemplo: irei filtrar o usuário fulano e, quero que todas as observações a ele atribuidas sejam mostradas para impressão. Será possível isto? Uma por uma desta forma aí que você citou? Thiago.
  15. ZueRa

    Como fazer isto?

    Então por favor se expresse melhor .... " quero gravar uma nova informação no DBMemo , quero tambem preservar as informações anteriores , mas quero mostrar a atual na tela" seria isto ? se for .. voce deve usar DBMemo1.append('Nova Observação') ... o append fara com que a nova informação vá para o final do ultimo registro do DBMemo. Mas se quiser mostrar esse ultima informação como sendo a atual , voce deve rolar as linhas de texto ate chegar nesta ultima ( voce sabe como fazer ? ) abraço Quero que APENAS neste DBMemo quando eu clicar no botão NOVA OBSERVAÇÃO (já com o cliente escolhido) ele faça o seguinte: - mantenha o cliente com suas informações pessoais (exceto DBMemo, claro) - preserve todas as informações anteriores - me dê um DBMemo limpo (isso é fácil) - não mostre a informação anterior na tela, apenas um DBMemo limpo é isto entende agora? Desculpe por me expressar mal, abraço!
  16. ZueRa

    Como fazer isto?

    já que voce não quer preservar as informações anteriores, basta colocar este comando ao achar o cliente e clicar em alterar. DBMemo1.Clear; Isto fará com que as informações anteriores sejam apagadas, ai tudo o que voce digitar no DBMemo ficará como nova informação abraço Mas, imagino só olhando o comando que ele irá apagar a informação anterior e gravar a atual, certo? Se for isto, kkkk não é o que estou tentando dizer. Quero que a nova observação e a velha observação seja gravada para o mesmo cliente. Ou quantas forem necessárias. Estou certo? Grande abraço.
  17. ZueRa

    Como fazer isto?

    Neste caso, voce deve pesquisar pelo codigo do fulano .... encontrado, voce traz os dados dele para a tela do seu form Cadastro. Então voce terá somente que editar este registro e através do seu DBMemo ( que deverá estar linkado a sua tabela através das propriedade DataSource e DataField ) adicionar "as coisas" ou os dados que quiser e depois salvar o registro. Isto não mudará nada no campo autoincremento abraço Tudo bem, eu entendi o que quis dizer. Mas eu não quero adicionar apenas UMA observação ao cliente. Quero duas, três, quatro. Ou seja, quantas forem preciso. Se eu fizer isto que você disse: "achar o cliente e clicar em alterar adicionando as observações através do DBMemo" vai acontecer o que está acontecendo agora: ele retorna um DBMemo preenchido com as informações anteriores. Quero um DBMemo vazio para que eu possa adicionar novas observações do mesmo cliente, com o mesmo código (autoincrement).
  18. ZueRa

    Como fazer isto?

    tenho fulano cadastrado com o código 5. quando clico em NOVO eu tenho que incluir OUTRO cliente com o MESMO nome para adicionar algo sobre ele. pelo que entendi voce já tem cadastrado o fulano .. e se ainda não tem, não entendi o seu questionamento: estou querendo adicionar informações sobre determinado cliente, sem mudar o código (autoincrement) dele. abraço Agora eu entendi a sua dúvida, expliquei meio vago, desculpe. Exatamente, eu já tenho o fulano cadastrado. O negócio é o seguinte: tenho um DBMemo que serve para adicionar observações ao fulano. Quero assim: selecionar o cliente e, clicar em NOVA OBSERVAÇÃO sem mudar o código (autoincrement) dele entende? Mantendo as informações do cara apenas adicionando "coisas" neste campo DBMemo. Porém, não sei como fazer isto! Abraço.
  19. ZueRa

    Como fazer isto?

    Errado ... O usuário acha o cliente que ele quer adicionar alguma informação, achado este, clica em ALTERAR para adicionar algum comentário , ou simplesmente Edita o registro do arquivo para fazer alguma modificação e depois salva. abraço Clicar em alterar? Não entendi sua lógica Jhonas. Como ele vai alterar algo que não existe ainda?
  20. Olá amigos. Estou querendo adicionar informações sobre determinado cliente, sem mudar o código (autoincrement) dele. Exemplo: tenho fulano cadastrado com o código 5. O usuário acha o cliente que ele quer adicionar alguma informação, achado este, clica em NOVO para adicionar algum comentário. O problema: quando clico em NOVO eu tenho que incluir OUTRO cliente com o MESMO nome para adicionar algo sobre ele. Estou tentando pensar aqui, mas, não encontro uma solução viável para eu poder fazer isso. Alguém pode dar uma idéia? Desde já agradeço, Thiago.
  21. Obrigado amigo, eu que tinha me embolado aqui na propriedade BandType ;) problema resolvido!
  22. Olá amigos. Bom, estou com um probleminha. Tento fazer uma consulta no bd para depois ser apresentado num QuickReport, mas, ao mostrar os resultados da minha consulta, os mesmo aparecem repetidos. Uma imagem para mostrar o acontecido: o código ATUAL é este: procedure TFexp.BoperClick(Sender: TObject); var st_uexport : string; begin st_uexport := 'checked'; with Qconsimp do begin Close; SQL.Clear; SQL.Add('select * from cfg where Obsstatus ='+ QuotedStr(st_uexport)); Open; end; Qexp.Preview; end; obs: antes tentei fazer como abaixo, mas deu erro. procedure TFexp.BoperClick(Sender: TObject); begin with Qconsimp do begin Close; SQL.Clear; SQL.Add('select * from cfg where Obsstatus ='+ DBStatus.Text); Open; end; Qexp.Preview; end; Alguém poderia me dar um help? Grato desde já ;)
  23. Olá a todos! Me chamo Thiago, moro em Vitória - ES e, estou criando um projeto para um site próprio. Necessito de pelo menos duas pessoas para me ajudar. Pago horas trabalhadas. Se alguém se interessar meu email é: th-oll@uol.com.br PS: programadores de PHP com pelo menos uma noção/experiência em banco de dados. Grato =)
  24. Olá pessoal! Estou com um projeto em mente, mas, não tenho uma idéia formada de como começar (digo, a parte essencial). É o seguinte: aqui na empresa de meus pais usamos um software grande para controle de notas de saídas/entradas, financeiro, caixa etc e, quando algum produto chega com nota fiscal é obrigatório o lançamento dessa mesma no sistema. Temos um problema (mais um atraso): um produto (por exemplo: arroz) chega com um código XYXXYX na nota fiscal e, se lançado esse código o programa não irá reconhecer o produto, pois, o código cadastrado dentro do soft é diferente deste. O que estou tentando desenvolver: (1º) um programa que fica no "tray", que pode ser aberto tendo a parte de cadastro de empresas e produtos. (2º) assim que o usuário digitar o código da nota o meu soft irá reconhecer qual produto é e lançar o código interno do programa que usamos. Isso tudo sem abrir o meu soft, apenas ele ficando no tray e detectando o que eu disse. Claro que antes irei carregar o BD com as informações dos produtos, dos códigos respectivos entre outros. O meu maior problema é como poderei fazer essa interação de dois programas. Se alguém tiver uma idéia, agradeço =)
  25. ZueRa

    Method Post (socket)

    Ninguém ? já tentei de tudo e, nada...
×
×
  • Criar Novo...