Boa tarde Gente,
Estou com o seguinte problema. Tenho um formulário chamado "frm_notafiscal". Nele possui um botão chamado "btn_importarprodutos". O código funciona com perfeição. Entretanto, o que preciso, é que no momento em que o usuário tentar importar pela segunda vez, não lhe seja permitido uma nova importação. Na prática se ele tentar buscar um segundo arquivo o código não permitirá uma nova importação para a tabela do access 2010. A extensão do arquivo importado esta no formato xlsx. (Excel). Abaixo estou postando o código que estou usando, mas não tenho obtido sucesso, pois não consigo bloquear a função. Ressalto que a o campo da tabela "notafiscal" abaixo indicado não é o que contém a chave primaria na tabela "tbl_notafiscal_produtos". Preciso bloquear por esta linha, haja vista, nela consta o "Id" da tabela nota fiscal. Grato a todos pela ajuda e dica.
Estou com o seguinte problema. Tenho um formulário chamado "frm_notafiscal". Nele possui um botão chamado "btn_importarprodutos". O código funciona com perfeição. Entretanto, o que preciso, é que no momento em que o usuário tentar importar pela segunda vez, não lhe seja permitido uma nova importação. Na prática se ele tentar buscar um segundo arquivo o código não permitirá uma nova importação para a tabela do access 2010. A extensão do arquivo importado esta no formato xlsx. (Excel). Abaixo estou postando o código que estou usando, mas não tenho obtido sucesso, pois não consigo bloquear a função. Ressalto que a o campo da tabela "notafiscal" abaixo indicado não é o que contém a chave primaria na tabela "tbl_notafiscal_produtos". Preciso bloquear por esta linha, haja vista, nela consta o "Id" da tabela nota fiscal. Grato a todos pela ajuda e dica.
- Código:
If DCount("*", "tbl_notafiscal_produtos", "notafiscal<>" & txt_id ) Then
Else
MsgBox "Não é possível importar produtos mais de uma vez", vbInformation, ""
Exit Sub
End If
- Código:
Private Sub btn_importarprodutos_Click()
If DCount("*", "tbl_notafiscal_produtos", "notafiscal<>" & txt_id ) Then
'Habilite a Referencia VBA Microsoft Office 12.0 object library (Ms Access 2007)
'Ou Microsoft Office 11.0 object library (Ms Access 2003)
Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim CaminhoDoFicheiro As String
Dim JanelaDeProcura As Office.FileDialog
Dim MeusFiltros As Office.FileDialogFilter
Dim blnHasFieldNames As Boolean
blnHasFieldNames = True
strPath = "C:\Gestor\importacao\" ' drive onde se situa o seu documento excel
strTable = "tbl_notafiscal_produtos" 'nome da tabela no seu banco
Set JanelaDeProcura = Application.FileDialog(msoFileDialogFilePicker)
With JanelaDeProcura
.Title = "Selecione a Imagem"
.Filters.Clear
.Filters.Add "Excel Files", "*.xlsx"
.FilterIndex = 2
.ButtonName = "Selecione"
.InitialView = msoFileDialogViewDetails
.InitialFileName = "C:\Gestor\importacao\"
If .Show = -1 Then
CaminhoDoFicheiro = CStr(JanelaDeProcura.SelectedItems.Item(1))
Else
Exit Sub
End If
Debug.Print Mid([CaminhoDoFicheiro], InStrRev([CaminhoDoFicheiro], "\") + 1)
CaminhoDoFicheiro = Mid([CaminhoDoFicheiro], InStrRev([CaminhoDoFicheiro], "\") + 1)
End With
strFile = Dir(strPath & CaminhoDoFicheiro) 'preciso que aqui tenha uma opção para procurar o arquivo, com "*.xls" ele carrega todos, e eu quero que ele defina o selecionado.
Do While Len(strFile) > 0
strPathFile = strPath & strFile
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
strTable, strPathFile, blnHasFieldNames
strFile = Dir()
Loop
MsgBox "Importação efectuada com sucesso...", vbInformation
Else
MsgBox "Não é possível importar produtos mais de uma vez", vbInformation, ""
Exit Sub
End If
End Sub
Última edição por darlansandro em 4/7/2016, 17:03, editado 1 vez(es)