Guia prático

11
Guia prático: conectando um formulário do InfoPath a um banco de dados do Access Aplica-se a: Microsoft Office Access 2003, InfoPath 2003 Imprimir Mostrar tudo APLICA-SE A Microsoft Office InfoPath™ 2003 Service Pack 1 Microsoft Office Access 2003 Introdução Com o Microsoft Office InfoPath, você pode criar um formulário que é conectado a um banco de dados do Microsoft Office Access. Usando esses dois programas juntos, você obtém todas as vantagens do conjunto de dados do InfoPath, além das vantagens do armazenamento de dados do Access. As vantagens do InfoPath incluem formulários que podem ser preenchidos enquanto os usuários estão offline, um ótimo conjunto de controles que facilitam a criação e o preenchimento dos formulários e regras de validação de dados que são importadas automaticamente quando o formulário é conectado a um banco de dados. Ao conectar um formulário do InfoPath a um banco de dados do Access, você pode escolher se deseja configurar o banco de dados como a fonte de dados principal ou secundária do formulário. Se desejar editar e adicionar registros ao banco de dados por meio do

Transcript of Guia prático

Page 1: Guia prático

Guia prático: conectando um formulário do InfoPath a um banco de dados do AccessAplica-se a: Microsoft Office Access 2003, InfoPath 2003

Imprimir

 

Mostrar tudo

APLICA-SE A

Microsoft Office InfoPath™ 2003 Service Pack 1

Microsoft Office Access 2003

IntroduçãoCom o Microsoft Office InfoPath, você pode criar um formulário que é conectado a um banco de dados do Microsoft Office Access. Usando esses dois programas juntos, você obtém todas as vantagens do conjunto de dados do InfoPath, além das vantagens do armazenamento de dados do Access.

As vantagens do InfoPath incluem formulários que podem ser preenchidos enquanto os usuários estão offline, um ótimo conjunto de controles que facilitam a criação e o preenchimento dos formulários e regras de validação de dados que são importadas automaticamente quando o formulário é conectado a um banco de dados.

Ao conectar um formulário do InfoPath a um banco de dados do Access, você pode escolher se deseja configurar o banco de dados como a fonte de dados principal ou secundária do formulário. Se desejar editar e adicionar registros ao banco de dados por meio do preenchimento dos campos do formulário do InfoPath, é necessário configurar o banco de dados como a fonte de dados principal.

Este artigo explica como configurar um banco de dados como a fonte de dados principal de um formulário da seguinte forma:

Conectando o formulário ao banco de dados

Preparando o formulário

Personalizando as opções de envio do formulário

Page 2: Guia prático

Consultando e enviando dados ao preencher o formulário

Requisitos de configuraçãoPara concluir as lições deste artigo, é necessário que o Access 2003 e o banco de dados de exemplo Northwind para Access estejam instalados no computador. Por padrão, o banco de dados de exemplo é instalado no seguinte local: <unidade>:\Arquivos de Programas\Microsoft Office\OFFICE11\SAMPLES.

 OBSERVAÇÃO    Se não conseguir localizar o banco de dados de exemplo Northwind no computador, será necessário instalá-

lo. Para isso, inicie o Access, aponte para Bancos de Dados de Exemplo no menu Ajuda e clique em Banco de Dados de Exemplo Northwind.

Lição 1: criando o formulárioEsta lição mostra como criar um novo formulário do InfoPath e, em seguida, como usar o Assistente para Conexão de Dados para conectar o formulário ao banco de dados de exemplo Northwind no Access. Após concluir esta lição, seu formulário estará conectado a duas tabelas do banco de dados de exemplo Northwind e você poderá adicionar, editar e consultar registros dessas tabelas.

Para usar um banco de dados do Access como fonte de dados principal de um formulário do InfoPath, é necessário iniciar com um novo formulário. Não é possível modificar um formulário existente para adicionar uma conexão com uma fonte de dados principal. Use este procedimento para criar um novo formulário do InfoPath baseado no banco de dados de exemplo no Access:

