Vocês certamente já sabem que podemos facilmente criar relacionamentos dentro do DataSet, isso é algo bem simples.

 

Também com certeza já fizeram vínculos de objetos de tela (windows) com dados do DataSet, isso é muito comum.

 

Mas existe um pequeno detalhe que pode passar despercebido: O vínculo através de um ou vários relacionamentos.

 

Imagine que você tem 3 tabelas relacionadas. Quando você vai criar um vínculo com uma textbox, na janela DataBindings você vê as 3 tabelas. Mas em cada tabela você também vê o objeto de relacionamento que liga essa tabela com sua tabela filho.

 

Assim sendo, imagine que você está montando uma tela para a tabela A e deseja que uma das TextBox possua uma informação da tabela C, que é obtida através de um relacionamento.

 

Se no DataBinding você for direto na tabela C e apontar o campo, criará um campo vinculado com a tabela C dentro de uma tela montada para a tabela A, a movimentação nos dados não ficará legal.

 

Se ao invés disso você abrir os campos da tabela A, ao final encontrará o relacionamento de A com B. Abra os campos da B e ao final também encontrará o relacionamento de B com C. Finalmente abra os campos da C e lá está o seu campo. Selecionando-o neste local a textbox ficará vinculada com o relacionamento, então quando você mudar do 1o para o 2o registro na tabela A, a textbox que tem o campo da tabela C também mudará.