IPB

Bem-vindo, visitante ( Entrar | Registrar )

 
Reply to this topicStart new topic
Atualizar Dados De Funcionários, Cargo e setor
Fábio Bulhões Sa...
post 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!
Go to the top of the page
 
+Quote Post
Roberto Pires
post Jul 10 2010, 06:04 PM
Post #2


Analista
****

Grupo: Membros
Posts: 283
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
Go to the top of the page
 
+Quote Post
Fábio Bulhões Sa...
post 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,
Go to the top of the page
 
+Quote Post
Roberto Pires
post Jul 9 2010, 05:23 PM
Post #4


Analista
****

Grupo: Membros
Posts: 283
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.
Go to the top of the page
 
+Quote Post
Fábio Bulhões Sa...
post 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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 usuário(s) está(ão) lendo este tópico (1 visitantes e 0 usuários anônimos)
0 membros:

 

Modos de Exibição: Padrão · Mudar para: Linear+ · Mudar para: Outline


Versão Simples Horário: 29th July 2014 - 09:43 AM