Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Access 2010 [VBA] Ajuda!
26-09-2013, 16:43
Mensagem: #1
Access 2010 [VBA] Ajuda!
Boa tarde,

Gostaria de saber qual o código para Abrir um "folder" específico do Windows através de um botão de um formulário.
Isto é com código em VBA ...
Tenho andado ás voltas com isto e não estou a conseguir executar o código de forma correta.

Agradeço desde já a quem me puder ajudar.

Cumprimentos
danielricardo15
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
26-09-2013, 17:33
Mensagem: #2
RE: Access 2010 [VBA] Ajuda!
Olá Smile

Experimenta,

Código:
dim strcaminho as string
strCaminho = "C:\caminho"
Application.FollowHyperlink strCaminho

Se o ficheiro se encontra na mesma pasta que o ficheiro do Access podes tentar,

Código:
Dim strFicheiro As String
strFicheiro = CurrentProject.Path & "\Ficheiro"
Application.FollowHyperlink strFicheiro

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
26-09-2013, 17:47 (Esta mensagem foi modificada pela última vez a: 26-09-2013 18:16 por danielricardo15.)
Mensagem: #3
RE: Access 2010 [VBA] Ajuda!
nioxys muito obrigado pela tua preciosa ajuda Big Grin
Introduzi o código que me forneceste no botão do meu formulário e fiquei com ele desta forma:

Private Sub Comando40_Click()

Dim strcaminho As String
strcaminho = "C:\Users\User\Desktop\Projecto Access\Processos"
Application.FollowHyperlink strcaminho

End Sub


no entanto não acontece nada, devo estar a fazer algo errado :$

(26-09-2013 17:33)nioxys Escreveu:  Olá Smile

Experimenta,

Código:
dim strcaminho as string
strCaminho = "C:\caminho"
Application.FollowHyperlink strCaminho

Se o ficheiro se encontra na mesma pasta que o ficheiro do Access podes tentar,

Código:
Dim strFicheiro As String
strFicheiro = CurrentProject.Path & "\Ficheiro"
Application.FollowHyperlink strFicheiro

Afinal Resolvi o problema, o erro foi meu no nome do botão, e resultou perfeitamente, muito obrigado pela ajuda Big Grin

Já agora o meu plano é criar uma lista que disponibiliza clientes e cada um deles têm um folder próprio com ficheiros, será que há alguma forma de clicar neste mesmo botão e abrir o folder especifico de cada cliente?
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
26-09-2013, 18:31
Mensagem: #4
RE: Access 2010 [VBA] Ajuda!
De nada. Smile

Sim, é possível, mas a melhor forma de o fazer é se a pasta em questão tiver como nome algo que esteja presente na base dados, como por exemplo, o código do cliente, etc.

Ficava algo do género

Código:
dim strcaminho as string
strCaminho = "C:\caminho"
Application.FollowHyperlink strCaminho & "\" & me!codcliente

Diz-me como tens o nome da pasta.

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
26-09-2013, 18:43 (Esta mensagem foi modificada pela última vez a: 26-09-2013 18:44 por danielricardo15.)
Mensagem: #5
RE: Access 2010 [VBA] Ajuda!
O nome da Pasta é "Processos" dentro dela estariam outras pastas com o nome de cada cliente e dentro delas os ficheiros correspondentes, o que eu fiz foi criar um formulário para visualizar e editar a base de dados de clientes , e o meu objetivo era poder clicar no botão seguinte e ao visualizar esse cliente clicar no botão para abrir a pasta correspondente e repetir o mesmo processo para outros.

tenho como chave primária na base de dados o campo "Nome"
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
26-09-2013, 20:01 (Esta mensagem foi modificada pela última vez a: 26-09-2013 20:07 por nioxys.)
Mensagem: #6
RE: Access 2010 [VBA] Ajuda!
Começando pelo fim, ter como chave primária o campo "Nome" não é boa ideia. A chave primária não permite duplicações, é um identificador único de cada registo. Agora imagina que tens dois clientes com o mesmo nome, como fazes?