1. No menu Arquivo, clique em Criar um Formulário.2. No painel de tarefas Criar um Formulário, clique em Novo com Base em Conexão de Dados.3. Na primeira página do Assistente para Conexão de Dados, clique em Banco de Dados (Microsoft SQL Server ou Microsoft

Office Access apenas) e clique em Avançar.4. Na página seguinte do assistente, clique em Selecionar Banco de Dados. 5. Na caixa de diálogo Selecionar Fonte de Dados, procure o banco de dados de exemplo Northwind no computador e clique

duas vezes nele.

O local padrão do banco de dados é <unidade>:\Arquivos de Programas\Microsoft Office\OFFICE11\SAMPLES.

6. Em Nome na caixa de diálogo Selecionar Tabela, clique na tabela Fornecedores e clique em OK.

Selecionando primeiro a tabela Fornecedores, você está configurando essa tabela como a tabela primária da conexão de dados. Agora é necessário adicionar a tabela Produtos à conexão de dados. Juntas, essas tabelas criam uma relação um-para-muitos, ou seja, cada fornecedor oferece vários produtos. No Access, essa relação é definida com o uso de um campo de chave, o qual associa os registros de uma tabela com os registros de outra.

Nessa relação um-para-muitos, a tabela do lado "um" contém um campo de chave primária que identifica exclusivamente cada registro da tabela. A tabela do lado "muitos" da relação contém um campo de chave externa que corresponde à chave primária da outra tabela. As chaves primária e externa freqüentemente têm o mesmo nome. Neste caso, a tabela Fornecedores contém o campo de chave primária CódigoDoFornecedor e a tabela Produtos contém o campo de chave externa CódigoDoFornecedor.

Quando você conecta o formulário a várias tabelas de um banco de dados, o InfoPath requer que as tabelas sejam conectadas por campos de chave. Além disso, a tabela primária da conexão de dados deve ter uma conexão um-para-muitos ou um-para-um com quaisquer tabelas adicionais que você incluir.

Após você ter adicionado a tabela primária ao formulário, é possível incluir a tabela adicional.

1. No Assistente para Conexão de Dados, clique em Adicionar Tabela.2. Em Tabela na caixa de diálogo Adicionar Tabela ou Consulta, clique em Produtos e clique em Avançar.3. Na caixa de diálogo Editar Relação, verifique se as duas colunas em Conectando campos estão definidas como

CódigoDoFornecedor e clique em Concluir.

 OBSERVAÇÃO    No InfoPath, os campos com nomes correspondentes de cada tabela são considerados

campos de chave. Se você estiver configurando uma conexão de dados na qual isso não acontece, será necessário especificar o campo de chave.

Por padrão, o InfoPath estabelece conexão com cada campo da tabela. No entanto, talvez você queira excluir um campo, porque ele usa um tipo de dados com o qual o InfoPath não consegue estabelecer conexão ou porque você não deseja trabalhar com os valores de determinado campo do formulário. Nesta lição, você precisa excluir o campo HomePage porque ele possui um tipo de dados Hiperlink para o qual não há suporte no InfoPath. Os tipos de dados Hiperlink e Memorando são longos. Portanto, o InfoPath não consegue estabelecer conexão com eles.

Page 3: Guia prático

1. No Assistente para Conexão de Dados, marque a caixa de seleção Mostrar colunas da tabela.2. Desmarque a caixa de seleção HomePage.

Antes de concluir o Assistente para Conexão de Dados, é necessário nomear a conexão de dados e verificar se a conexão que você criou foi estabelecida corretamente.

1. No Assistente para Conexão de Dados, clique em Avançar.2. Na página seguinte do assistente, digite um nome para a conexão de dados na caixa Digite um nome para esta conexão de

dados e leia as informações da caixa Resumo. Deve ser especificado o tipo de conexão (recuperar e enviar dados ao banco de dados), o local do banco de dados, o nome da tabela primária (Fornecedores), o número de tabelas (2) e que o envio de formulários está habilitado.

3. Após verificar se as informações da caixa Resumo estão corretas, clique em Concluir.

