Ir para conteúdo
Fórum Script Brasil
  • 0

Comparando Tabelas Paradox


Fabio HM

Pergunta

Olá Pessoal

Tenho uma tabela cadastro e outra tabela pagamentos (paradox, sem sql). Eu preciso comparar a tabela cadastro (campo nomedealuno) com a tabela pagamentos (campo nomedealuno), para saber quem não efetuou o pagamento da mensalidade num determinado mês e ano. Eu preciso imprimir os inadimplentes e, para isso, creio que a melhor forma de fazê-lo seja subtraindo os pagadores da tabela cadastro, imprimindo os restantes, que seriam os devedores. 

O que vocês acham? Como fazer??

 

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Inicialmente estava tudo numa tabela só, tudo misturado: clientes e pagamentos. Era necessário deletar os pagamentos a cada início de ano. Por causa desse transtorno e, para deixar as coisas mais organizadas, fiz uma tabela de cadastro (tabaluno), com um campo nomealuno, e outra tabela de pagamentos, também com um campo nomealuno. 

pagamento.png

tabaluno.png

Link para o comentário
Compartilhar em outros sites

  • 0

ok....  vamos começar com as tabelas

voce esta colocando tamanho desproporcional ao tipo do campo

exemplo

Nomealuno --- no max  60 caracteres   A(60)

Mesreferencia --- no max 3 caracteres   A(3)

Anoreferencia --- no max 4 caracteres   A(4)

OBS: o mesmo vale para os outros campos da tabela

para campos numericos não use tipo alfanumerico

exemplo  .... idade   A(2) ou N ? voce tem que colocar o que é mais facil usar e não ficar fazendo conversões de tipo no código

telefone A(50)  ou N ?  não vai existir numero de telefone com 50 caracteres e nesse caso voce pode usar mascara para o numero   ( componente maskedit )

!\(999\)0000-0000;1;_    ==> mascara para telefone

pense na otimização da tabela  ....  voce pode detonar um programa, se não souber estruturar o seu banco de dados corretamente.

depois de corrigir isso, faça o relacionamento entre suas tabelas atraves do campo Nomealuno   ....  e poste novamente o resultado

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz as alterações que você sugeriu. Alguns campos deixei como alpha porque ao passar para número, o paradox acrescentou vírgula.

Coloquei o campo nomealuno, na tabela pagamento, como chave primária. Isto deve desobrigar a criação de um secondary indexes (http://www.devmedia.com.br/forum/relacionamento-entre-tabelas-paradox/212010)

 

 

pagamento.png

tabaluno.png

Link para o comentário
Compartilhar em outros sites

  • 0

ok ...  agora vamos ao relacionamento entre as tabelas

exemplo

mod_relacional_p2_2.jpg

veja que o relacionamento é de 1 para N ( muitos )

no seu caso seria de TabAluno para Pagamento .... isso porque um aluno pode ter varios pagamentos

para fazer o relacionamento, coloque um componente TQuery da paleta BDE, no form.

clique com o botão esquerdo do mouse no componente e selecione a opçao  SQLBuilder

selecione o DataBase e depois coloque a tabela TabAluno e depois a Tabela Pagamento

clique com o mouse no campo Nomealuno da tabela TabAluno, fique segurando e arraste ate o campo Nomealuno da tabela Pagamento

obs: marque todos os campos das duas tabelas

agora esta criado o relacionamento entre as tabelas

clique no icone ( Show and Edit SQL )  e sera criado o comando SQL para a Query

exemplo

SELECT Alunos.COD
FROM "alunos.DB" Alunos
   INNER JOIN "compras.DB" Compras
   ON  (Alunos.COD = Compras.COD_FORNEC) 

dessa forma quando pesquisar pelo nome do aluno, vai aparecer no dbgrid todos os pagamentos efetuados ou os pagamentos pendentes, dependendo da clausula WHERE que voce colocar na Select

abraço

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

se voce conseguiu criar o relacionamento entre as suas tabelas, ao clicar no icone ( SQL )

obs: voce vai ver um SQL escrito no icone

automaticamente vai ser gerado a instrução sql para voce

mas eu não conheço nada de SQL

voce vai achar varios links na internet versando sobre esse assunto

http://delphiassistance.blogspot.com.br/2008/06/component-query.html

https://www.bing.com/search?q=como+usar+o+tquery+delphi&qs=n&form=QBRE&sp=-1&pq=como+usar+o+tquery+&sc=0-19&sk=&cvid=9B78C6B7142B46D1BC7F6DEC9435466D

outra coisa que vai ajuda-lo ....  va no Menu do delphi em DataBase > Form Wizard

isso vai ajuda-lo a criar um pequeno projeto em delphi usando as suas tabelas, sem que voce precise digitar nenhuma linha de código

http://www.ebah.com.br/content/ABAAAAOkkAA/manual-delphi?part=19

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...