Skip to main content

AccessTr.neT


64 bit de access penceresini gizleme

64 bit de access penceresini gizleme

#1
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
.rar Database9.rar (Dosya Boyutu: 14,68 KB | İndirme Sayısı: 169)
Cevapla
#2
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?
İnadına, ille de Accesstr.net...
Cevapla
#3
Bu da resmi.
İnadına, ille de Accesstr.net...
Cevapla
#4
Mehmet bey,
oncelikle ilginiz icin tesekkur ederim,
cok emin degilim ama ofisde 64 bit bende verdigi hatanin resmini gonderiyorum
Cevapla
#5
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))
İnadına, ille de Accesstr.net...
Cevapla
#6
tesekkurler
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da