O formulário resultante deve conter um modo de exibição com um botão para consultar dados e um botão para inserir novos registros, além de duas tabelas nas quais você pode inserir controles.

Antes de ir para a próxima lição, é necessário salvar o formulário:

1. No menu Arquivo, clique em Salvar como.2. Se você for solicitado a salvar ou publicar o arquivo, clique em Salvar.3. Na caixa de diálogo Salvar como, procure o local onde você deseja salvar o formulário.4. Na caixa Nome do arquivo, digite Fornecedores e Produtos.

Lição 2: examinando a fonte de dados do InfoPathQuando você cria uma conexão de dados primária entre um formulário do InfoPath e um banco de dados do Access, o InfoPath cria uma estrutura de dados baseada na estrutura do banco de dados do Access. Especificamente, o InfoPath cria campos e grupos correspondentes aos campos e tabelas do banco de dados. Por exemplo, na fonte de dados, o InfoPath cria um grupo Produtos que corresponde à tabela Produtos no Access. Para cada campo da tabela Produtos, há um campo correspondente na fonte de dados do InfoPath.

 OBSERVAÇÃO    Como o InfoPath armazena os dados antes de enviá-los ao Access, você pode inserir informações no

formulário — mesmo offline, se quiser — e, em seguida, enviar essas informações ao banco de dados quando desejar.

Para conexões de dados primárias, o InfoPath na realidade cria duas estruturas de dados muito semelhantes: um conjunto de campos de consulta e um conjunto de campos de dados. Os campos de consulta podem ser usados para inserir valores no formulário e consultar o banco de dados, e os campos de dados podem ser usados para inserir novos registros e modificar registros existentes no banco de dados. Cada conjunto de campos corresponde às tabelas e aos campos do banco de dados.

Para ajudar a compreender melhor como a estrutura de dados do InfoPath está relacionada com a estrutura de dados do Access, você pode verificar os campos de dados do formulário.

1. Para ver esses campos, no painel de tarefas Fonte de Dados, expanda o grupo dataFields.2. Expanda o grupo d:Fornecedores e, em seguida, o grupo Produtos.

Page 4: Guia prático

A estrutura de dados resultante deve ter esta aparência.

Observe como a estrutura de dados é semelhante nas duas tabelas do banco de dados do Access.

 O grupo Fornecedores contém o grupo Produtos.

Page 5: Guia prático

 A tabela Fornecedores possui uma relação um-para-muitos com a tabela Produtos.

Para cada tabela do banco de dados do Access, existe um grupo no formulário do InfoPath. Para cada campo das tabelas do Access, existe um campo no grupo do InfoPath. Além disso, os grupos e campos têm as mesmas relações que os campos e as tabelas — para cada fornecedor, podem existir vários produtos.

Lição 3: preparando o formulárioAgora que você criou um formulário baseado no banco de dados de exemplo do Access e se familiarizou com a fonte de dados do InfoPath, pode começar a preparar o formulário. Para criar os controles nos quais os usuários digitam as informações, é possível arrastar os campos e grupos do painel de tarefas Fonte de Dados para o formulário. Quando você arrasta um único campo para o formulário, ele cria um único controle, como uma caixa de texto. Quando um grupo de campos é arrastado para o formulário, o InfoPath cria um grupo de controles, como uma seção com um conjunto de caixas de texto.

Dica

Quando você cria um formulário com base em um banco de dados, o InfoPath cria um único modo de exibição com duas tabelas de layout. Na primeira tabela você pode adicionar campos de consulta para que os usuários possam consultar os registros do banco de dados. Na segunda tabela você pode adicionar campos de entrada de dados, para permitir que os usuários modifiquem registros existentes e adicionem novos registros ao banco de dados.

