AccessTr.neT

Tam Versiyon: 64 bit de access penceresini gizleme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
herkese merhaba ,

32 bit bilgisayarlada asagida verdidim kodlari modulun icine koyunca basarili bir sekilde calisiyor, ancak sikintim 64 bit bilgisayarda calismiyor. calistigim is yerinde hem 32 hemde 64 bit bilgisayar var dolayisiyla hazirladigim veri tabani her yerde calismiyor.

Option Compare Database
Option Explicit
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3

Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then
If nCmdShow = SW_HIDE Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else

loX = apiShowWindow(hWndAccessApp, nCmdShow)

End If
fSetAccessWindow = (loX <> 0)
End Function


Formun acilisina

Private Sub Form_Open(Cancel As Integer)
fSetAccessWindow (0)
End Sub

Pop up = yes
modal = yes
Ben de 64 bit windows7 kullanıyorum ama verdiğiniz örnek gayet güzel çalışıyor. Sorun ne anlamadım.

Yalnız şunu belirteyim office 2010 32 bit sürümü kuruludur. Sizde office de mi 64 bit?
Bu da resmi.
Mehmet bey,
oncelikle ilginiz icin tesekkur ederim,
cok emin degilim ama ofisde 64 bit bende verdigi hatanin resmini gonderiyorum
evet, kullandığınız api user32 apisi olduğu için 64bit'e uygun değil. Problem programı 32bit Access ile hazırlayıp 64bit ile çalıştırmanızdan kaynaklı. Microsoft bunun 64 bit kullanan bir Access'te düzenleme yaparak halledileceğini belirtmiş. Bunun yanında bir modül açarak aşağıdaki kodların modüle eklenmesinin de sorunu çözdüğünü belirtmişler:

#If VBA7 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
#Else
Private Declare Sub Sleep Lib "kernel32" (ByVal ms as Long)
#End If

Bunun yanında utteraccess'ciler de hata veren şu kodların

Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpbuffer As String, nsize As Long) As Long

şu şekilde yazılması durumunda sorunun çözüldüğünü belirtmişler:

Private Declare PtrSafe Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpbuffer As String, nsize As Long) As Long

Bir diğer yol ise benim yaptığım gibi 32 bit Access kullanmaktır Img-grin))
tesekkurler
Sayfalar: 1 2