Microsoft Office Access 2007 de sadece hazırladığım form gözüksün access gizlensin. Yani access de hazırladığım bir programı bir exe gibi kullanmak istiyorsanız, hazırladığınız form haricinde diğer pencereler gözükmesin istiyorsanız, yapmanız gereken aslında gayet basit.
Access’in form ile açılması için öncelikle bu kodları modül olarak kaydedin
Private Declare Function IsWindowVisible Lib “user32” (ByVal hwnd As Long) As Long
Dim dwReturn As LongConst SW_HIDE = 0
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3Private Declare Function ShowWindow Lib “user32” (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As LongPublic Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean
If Procedure = “Hide” Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
End If
If Procedure = “Show” Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
If Procedure = “Minimize” Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)
End If
If SwitchStatus = True Then
If IsWindowVisible(hWndAccessApp) = 1 Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
Else
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
End If
If StatusCheck = True Then
If IsWindowVisible(hWndAccessApp) = 0 Then
fAccessWindow = False
End If
If IsWindowVisible(hWndAccessApp) = 1 Then
fAccessWindow = True
End If
End If
End Function
Şimdi de yeni bir makro oluşturup
Makroda eylemi kod çalıştır ve işlev kutusuna fAccessWindow (“Hide”, False, False) kodunu yazalım ve makromuzu kaydedelim. Hazırladığımız bu makroyu açılmasını istediğimiz formun özelliklerinde açıldığında kısmına koyalım.
Access Seçenekleri kısmından Geçerli Veritabanı Sekmesinde Form Görüntüle’ye ilk açılmasını istediğimiz formu gösterelim.
Bu şekilde hazırladığımız formlarımızda sağ üst köşedeki x işaretinden kapatırsak gizlemiş olduğumuz access açık kalacak ve tekrar açmak istediğimizde hata ile karşılaşacağız. Bundan dolayı formumuza access’i kapat ya da çık butonu oluşturmayı unutmayalım.
Son olarak da tüm form ve raporlarımızda özellikler kısmından açık ve kalıcı özelliklerini evet yapalım.
Access’i kapatıp hazırlamış olduğumuz dosyayı tekrar açmak istediğimizde işlemin tamamlandığını göreceğiz.
Yazı uzun ve uğraştırıcı gibi gözükebilir ama aslında çok kolay ve kısa bir yöntem. Ben yeterince açıklama yapabilmek için uzunca yazdım.
Kolay gelsin.
5 yorum
Anonim · 04 Aralık 2021 21:09 tarihinde
64 sorunu aldım onu düzelttik bu sefer de fAccessWindow(“Hide”, False, False) kodunda hata alıyorum….. 64 bite uygun kod.
If Win64 And VBA7 Then
Private Declare PtrSafe Function IsWindowVisible Lib “user32” (ByVal hwnd As LongLong) As LongLong
Else
Const SW_HIDE = 0
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3
Private Declare PtrSafe Function ShowWindow Lib “user32” (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean
If Procedure = “Hide” Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
End If
If Procedure = “Show” Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
If Procedure = “Minimize” Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)
End If
If SwitchStatus = True Then
If IsWindowVisible(hWndAccessApp) = 1 Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
Else
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
End If
If StatusCheck = True Then
If IsWindowVisible(hWndAccessApp) = 0 Then
fAccessWindow = False
End If
If IsWindowVisible(hWndAccessApp) = 1 Then
fAccessWindow = True
End If
End If
End Function
zafer · 21 Ocak 2013 17:36 tarihinde
düzelmedi makro yazılımında hata veriyor.
module içinde de değiştirmemiz gereken kodlar var gibi geliyor bana
vildan · 08 Mart 2012 09:17 tarihinde
denedim ama hata kodu 2950 ile karşılaştım. biraz araştırdım güvenlikle alakalı olduğunu buldum güvenlikle ilgili tüm ayarları yaptım ama düzelmedi neden olabilir. Teşekkürler
toprak · 24 Eylül 2012 13:50 tarihinde
@VİLDAN
öncelikle kolay gelsin almış olduğunuz hata ” işaretinden kaynaklanmaktadır
gerek makro gerekse modülde bulunan ” işaretlerini silip yeniden klavyenizle belirlerseniz sorun düzelecektir kolay gelsin
kubi · 02 Şubat 2012 15:07 tarihinde
güzel çalışma teşekkürler.