Olá! Estou desenvolvendo um sistema em Access para controle de documentos Word e excel, porém gostaria de saber como faço para anexar este arquivo em um formulário conforme seu registro.
+3
criquio
Jungli
desiderio
7 participantes
[Resolvido]Anexar arquivo em furmulário
desiderio- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3
Registrado : 25/10/2011
- Mensagem nº1
Anexar arquivo em furmulário
Jungli- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 715
Registrado : 07/05/2010
- Mensagem nº2
Re: [Resolvido]Anexar arquivo em furmulário
Boa tarde, o ideal seria que você colocasse um campo armazenando o local em que arquivo se encontra.
.................................................................................
"Somos o que repetidamente fazemos.
A excelência, portanto, não é um feito,
mas um hábito."
Aristóteles
desiderio- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3
Registrado : 25/10/2011
- Mensagem nº3
Anexar arquivo em formulário
Boa tarde, vc tem algum modelo deste campo, pois não estou conseguindo concluir o mesmo, se puder me ajudar ficarei muito grato.
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº4
Re: [Resolvido]Anexar arquivo em furmulário
Uma forma simples de se fazer a coisa:
1 - Crie um módulo novo, cole a função abaixo nele, salve e deixe descansando enquanto prossegue para o passo 2:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
2 - No módulo do formulário aonde você vai armazenar os endereços dos arquivos, coloque no "Ao clicar" de um botão:
3 - Coloque, no botão que deverá abrir o arquivo:
Dim strArquivo As String
strArquivo = NomeDoCampoComOCaminho
Call ShellExecute(0, vbNullString, strArquivo, vbNullString, vbNullString, 1)
A função do passo 1 trabalha em conjunto com as instruções do passo 2, que permite abrir arquivos de qualquer extensão que tenha um programa associado no Windows sem a necessidade de informar isso no código.
O passo 2 chama a janela "Abrir arquivo" do Windows para você escolher o arquivo e colocar o caminho dele em um campo do formulário para gravar na tabela.
* A referência Microsoft Office xx.x Object Library precisa estar marcada, aonde xx.x é a versão do seu Access.
1 - Crie um módulo novo, cole a função abaixo nele, salve e deixe descansando enquanto prossegue para o passo 2:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
2 - No módulo do formulário aonde você vai armazenar os endereços dos arquivos, coloque no "Ao clicar" de um botão:
Dim fDialog As Office.FileDialog
Dim varFile As Variant
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.Title = "Selecione um arquivo"
.Filters.Clear
.Filters.Add "Access Databases", "*.MDB;*.accdb"
.Filters.Add "Documentos do Word", "*.doc;*.docx"
.Filters.Add "Planilhas do Excel", "*.xls;*.xlsx"
.Filters.Add "Todos os arquivos", "*.*"
.InitialFileName = CurrentProject.Path
If .Show = True Then
For Each varFile In .SelectedItems
Me.NomeCampo = varFile
Next
Else
MsgBox "Ação cancelada."
End If
End With
3 - Coloque, no botão que deverá abrir o arquivo:
Dim strArquivo As String
strArquivo = NomeDoCampoComOCaminho
Call ShellExecute(0, vbNullString, strArquivo, vbNullString, vbNullString, 1)
A função do passo 1 trabalha em conjunto com as instruções do passo 2, que permite abrir arquivos de qualquer extensão que tenha um programa associado no Windows sem a necessidade de informar isso no código.
O passo 2 chama a janela "Abrir arquivo" do Windows para você escolher o arquivo e colocar o caminho dele em um campo do formulário para gravar na tabela.
* A referência Microsoft Office xx.x Object Library precisa estar marcada, aonde xx.x é a versão do seu Access.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
desiderio- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3
Registrado : 25/10/2011
- Mensagem nº5
Anexar arquivo em formulário
Prezado Amigo, deu erro aqui para mim, tem como vc anexar um modelo deste mesmo?
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº6
Re: [Resolvido]Anexar arquivo em furmulário
Você colocou os nomes dos seus campos certinhos no lugar certo? Sempre que ocorrer erro, nos informe que erro que é, a mensagem de erro, para que linha do código que depurou, etc. Sem saber isso fica complicado saber qual foi o erro e consequentemente não saberemos o que pode ser feito.
Aqui tem um exemplo de clicar em um botão para pegar o caminho de ima imagem:
http://maximoaccess.forumeiros.com/t2843-interacao-consulta-modulo-formulario-continuo
Aqui tem um exemplo de clicar em um botão para pegar o caminho de ima imagem:
http://maximoaccess.forumeiros.com/t2843-interacao-consulta-modulo-formulario-continuo
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
Jungli- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 715
Registrado : 07/05/2010
- Mensagem nº7
Re: [Resolvido]Anexar arquivo em furmulário
Com a permissão do mestre Criquio, outro exemplo.
A referência Microsoft Office xx.x Object Library precisa estar marcada, onde xx.x é a versão do seu Access.
A referência Microsoft Office xx.x Object Library precisa estar marcada, onde xx.x é a versão do seu Access.
- Anexos
- linkDoc.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (28 Kb) Baixado 338 vez(es)
.................................................................................
"Somos o que repetidamente fazemos.
A excelência, portanto, não é um feito,
mas um hábito."
Aristóteles
vieirasoft- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 7304
Registrado : 11/05/2010
- Mensagem nº8
Re: [Resolvido]Anexar arquivo em furmulário
Como não houve retorno, o tópico passa a resolvido. Qualquer coisa reabra, por favor.
Jocsantos- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 2
Registrado : 28/09/2010
- Mensagem nº9
LinkDoc
Tentei testar e adaptar o seu exemplo mais aparece erro devio à minha versão ser de 64 bits. Quais sao as diferencas?
Obrigado
Obrigado
Avelino Sampaio- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3900
Registrado : 04/04/2010
- Mensagem nº10
Re: [Resolvido]Anexar arquivo em furmulário
A principal diferença está na adptação da API.
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Veja no meu artigo abaixo, como realizar a adaptação, utilizando a condicional #IF
http://www.usandoaccess.com.br/tutoriais/tuto28.asp?id=1#inicio
Bom estudo!
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Veja no meu artigo abaixo, como realizar a adaptação, utilizando a condicional #IF
http://www.usandoaccess.com.br/tutoriais/tuto28.asp?id=1#inicio
Bom estudo!
.................................................................................
Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces
Clique AQUI e analise o custo beneficio do material oferecido.
fsouza32- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 132
Registrado : 22/01/2013
- Mensagem nº11
Re: [Resolvido]Anexar arquivo em furmulário
Muito bom! Este forum é uma ferramenta extraordinária!!!
Acabo de utilizar o procedimento colocado pelo Criquio e ajudou 100%
Acabo de utilizar o procedimento colocado pelo Criquio e ajudou 100%