Esta é o layout para leitura e impressão, para retornar à versão normal do site clique no link a seguir:http://qaprender.blogspot.com/

quinta-feira, 24 de janeiro de 2008

Mala Direta com Word e Access

Como fazer para recuperar os dados Access de um cliente, alunos, funcionários, etc. e editar esses dados dentro de documento previamente elaborado, por exemplo um contrato? Veja como fazer nesse passo-a-passo.


Muitas vezes o usuário precisa elaborar um contrato para um cliente qualquer cujo cadastro tenha sido feito em tabelas Access. Nesse artigo mostraremos no passo-a-passo, como o Word, interagindo com o Access, recupera os dados do cliente e os insere num contrato padrão. Para esses exemplos usamos o Office 2003. Esse procedimento irá exigir um conhecimento mínimo de Word do usuário.


1° Passo: Cadastrando o cliente

Ilustração 1 - Exemplo obtido do banco de dados NorthWind do Access.


2° Passo: O contrato ou o documento que receberá os dados da tabela Access


Ilustração 2 O contrato modelo que será usado na mala direta.





3° Passo: No Word ative as barras de ferramentas necessárias para a mala direta:

Ilustração 3 - Ativando a barra de ferramentas "Mala Direta" do Word


4° Passo: Abrindo a fonte de dados:

Ilustração 4 Clique no botão "Abrir fonte de dados"

Ilustração 5 Selecione o base de dados. No nosso exemplo "Maladireta.Mdb"





5° Passo: Inserindo campos de mesclagem:
Clique antes no texto do Word exatamente no local da inserção do campo. Repita esta operação para todos os campos a serem inseridos.


Ilustração 6 - Inserindo campos da tabela Cliente no contrato padrão.

*Obs.: Apenas se tiver algum problema na hora de mesclar a data (como o mês vindo antes do dia, por exemplo) faça o seguinte: n
a referência ao campo do Access mude o formato da data. Ex.: data_inicio \"DD/MM/YY".

Todos os campos de mesclagem foram inseridos:


6° Passo: Exibindo os dados mesclados:
Repare que foram mesclados todos os clientes da tabela. A paginação pode ser obtida nos botões de navegação (idênticos aos do Access – veja na barra de ferramentas Mala Direta).

Ilustração 7 - O contrato padrão já com os dados editados.

7° Passo: Colocando cliente como foco:
Até aqui conseguimos mesclar em contrato todos os clientes da tabela. Mas vamos supor que você queira o contrato somente para o cliente em foco na tela do Access: prepare uma consulta
criação de tabela cujo critério seja o código do cliente atual e volte ao 4° passo. Veja o exemplo:

Ilustração 8 - Preparando uma consulta do tipo "Criação de tabelas" no Access. Esta tabela irá conter somente um registro.

A partir do contrato padrão, mesclar com os dados da tabela (ou da consulta) e salvar um novo arquivo do Word (doc).

Ilustração 9 - A mesclagem para um novo documento permite que o novo contrato seja tratado e salvo isoladamente, permanecendo o contrato padrão pronto para novos contratos.


Ilustração 10 Está aí o contrato mesclado e pronto para ser salvo com um novo nome (ex.: código do cliente_contrato - use a opção Salvar do Word), impresso, assinado e arquivado na pasta do cliente.



8° Passo: Comandos:

Todos esses passos serão executados uma única vez e não precisarão mais ser repetidos. A partir de agora criaremos um botão de comando na tela do cliente que irá automatizar boa parte do processo:


Veja o código no comando “Contrato”:

Private Sub Contrato_Click()
On Error GoTo Err_Contrato_Click
DoCmd.SetWarnings False
Dim stDocName As String
stDocName = "qryCliente_Atual"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.SetWarnings True
Dim stAppNameDOC As String
stAppNameDOC = "WinWord.exe" & " " & "C:\MalaDireta\ContratoPadrao.doc"
Call Shell(stAppNameDOC, 1)
Exit_Contrato_Click:
Exit Sub
Err_Contrato_Click:
MsgBox Err.Description
Resume Exit_Contrato_Click
End Sub




A dica: Não use espaços e nem caracteres especiais para nome de pastas e arquivos. Ex. C:\Mala
Direta\Contrato Padrão.doc. Apesar do Word aceitar esses formatos, na automação o mesmo não abre o arquivo com espaços no nome e caracteres especiais. Ao invés disso use: C:\MalaDireta\ContratoPadrao.doc.


Conclusões:
Concordo que é um pouco trabalhoso, exige algum conhecimento de Word e de Access, mas o resultado compensa porque, como citado no começo: imagine elaborar 600 contratos escolares no início da temporada, ou mesmo a todo momento cadastrar e contratar um novo cliente.
Na barra de ferramentas “Mala Direta” do Word existem ainda inúmeras facilidades a serem exploradas de acordo com a sua necessidade.
No Access é possível também mandar um formulário do tipo “folha de dados”, inteiro para
dentro do Word (com o recurso copiar e colar), também um campo moeda escrito por extenso, enfim, também na interação Access/Word querer é poder.


Fonte: http://www.ativoaccess.com.br/

Nenhum comentário:

Marcadores

Recent Comments