Antes de trabalhar com os campos de consulta, é necessário adicionar o grupo completo de dataFields ao formulário, o que resulta em um conjunto completo de controles no formulário. Você pode então remover os controles desnecessários. Alguns deles são desnecessários porque contêm informações redundantes. Outros contêm informações que não se aplicam às duas tabelas que você está usando. Por exemplo, a caixa de texto Código da Categoria não é necessária porque ela é usada para estabelecer uma relação com uma tabela Categoria que não está sendo usada nessa conexão de dados.

 OBSERVAÇÃO    A exclusão de um controle não exclui o campo subjacente da fonte de dados. Por exemplo, quando você

exclui a caixa de texto Código da Categoria, o campo CódigoDaCategoria continua existindo na fonte de dados e pode conter dados.

1. No formulário, coloque o ponto de inserção na tabela de layout que contém o texto Arraste os campos de dados até aqui. 2. No painel de tarefas Fonte de Dados, clique com o botão direito do mouse no grupo dataFields e clique em Seção com

Controles no menu de atalho. São inseridos controles para todos os campos que você usa para modificar e adicionar registros.

3. No formulário, selecione a segunda instância da caixa de texto CódigoDoFornecedor e a caixa de texto CódigoDaCategoria, inclusive seus rótulos, e pressione DELETE.

O InfoPath habilita vários registros usando seções de repetição. Neste formulário, os usuários podem inserir vários fornecedores, bem como vários produtos para cada fornecedor. Os controles do formulário refletem essa funcionalidade — os controles de Produtos estão em uma seção de repetição, contida na seção de repetição Fornecedores, como mostra o exemplo a seguir.

Page 6: Guia prático

Para facilitar o trabalho dos usuários com essas seções de repetição, use o procedimento a seguir para adicionar bordas e sombreamento, e inserir títulos descritivos:

1. Clique com o botão direito do mouse no segundo rótulo Seção de Repetição que aparece no formulário e clique em Bordas e Sombreamento no menu de atalho.

2. Na guia Bordas da caixa de diálogo Bordas e Sombreamento, clique em uma cor da caixa Cor.3. Na caixa Largura, clique em 3 pt.4. Em Predefinições, clique em Contorno e clique em OK.5. Clique com o botão direito do mouse no primeiro rótulo Seção de Repetição que aparece no formulário e clique em Bordas e

Sombreamento no menu de atalho.6. Na caixa de diálogo Bordas e Sombreamento, clique na guia Sombreamento e clique em uma cor da caixa Cor.7. Clique em OK.8. No formulário, digite ENTRADA DE DADOS acima da seção de repetição Fornecedores.9. Na seção de repetição Fornecedores, coloque o ponto de inserção antes do rótulo CódigoDoFornecedor e pressione ENTER. 10. Digite FORNECEDORES.11. Na seção de repetição Produtos, coloque o ponto de inserção antes do rótulo CódigoDoProduto e pressione ENTER.12. Digite PRODUTOS.13. Aplique negrito a todo o texto que você acabou de digitar.

A tabela de layout da parte de entrada de dados do formulário agora tem uma aparência semelhante a esta.

Page 7: Guia prático

Quando você envia um novo registro ao banco de dados do Access por meio da inserção de dados no formulário, o Access cria automaticamente o Código do Fornecedor. Devido a isso, os usuários não precisarão editar ou digitar um novo Código do Fornecedor, ou seja, você pode tornar a caixa de texto CódigoDoFornecedor somente leitura, evitando que os usuários tentem modificar o valor. Para isso, proceda da seguinte forma:

1. Clique duas vezes na caixa de texto CódigoDoFornecedor.2. Na caixa de diálogo Propriedades de Caixa de Texto, clique na guia Exibição e marque a caixa de seleção Somente

leitura.

Você concluiu a preparação da parte de entrada de dados do formulário e agora pode trabalhar com a parte de consulta, na qual os usuários podem inserir valores para consultar registros existentes no banco de dados.

Lição 4: trabalhando com botões e campos de consultaAntes de criar controles para consultar os dados, vamos verificar os dois botões que o InfoPath adicionou ao formulário: Novo Registro e Executar Consulta. Esta lição explica como esses botões funcionam e demonstra como modificá-los.