Relativamente à pasta, se o nome da mesma não estiver presente num campo da base de dados torna-se mais complexo.

Eu criei um exemplo onde o nome da pasta é o NIF de cada cliente, ao navegares nos vários registos sempre que clicares no botão "Abrir Pasta" o Access abre a pasta referente a esse cliente.
Coloquei as pastas no mesmo directório da BD, dentro da pasta Data. Não me lembrei de lhe chamar processos. Tongue

Exemplo Access - Download

(Deves descompactar o ficheiro e abrir a BD sem mexer na estrutura das pastas nem mover a BD para outro directório)

Podes melhorar todo este processo ao criares a pasta automaticamente no momento da inserção de um novo cliente, e podes dar-lhe logo um nome, neste caso seria o NIF, por exemplo.

Não te esqueças que também deves testar se um cliente já existe.

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
27-09-2013, 14:16
Mensagem: #7
RE: Access 2010 [VBA] Ajuda!
Estás a dar me uma ajuda preciosa , muito obrigado!

Já agora como se processa a parte de criar a pasta ao criar um cliente novo na base de dados?
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
27-09-2013, 14:42 (Esta mensagem foi modificada pela última vez a: 27-09-2013 14:43 por nioxys.)
Mensagem: #8
RE: Access 2010 [VBA] Ajuda!
Não precias agradecer.
De que serve termos o conhecimento se não o partilhar-mos?

O processo deve ser feito da seguinte forma,

1 - Testar se o cliente já existe, se existir enviar mensagem "Cliente já existe" e permitir ao utilizador escolher entre editar o cliente existente ou inserir outro. Pode ser testado quando introduzes o NIF. Eu falo no NIF porque é um dado único para cada cliente. Pelo menos espera-se que sim. Smile

2 - O processo de criar a pasta pode estar embebido no teste do cliente, se não existir cria a pasta (este processo é transparente aos olhos do utilizador)

Amanhã coloco aqui um exemplo, hoje não consigo fazer isso.

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
27-09-2013, 15:10
Mensagem: #9
RE: Access 2010 [VBA] Ajuda!
Realmente faz todo o sentido, visto que o NIF é um número único irei fazer uns testes e experimentar outras funcionalidades e melhorar o layout , agradeço se puderes colocar amanhã esse exemplo.

PS: Agradeço na mesma porque realmente ajuda imenso, e é sempre bom aprender cada vez mais, mas também há pessoas que remetem-se ao silencio ao invés de transmitir o conhecimento.

Thanks alot Big Grin
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
05-10-2013, 15:49 (Esta mensagem foi modificada pela última vez a: 05-10-2013 23:20 por nioxys.)
Mensagem: #10
RE: Access 2010 [VBA] Ajuda!
Com uma semana de atraso mas cá está o exemplo que te falei. Wink

Neste exemplo tens o seguinte conteúdo,

- Verificação se o registo já existe, caso exista tens a possibilidade de editar;
- Possibilidade de anexar ficheiros aos registos, os ficheiros são copiados para uma pasta cujo nome é o NIF do cliente. São ainda listados numa listview e caso cliques sobre o nome do ficherio este é aberto;
- Possibilidade de remover ficheiros anexados a um determinado registo;
- Possibilidade de pesquisar por NIF de cliente, se for encontrado algum registo podes aceder aos detalhes clicando sobre a pesquisa;
- Possibilidade de exportar o resultado da pesquisa para Excel;
- A interface do Access foi "limpa" e criada um ribbon especifica para este exemplo;
- Na abertura do ficheiro se reparares existe um splash screen que subsitui o normal do Access.

Alguma dúvida apita.

Há uns tempos atrás eu criei uma BD com muitas destas funcionalidades e, existem com certeza, muitas outras formas de fazer o que eu aqui escrevi. Os meus códigos são meros exemplos e de certeza que podem ser melhorados. São resultado de várias pesquisas, estudo e muitas perguntas. Smile

Já agora para perceberes o que eu digo, eu comecei assim.

Download Exemplo v1

EDIT:

Para abrires a BD em modo de estrutura mantem a tecla shift pressionada na abertura da mesma.

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)