Tudo bem!!
Estou com uma dúvida, no programa que fiz ele inclui para importar uma planilha em Excel e carrega para o access 2010. Procurei no fórum encontrei um exemplo e modifiquei para o meu banco, porem o banco de exemplo está funcionando sem a referencia do ms 11 object library. Quando modifico para o meu banco aparece erro de "o tipo definido pelo usuário não foi definido".
Alguém poderia me ajudar nessa?
se o codigo do botão da função:
Function AbrirRC() As String
' Requer referencia a Microsoft Office 11 Object Library
On Error GoTo PROC_ERR
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "selecione o ficheiro"
fd.Filters.Add "Ficheiro XLSX", "*.xlsx", 1
fd.Show
If (fd.SelectedItems.Count > 0) Then
'------inicio importação excel para sincronização
Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim blnHasFieldNames As Boolean
blnHasFieldNames = True
strPathFile = fd.SelectedItems(1)
strTable = "ExcelTmp"
'apaga temporarios
DoCmd.RunSQL "Delete * from ExcelTmp"
'importa para tabela local temporária
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames
'sql verifica existentes e marca com não novo
DoCmd.OpenQuery "xls01marcaExistentes", acViewNormal, acEdit
'sql atualiza existentes
DoCmd.OpenQuery "xls02AtualizaExistentes", acViewNormal, acEdit
'sql lança novos no ficheiro funcionarios
DoCmd.OpenQuery "xls03LancaNovos", acViewNormal, acEdit
MsgBox "Operação concluída.", vbInformation, ""
'apaga temporarios
DoCmd.RunSQL "Delete * from ExcelTmp"
Else
MsgBox "Não foi escolhido nenhum ficheiro", vbInformation, ""
End If
PROC_EXIT:
Exit Function
PROC_ERR:
DoCmd.Hourglass False
If Err.Number = 3011 Then
LocalXML = ""
MsgBox ("Ficheiro inválido.")
Else
MsgBox Err.Description
End If
Resume PROC_EXIT
Estou com uma dúvida, no programa que fiz ele inclui para importar uma planilha em Excel e carrega para o access 2010. Procurei no fórum encontrei um exemplo e modifiquei para o meu banco, porem o banco de exemplo está funcionando sem a referencia do ms 11 object library. Quando modifico para o meu banco aparece erro de "o tipo definido pelo usuário não foi definido".
Alguém poderia me ajudar nessa?
se o codigo do botão da função:
Function AbrirRC() As String
' Requer referencia a Microsoft Office 11 Object Library
On Error GoTo PROC_ERR
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "selecione o ficheiro"
fd.Filters.Add "Ficheiro XLSX", "*.xlsx", 1
fd.Show
If (fd.SelectedItems.Count > 0) Then
'------inicio importação excel para sincronização
Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim blnHasFieldNames As Boolean
blnHasFieldNames = True
strPathFile = fd.SelectedItems(1)
strTable = "ExcelTmp"
'apaga temporarios
DoCmd.RunSQL "Delete * from ExcelTmp"
'importa para tabela local temporária
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames
'sql verifica existentes e marca com não novo
DoCmd.OpenQuery "xls01marcaExistentes", acViewNormal, acEdit
'sql atualiza existentes
DoCmd.OpenQuery "xls02AtualizaExistentes", acViewNormal, acEdit
'sql lança novos no ficheiro funcionarios
DoCmd.OpenQuery "xls03LancaNovos", acViewNormal, acEdit
MsgBox "Operação concluída.", vbInformation, ""
'apaga temporarios
DoCmd.RunSQL "Delete * from ExcelTmp"
Else
MsgBox "Não foi escolhido nenhum ficheiro", vbInformation, ""
End If
PROC_EXIT:
Exit Function
PROC_ERR:
DoCmd.Hourglass False
If Err.Number = 3011 Then
LocalXML = ""
MsgBox ("Ficheiro inválido.")
Else
MsgBox Err.Description
End If
Resume PROC_EXIT