Boa noite amigos, estou com problemas para anexar fotos no formulário do access 64bit, alguém já conseguiu deixar o código do modulo localizar funcional para o access 64bit? Conforme algumas pesquisas ja fiz alterações no codigo troquei o Long por LongPtr no Declare inseri o PtrSafe para o 64bit mas não resolveu, no access 2010 32bit funciona perfeitamente, ja no access 2013 64bit não chega a abrir a caixa para pesquisar a foto.
Uso o codigo abaixo e nomeio o mesmo como localizar em um modulo:
Para o boato de upload da foto uso o codigo abaixo:
Estou anexando o BD para algum amigo me ajudar a verificar isso, pois conforme falei no 32bi funciona ja no access 2013 64bit não acontece nada quando clico no quadrado de inserção de fotos.
Agradeço muito a ajuda de vocês.
Uso o codigo abaixo e nomeio o mesmo como localizar em um modulo:
- Código:
Option Compare Database
Public Type OPENFILENAME
lStructSize As LongPtr
hwndOwner As LongPtr
hInstance As LongPtr
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustomFilter As LongPtr
nFilterIndex As LongPtr
lpstrFile As String
nMaxFile As LongPtr
lpstrFileTitle As String
nMaxFileTitle As LongPtr
lpstrInitialDir As String
lpstrTitle As String
flags As LongPtr
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As LongPtr
lpfnHook As LongPtr
lpTemplateName As String
End Type
Public Const OFN_FILEMUSTEXIST = &H1000
Public Const OFN_HIDEREADONLY = &H4
Public Const OFN_PATHMUSTEXIST = &H800
Const cTAMANHO = 11
Public Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" (lpofn As OPENFILENAME) As LongPtr
Public Declare PtrSafe Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, _
ByVal nSize As LongPtr, ByVal lpFileName As String) As LongPtr
Public Declare PtrSafe Function WritePrivateProfileString Lib "kernel32" Alias _
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As LongPtr
Public Declare PtrSafe Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As LongPtr) As LongPtr
Public Declare PtrSafe Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As LongPtr, ByVal wMsg As LongPtr, _
ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr
Public Function Buscar(lngHwnd As LongPtr, strTítulo As String, strPastaInicial As String, strFiltro As String) As String
Dim filebox As OPENFILENAME
Dim result As LongPtr
With filebox
.lStructSize = Len(filebox)
.hwndOwner = lngHwnd
.hInstance = 0
.lpstrFilter = strFiltro & vbNullChar & _
"Todos os Arquivos (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar
.nMaxCustomFilter = 0
.nFilterIndex = 1
.lpstrFile = Space(256) & vbNullChar
.nMaxFile = Len(.lpstrFile)
.lpstrFileTitle = Space(256) & vbNullChar
.nMaxFileTitle = Len(.lpstrFileTitle)
.lpstrInitialDir = strPastaInicial & vbNullChar
.lpstrTitle = strTítulo & vbNullChar
.flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY
.nFileOffset = 0
.nFileExtension = 0
.lCustData = 0
.lpfnHook = 0
End With
result = GetOpenFileName(filebox)
If result <> 0 Then
Buscar = Left(filebox.lpstrFile, InStr(filebox.lpstrFile, vbNullChar) - 1)
Else
Buscar = ""
End If
End Function
Para o boato de upload da foto uso o codigo abaixo:
- Código:
Private Sub Foto_Click()
Dim strCaminho As String, strPastaInicial As String
strPastaInicial = "C:\Meus Documentos"
strCaminho = Buscar(Me.hwnd, "Inserir foto", strPastaInicial, _
"Arquivos gráficos (*.bmp; *.gif; *.jpg)" & vbNullChar & "*.bmp; *.gif; *.jpg")
If Len(strCaminho) > 0 Then
Me.LocalFoto = strCaminho
Me.Foto.Picture = Me.LocalFoto
End If
End Sub
Estou anexando o BD para algum amigo me ajudar a verificar isso, pois conforme falei no 32bi funciona ja no access 2013 64bit não acontece nada quando clico no quadrado de inserção de fotos.
Agradeço muito a ajuda de vocês.
- Anexos
- Banco de dados2.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (89 Kb) Baixado 39 vez(es)