Amigos tenho uma aplicação que fiz em access para programação de férias dos funcionários e coloquei na intranet, acontece que temos 15 filiais e algumas tem máquinas com office 32 bits e outras com 64 bits.
Na de 32 bits roda perfeitamente porém nas de 64 bits dá erro.
Fiz da seguinte forma mas não está dando certo.
Option Compare Database
Option Explicit
#If VBA7 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare PtrSafe Function GetFocus Lib "user32" () As LongPtr
#Else
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Function GetFocus Lib "user32" () As Long
#End If
Usei também esta:
#If VBA7 Then
'Área comum do Access 2010 de 32 bits e 64 bits
Declare ptrsafe Function GetActiveWindow Lib "user32" () As LongPtr 'Declare ptrsafe Function GetActiveWindow Lib "user32" () As LongPtr
#If Win64 Then
'Área exclusiva do Access 2010 de 64 bits
Declare ptrsafe Function GetTickCount64 Lib "kernel32" () As LongLong
#Else
'Área exclusiva do Access 2010 de 32 bits
Declare ptrsafe Function GetTickCount Lib "kernel32" () As Long
#End If
#Else
'Área do Access 2007 e inferiores
Declare Function GetActiveWindow Lib "user32" () As Long
Declare Function GetTickCount Lib "kernel32" () As Long
#End If
Em todas as situações dá um erro de compilação.
Alguém pode dá uma luz... Estou precisando urgente corrigir este problema. A reinstalação do access de 32 bits torna-se inviável.
Agradeço desde já a ajuda de vocês.
Obrigado...
Na de 32 bits roda perfeitamente porém nas de 64 bits dá erro.
Fiz da seguinte forma mas não está dando certo.
Option Compare Database
Option Explicit
#If VBA7 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare PtrSafe Function GetFocus Lib "user32" () As LongPtr
#Else
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Function GetFocus Lib "user32" () As Long
#End If
Usei também esta:
#If VBA7 Then
'Área comum do Access 2010 de 32 bits e 64 bits
Declare ptrsafe Function GetActiveWindow Lib "user32" () As LongPtr 'Declare ptrsafe Function GetActiveWindow Lib "user32" () As LongPtr
#If Win64 Then
'Área exclusiva do Access 2010 de 64 bits
Declare ptrsafe Function GetTickCount64 Lib "kernel32" () As LongLong
#Else
'Área exclusiva do Access 2010 de 32 bits
Declare ptrsafe Function GetTickCount Lib "kernel32" () As Long
#End If
#Else
'Área do Access 2007 e inferiores
Declare Function GetActiveWindow Lib "user32" () As Long
Declare Function GetTickCount Lib "kernel32" () As Long
#End If
Em todas as situações dá um erro de compilação.
Alguém pode dá uma luz... Estou precisando urgente corrigir este problema. A reinstalação do access de 32 bits torna-se inviável.
Agradeço desde já a ajuda de vocês.
Obrigado...