O botão Executar Consulta faz consultas ao banco de dados com base em valores dos controles precedentes. O banco de dados então retorna os registros correspondentes a esses valores. Por exemplo, se você digitar Tokyo Traders na caixa NomeDaEmpresa e clicar no botão Executar Consulta, o registro do fornecedor Tokyo Traders será retornado, assim como todos os produtos que eles fornecem. Os registros retornados são exibidos na parte de entrada de dados do formulário, onde você pode editá-los e enviar as alterações para o banco de dados.

O botão Novo Registro limpa os valores da parte de entrada de dados do formulário, permitindo inserir um novo fornecedor e seus produtos.

Para ajudar os usuários a compreender melhor a diferença entre as partes de consulta e de entrada de dados do formulário, você pode adicionar um título e texto ao formulário:

1. Coloque o ponto de inserção na célula da tabela de layout que contém o texto Clique para adicionar um título e digite Fornecedores e Produtos.

2. Coloque o ponto de inserção na célula da tabela de layout que contém o texto Clique para adicionar um conteúdo de formulário e digite Para consultar os fornecedores, digite um valor em uma ou mais caixas da tabela Consulta e clique em Executar Consulta. Para inserir um novo registro, clique em Novo Registro e digite valores na tabela Entrada de Dados.

Em seguida, você pode adicionar um título e controles à parte de consulta do formulário:

Page 8: Guia prático

1. Coloque o ponto de inserção na tabela de layout que contém o texto Arraste os campos de consulta até aqui, digite CONSULTA e aplique negrito ao texto.

2. Pressione ENTER.3. No painel de tarefas Fonte de Dados, clique no grupo queryFields para expandi-lo.4. Clique com o botão direito do mouse no grupo q:Fornecedores e clique em Controles da Tabela de Layout no menu de

atalho. Isso insere controles para consulta dos registros do banco de dados com base nos fornecedores. Além disso, os controles e rótulos são posicionados na tabela de layout.

 OBSERVAÇÃO    Essa técnica pode ser usada para preparar os controles de entrada de dados também.

Antes de continuar, vamos excluir os controles que são desnecessários para os usuários. Neste caso, vamos considerar que os usuários consultarão os valores com base somente no código do fornecedor, no nome da empresa ou no país.

1. Na tabela de consulta que você acabou de adicionar ao formulário, clique com o botão direito do mouse na linha Nome do Contato, aponte para Excluir no menu de atalho e clique em Linhas.

2. Exclua as linhas restantes, exceto CódigoDoFornecedor, NomeDaEmpresa e País.

Os usuários agora podem consultar valores na tabela Fornecedores, modificar os registros retornados, adicionar novos registros e enviar os resultados de volta ao banco de dados.

Lição 5: personalizando as opções de envioAo preencher o formulário, os usuários podem modificar registros existentes e adicionar outros. Para atualizar o banco de dados com essas alterações, o formulário preenchido deve ser enviado ao banco de dados. Por padrão, o InfoPath disponibiliza o comando Enviar no menu Arquivo e na barra de ferramentas Padrão para que os usuários possam enviar facilmente o formulário preenchido. Além dessas opções, pode ser útil fornecer um botão diretamente no formulário para permitir que os usuários enviem os dados. Esta lição demonstra como configurar um botão Enviar padrão e personalizar outras opções de envio do formulário.

1. Coloque o ponto de inserção no final do formulário. Verifique se ele não está dentro de uma seção de repetição.2. No menu Inserir, clique em Mais Controles.3. Na lista Insira controles do painel de tarefas Controles, clique em Botão.4. Clique duas vezes no ícone do botão que foi inserido no formulário.5. Na lista Ação da caixa de diálogo Propriedades de Botão, clique em Enviar.6. Na caixa Enviar para da caixa de diálogo Enviando Formulários, clique em Banco de Dados e clique em OK.7. Na caixa Rótulo da caixa de diálogo Propriedades de Botão, digite Enviar Formulário.

Após adicionar um botão Enviar ao formulário, você pode configurar o formulário para que ele seja fechado após ter sido enviado e para que um novo formulário em branco seja aberto. Além disso, é possível gravar a sua própria mensagem especificando se o formulário foi enviado com êxito.

