Jump to content
Fórum Script Brasil
  • 0

Comparando Tabelas Paradox


Fabio HM

Question

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 to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...