Criando Fontes de Dados Mestre/Escravo

Em determinadas situações é necessário criar campos associados a tabelas que possuem uma relação de dependência entre si. Tais campos são implementados utilizando fontes de dados chamadas mestre/escravo. Campos associados a fontes mestre/escravo permitem que o usuário selecione um valor a partir de uma tabela e uma segunda tabela seja "filtrada" de acordo com o valor selecionado na primeira (ver figura 1).

Neste tópico explicaremos a criação de fontes de dados mestre/escravo tomando como exemplo uma tabela de estados representando a tabela mestre e uma tabela de cidades representando a tabela escrava. As tabelas utilizadas possuem as seguintes estruturas:

Tabela de Estados

Campo Tipo Tamanho
Nome Alfanumérico 40
Sigla Alfanumérico 2

Tabela de Cidades

Campo Tipo Tamanho
Nome Alfanumérico 40
Estado Alfanumérico 2

Na figura 1 temos um exemplo de campos no GoldenDoc utilizando tabelas estados e cidades:

Exemplo de campos utilizando fontes mestre/escravo
Figura 1

A seguir mostramos exemplos do uso das tabelas mestre/escravo utilizando fontes de dados ODBC e LightBase.

Exemplo 1 - Fontes de dados ODBC

Para implementar as fontes mestre/escravo ODBC são necessários os seguintes passos:

1.1) Criação e configuração dos DSNs
1.2) Criação e configuração das fontes de dados
1.3) Criação e configuração dos campos GoldenDoc

1.1 - Criação e configuração dos DSNs

A partir do Administrador de Fontes de Dados ODBC do Windows deve-se criar DSNs necessários. Para este exemplo será necessário apenas o DSN tabelas que referência o database das tabelas estados e cidades. Para serem acessíveis pelo GoldenDoc o DSN deve ser criado como DSN do sistema (System DNS).

1.2 - Criação e configuração das fontes de dados

Fonte de Dados Mestre

A partir do GoldenDoc Studio crie uma nova fonte de dados do tipo ODBC e configure as propriedades com as valores abaixo:

Propriedades da fonte de dados ODBC de estados
Figura 2

A propriedade DSN (figura 2) é definida com o DSN criado, tabelas. Para a propriedade Consulta SQL definimos o comando de consulta informando o campo sigla, que contem o valor a ser gravado pelo GoldenDoc; e o campo nome que contem a descrição a ser exibida para o usuário. Em todo comando select devemos definir o campo de valor com um alias para valuefiled e campo de descrição com um alias para descriptionfield.

Fonte de Dados Escrava

A partir do GoldenDoc Studio crie uma nova fonte de dados do tipo ODBC e configure as propriedades com as valores abaixo:

Propriedades da fonte de dados ODBC de cidades
Figura 3

A propriedade DSN (figura 3) é definida com o DSN criado, tabelas. Para a propriedade Consulta SQL definimos o comando de consulta informando ambos os campos valuefield e descriptionfield com campo nome, pois neste caso o valor a ser exibido para o usuário será o mesmo a ser gravado pelo GoldenDoc. Para fontes escravas, no final do comando select deve constar a tag pré-definida [%slavefilter%]. Na propriedade Filtro da Tabela Escrava definimos uma clausula where com o campo de relacionamento estado e a tag pré-definida [%mastervalue%], esta clausula fará com que apenas as cidades com o estado igual ao valor corrente da tabela estado sejam exibidos.

1.3 - Criação e configuração dos campos GoldenDoc

Pelo GoldenDoc crie os campos que serão associados as fontes de dados mestre e escrava. Para ambos os campos defina a propriedade Tipo de Campo para tabela e a propriedade Origem dos valores para a respectiva fonte de dados. No campo mestre defina a propriedade Campo Escravo para o campo GoldenDoc escravo associado.

Exemplo 2 - Fontes de dados LightBase

Para implementar as fontes mestre/escravo LightBase são necessários os seguintes passos:

2.1) Criação e configuração das fontes de dados
2.2) Criação e configuração dos campos GoldenDoc

2.1 - Criação e configuração das fontes de dados

Fonte de Dados Mestre

A partir do GoldenDoc Studio crie uma nova fonte de dados do tipo LightBase e configure as propriedades abaixo:

Propriedades da fonte de dados LightBase de estados
Figura 4

Na propriedade Nome da Base (figura 4) definimos o nome da base que será usada na tabela mestre, neste caso a base é estado. A propriedade Campo de Valor, que indica qual campo terá o valor a ser gravado pelo GoldenDoc, definimos com campo sigla e a propriedade Campo de Descrição, que indica o campo que contem a descrição a ser exibida para o usuário, definimos com o campo nome.

Fonte de Dados Escrava

A partir do GoldenDoc Studio crie uma nova fonte de dados do tipo LightBase e configure as propriedades abaixo:

Propriedades da fonte de dados LightBase de cidades
Figura 5

Na propriedade Nome da Base (figura 5) definimos o nome da base que será usada na tabela escrava, neste caso a base é cidades. Ambas as propriedade Campo de Valor e Campo de Descrição são definidas com campo nome, pois neste caso o valor a ser exibido para o usuário será o mesmo a ser gravado pelo GoldenDoc.

2.2 - Criação e configuração dos campos GoldenDoc

A criação e configuração dos campos é igual ao passo 1.3.