Autor Tópico: Table - Como trabalhar com filtros?  (Lida 6797 vezes)

Rogers

  • Visitante
Table - Como trabalhar com filtros?
« Online: Janeiro 31, 2009, 10:04:45 am »
Estou fazendo um tela onde posiciono um registro de Compromissos e gostaria de na mesma tela exibir um objeto Table para cadastrar Pessoas associadas ao compromisso. Existem três tabelas para isso: Compromisso, Pessoa e Compromisso_Pessoa (esta última serve para fazer o link entre as duas primeiras).

Até consegui criar a tabela e exibir registros porém, não sei como fazer para filtrar os registros na Table de acordo com o registro posicionado (Compromisso).

Alguém pode dar uma luz?

Já procurei no tutorial, revirei o help e o máximo que descobri foi a existência de um comando HFilter porém, não sei onde colocar para funcionar.

jcesar

  • Full Member
  • ***
  • Mensagens: 172
  • Karma: +0/-0
Re: Table - Como trabalhar com filtros?
« Responder #1 Online: Fevereiro 02, 2009, 08:11:26 am »
Olá

O seu problema não parece ser muito complicado, mas para te ajudar a resolvê-lo, preciso que forneça mais informações, como a descrição das tabelas de dados (nome da tabela e dos campos).

Rogers

  • Visitante
Re: Table - Como trabalhar com filtros?
« Responder #2 Online: Fevereiro 02, 2009, 11:49:04 am »
Olá jcesar,

Segue abaixo os dados solicitados

Tabelas:

Compromisso
  • CompromissoID(campo chave)
  • Descricao
  • Data
  • Hora

Pessoa
  • PessoaID(campo chave)
  • Nome

Compromisso_Pessoa
  • Compromisso_PessoaID(campo chave)
  • CompromissoID(campo relacionado a tabela compromisso)
  • PessoaID(campo relacionado a tabela pessoa)



Obrigado pela atenção


Olá

O seu problema não parece ser muito complicado, mas para te ajudar a resolvê-lo, preciso que forneça mais informações, como a descrição das tabelas de dados (nome da tabela e dos campos).

Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Re: Table - Como trabalhar com filtros?
« Responder #3 Online: Fevereiro 02, 2009, 12:12:17 pm »
se você esta alimentando as tabelas via Query, crie um campo Where na query, coloque um evento na tabela, que quando clicado no compromisso ele execute a query   

por exemplo

Compromisso.Xpessoa = {codigo da pessoa}
Hexecutequery(Compromisso)

ai só atualizar o componente tabela

eu utilizo assim e funciona blz

Rogers

  • Visitante
Re: Table - Como trabalhar com filtros?
« Responder #4 Online: Fevereiro 02, 2009, 12:17:04 pm »
Estou trabalhando direto com arquivos, estou tentando entender a linguagem aos poucos (tipo query ainda é conteúdo avançado p/ mim).

se você esta alimentando as tabelas via Query, crie um campo Where na query, coloque um evento na tabela, que quando clicado no compromisso ele execute a query   

por exemplo

Compromisso.Xpessoa = {codigo da pessoa}
Hexecutequery(Compromisso)

ai só atualizar o componente tabela

eu utilizo assim e funciona blz

jcesar

  • Full Member
  • ***
  • Mensagens: 172
  • Karma: +0/-0
Re: Table - Como trabalhar com filtros?
« Responder #5 Online: Fevereiro 02, 2009, 01:37:01 pm »
Acho que você deveria primeiro rever a sua análise dos dados, acho a tabela Compromisso_Pessoa desnecessária.

Creio que um relacionamento (link) da tabela Pessoa com a tabela Compromisso seja suficiente, ou seja, seria acrescentado um campo PessoaID na tabela Compromisso.

Também não acho legal colocar o cadastro de pessoas e de compromissos na mesma tela, utilize o RID e faça duas telas separadas, depois basta personalizá-las de acordo com as suas preferências.

Quanto ao filtro, como disse o Davi, utilize uma Query, é a maneira mais fácil de exibir dados selecionados e ordenados de acordo com as suas necessidades. Lembre-se de que uma Query também pode ser associada a um objeto Table.

Rogers

  • Visitante
Re: Table - Como trabalhar com filtros?
« Responder #6 Online: Fevereiro 02, 2009, 06:04:02 pm »
jcesar,

A tabela Compromisso_Pessoa existe porque um compromisso pode estar associado a mais de uma pessoa (tipo uma reunião).

A tela de cadastro de pessoa é separada do cadastro de compromisso. Talvez eu não tenha sido muito claro. A tela que estou a fazer e para cadastrar somente o compromisso. Porém, um compromisso pode estar associado a nenhuma pessoa ou n pessoas, por isso a existência da Table na mesma tela do compromisso.

Vou tentar entender o funcionamento do query para tentar implementá-lo.

Muito Obrigado!

Acho que você deveria primeiro rever a sua análise dos dados, acho a tabela Compromisso_Pessoa desnecessária.

Creio que um relacionamento (link) da tabela Pessoa com a tabela Compromisso seja suficiente, ou seja, seria acrescentado um campo PessoaID na tabela Compromisso.

Também não acho legal colocar o cadastro de pessoas e de compromissos na mesma tela, utilize o RID e faça duas telas separadas, depois basta personalizá-las de acordo com as suas preferências.

Quanto ao filtro, como disse o Davi, utilize uma Query, é a maneira mais fácil de exibir dados selecionados e ordenados de acordo com as suas necessidades. Lembre-se de que uma Query também pode ser associada a um objeto Table.

jcesar

  • Full Member
  • ***
  • Mensagens: 172
  • Karma: +0/-0
Re: Table - Como trabalhar com filtros?
« Responder #7 Online: Fevereiro 02, 2009, 06:41:21 pm »
Neste caso, tudo bem.

Não havia entendido bem o seu problema.

Mas aqui vai uma dica: ao invés de utilizar um objeto Table para listar as pessoas, utilize um objeto do tipo ComboBox e um botão para o usuário inserir a pessoa selecionada no ComboBox na tabela Compromisso_Pessoa.

Rogers

  • Visitante
Re: Table - Como trabalhar com filtros?
« Responder #8 Online: Fevereiro 02, 2009, 09:34:49 pm »
jcesar,

Ok, valeu a dica!

Estes objetos, do tipo Table, são digamos "chatos" de serem programados, ou seu uso é comum para entrada de dados?

Neste caso, tudo bem.

Não havia entendido bem o seu problema.

Mas aqui vai uma dica: ao invés de utilizar um objeto Table para listar as pessoas, utilize um objeto do tipo ComboBox e um botão para o usuário inserir a pessoa selecionada no ComboBox na tabela Compromisso_Pessoa.

Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Re: Table - Como trabalhar com filtros?
« Responder #9 Online: Fevereiro 03, 2009, 12:59:14 am »
Acho o componente table do windev muito bom, um dos melhores que ja vi, tem varios recursos e por isso as vezes precisam de algumas linhas de codigo para fazer funcionar.

tudo é difícil até aprender a usar.

uso muito o componente table para entrada de dados