Atualizar Dados De Funcionários, Cargo e setor |
![]() ![]() |
Atualizar Dados De Funcionários, Cargo e setor |
Jul 11 2010, 10:57 PM
Post
#1
|
|
|
Calouro ![]() Grupo: Membros Posts: 13 Registrado: 26-January 10 Membro N°: 2.477 |
Roberto, valeu mesmo!
Estava dando erro na parte "DoCmd.RunSQL "Delete * From TempDados" Retirei e funciona perfeitamente Um abraço! |
|
|
|
Jul 10 2010, 06:04 PM
Post
#2
|
|
|
Programador ![]() ![]() ![]() Grupo: Membros Posts: 197 Registrado: 3-July 08 De: Fraiburgo-SC Membro N°: 11 |
Primeiro você deve fazer uma rotina de importação Manual da sua planilha para criar a estrutura da sua Tabela.
Vai em Arquivo - Obter Dados Externos - Importar-Selecione Microsoft Excel *.xls - Selecione a Planilha e siga as etapas da importação. Um item importante aqui será: A primeira linha contém títulos de coluna. Caso seja assinalado os Campos da Tabela terão o mesmo nome que estão na 1 linha da planilha, senão os campos serão nomeados; Campo1,Campo2,Campo3... Caso você mantenha os títulos da coluna como na planilha então na importação via código basta você informar esse parâmetro (Veja abaixo). Senão, omitindo esse parâmetro os nomes dos campos serão F1,F2,F3..., diferente da importação manual portanto. Dessa forma basta ir na estrutura da Tabela e deixar nesse padrão, para o código importar sem problemas. Feita essa observação basta você rodar o código para testar. Caso sua Tabela tenha os mesmos campos da Planilha: CODE Public Sub ImportaXLS(Arquivo As String) DoCmd.SetWarnings False DoCmd.RunSQL "Delete * From TempDados" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel3, "TempDados", Arquivo, True DoCmd.OpenQuery "AtualizaDados" DoCmd.SetWarnings True End Sub Caso sua Tabela tenha os campos F1,F2,F3,F4... CODE Public Sub ImportaXLS(Arquivo As String) DoCmd.SetWarnings False DoCmd.RunSQL "Delete * From TempDados" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel3, "TempDados", Arquivo DoCmd.OpenQuery "AtualizaDados" DoCmd.SetWarnings True End Sub E para chamar de um botão de comando de um Formulário por exemplo, suponhando que sua planilha tenha um caminho fixo: CODE Private Sub ImportarDados_Click()
ImportaXLS "D:\Backup\Desktop\ATUALIZAR.xls" End Sub |
|
|
|
Jul 9 2010, 08:53 PM
Post
#3
|
|
|
Calouro ![]() Grupo: Membros Posts: 13 Registrado: 26-January 10 Membro N°: 2.477 |
Roberto, muito obrigado..
O nome da minha planilha nova deixo na pasta como "ATUALIZAR". Nessa parte ainda me atrapalho, por favor me oriente como devo utiliza o código Um abraço, |
|
|
|
Jul 9 2010, 05:23 PM
Post
#4
|
|
|
Programador ![]() ![]() ![]() Grupo: Membros Posts: 197 Registrado: 3-July 08 De: Fraiburgo-SC Membro N°: 11 |
Crie uma rotina de importação da Planilha para uma Tabela Temporária do Access.
Com essa Tabela você consegue vincular com a Tabela Oficial e testar quais campos tiveram modificações e fazer sua atualização. Veja um código de exemplo para você automatizar a importação: CODE Public Sub ImportaXLS(Arquivo As String) DoCmd.SetWarnings False DoCmd.RunSQL "Delete * From TempDados" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel3, "TempDados", Arquivo DoCmd.OpenQuery "AtualizaDados" DoCmd.SetWarnings True End Sub 1-Limpo a Tabela TempDados. 2-Importo s Planilha para a Tabela TempDados. 3-Executo a Consulta AtualizaDados. |
|
|
|
Jul 8 2010, 11:54 PM
Post
#5
|
|
|
Calouro ![]() Grupo: Membros Posts: 13 Registrado: 26-January 10 Membro N°: 2.477 |
Pessoal, boa noite!
Montei um banco de dados que tem como base a tabela funcionários. todo mês uma pessoa do me manda uma planilha do excel com os nomes e na maioria deles seus cargos e setores dos mesmos funcionários estao modificados. Qual a melhor forma de atualizar baseando-se na matricula deles que neste caso não muda? Agradeço mais uma vez |
|
|
|
![]() ![]() |
| Versão Simples | Horário: 7th September 2010 - 10:44 AM |