1. No menu Ferramentas, clique em Enviando Formulários.2. Na caixa de diálogo Enviando Formulários, clique em Opções de Envio. 3. Na caixa de diálogo Opções de Envio, clique em Criar um formulário novo e em branco.4. Marque a caixa de seleção Mostrar mensagem personalizada em vez da mensagem padrão.5. Na caixa Mensagem de êxito, digite As informações dos fornecedores e de seus produtos foram atualizadas.6. Na caixa Mensagem de falha, digite Os dados não foram enviados com êxito. Tente novamente.7. Salve o formulário para garantir que as suas alterações sejam mantidas.

Lição 6: consultando, editando e adicionando registrosAgora que você concluiu a criação do formulário e o conectou a um banco de dados do Access, é necessário testar o formulário para verificar se funcionará corretamente para os usuários. Nesta lição, você representará o papel de um usuário e testará o formulário fazendo consultas ao banco de dados, modificando registros existentes e adicionando novos registros.

Em primeiro lugar, tente abrir um novo formulário e adicionar um novo registro:

1. No menu Arquivo, clique em Preencher um Formulário.2. Na caixa de diálogo Preencher um Formulário, clique em Fornecedores e Produtos.

 OBSERVAÇÃO    Caso você não veja o formulário Fornecedores e Produtos, clique em Abrir para procurá-lo.

3. Para inserir um novo registro, digite Vinícola Coho na caixa Nome Da Empresa, na parte de Entrada de Dados do formulário.

Page 9: Guia prático

 OBSERVAÇÃO    Não é necessário digitar um Código do Fornecedor porque o Access criará essa informação

automaticamente quando o registro for enviado.

4. Na caixa Nome Do Produto, digite Merlot.5. Na seção de repetição Produtos, clique em Inserir item para inserir outro produto no formulário.6. Na segunda caixa Nome Do Produto, digite Chardonnay e clique em Enviar Formulário.7. Se for exibida uma caixa de diálogo perguntando se deve ser permitido que a página acesse dados em outro domínio, clique

em Sim.

Deve ser exibida uma caixa de diálogo informando que as informações do fornecedor e do produto foram atualizadas com êxito. Quando você clicar em OK, o formulário deverá ser fechado e um novo formulário deverá ser aberto.

Agora que você verificou que os usuários podem adicionar um novo registro ao banco de dados usando o formulário, tente modificar um dos registros:

1. Na caixa NomeDaEmpresa, na parte de consulta do formulário, digite Vinícola Coho e clique em Executar Consulta. 2. Se for exibida uma caixa de diálogo perguntando se deve ser permitido que a página acesse dados em outro domínio, clique

em Sim.

A parte de entrada de dados do formulário deve exibir o fornecedor e os dois produtos que você inseriu no exercício anterior.

3. Na caixa Quantidade Por Unidade do registro Merlot, digite 12.

4. No registro Chardonnay, clique no botão do menu de atalho que aparece no canto superior esquerdo da seção selecionada e clique em Remover Produtos. O registro Chardonnay é excluído do formulário.

5. Clique em Enviar Formulário. 6. Se for exibida uma caixa de diálogo perguntando se deve ser permitido que a página acesse dados em outro domínio, clique

em Sim.

O registro Chardonnay será excluído e o registro Merlot será atualizado no banco de dados. Deve ser exibida uma caixa de diálogo informando que as informações do fornecedor e do produto foram atualizadas com êxito. Quando você clicar em OK, o formulário deverá ser fechado e um novo formulário deverá ser aberto.

ResumoAo aplicar essas etapas ao seu próprio banco de dados, lembre-se dos seguintes itens principais:

Ao estabelecer uma conexão de dados primária entre um banco de dados do Access e um formulário do InfoPath, você deve iniciar com a criação de um novo formulário.

Quando você conectar o formulário a mais de uma tabela, as tabelas devem ser conectadas por campos de chave.

Exclua os tipos de dados longos, inclusive Memorando e Hiperlink.