Msaccess.exe Dosyasının Açık Kalması (görev Yöneticisi)

1 2
31/08/2022, 22:57

aydin5353

Arkadaşlar. Bugün iş yerinde karşılaştığım, ben olmadan kimsenin çözemediği ve benim daha önceden yaşanabileceğini düşündüğüm sıkıntı meydana geldi. Buna çözüm bulmam gerekiyordu. Yaklaşık 2 saat sitede aradım ancak tam benim istediğim çözümü göremedim.

İş yerinde kurumsal bilgisayarların olması, şifre ile girilmesi, işlem yapılmadığında uyku moduna geçmesi sonrasında Access dosyasında kapanma meydana gelip "Görev Yöneticisinde" Msaccess.exe çalışmaya devam etmektedir. 
Yada ekte video çektim. Görev Çubuğundan "PENCEREYİ KAPAT" seçildiğinde aynı durum meydana gelmektedir. 

Aslında projemde X (KAPAT) tuşlarını kaldırdım. Programdan çıkış için koyduğum butonlar Axcess' i arka planda kapatıyor. Ancak programı kapatmasını bilmeyen kişiler video' daki gibi kapatabiliyor. Daha farklı bir sebeple bu şekilde arka plan' ın kalıp kalmadığını henüz tespit edemedim. Uygulama açısından problemim yok ancak yazdığım hususlara bir çözüm bulabilmem lazım.

Eğer bu uygulama tek bilgisayardan kullanılırsa aslında görev yöneticisinden kapatmak kolay. Ancak ağ üzerinden paylaşıldığı için hangi bilgisayar tarafından arka planda açık kaldığının tespit edilmesi de ayrıca işi zorlaştırıyor. Çok şey yazdım farkındayım ancak uzun zamandır aklımdaydı. Eğer varsa çözümü herkes için de faydalı olur diye düşünüyorum. Saygılar sunarım...
01/09/2022, 00:13

atoykan

Uygulamanızda devamlı kullanılmakta olan bir formda veya arka planda çalışacak bir form üzerinden çıkış denetimini sağlayabilirsiniz.
  1. Kapat düğmesi özelliğini Hayır olarak ayarlayın. Opsiyonel olarak küçült/kapla özelliğini kapatabilirsiniz.
  2. Formun Vba declaration alanına (Option Compare Database veya Option Explicit yazan alanın hemen altına)
    Public Kapat_OK As Boolen
    kodunu ekleyin.
  3. Formun OnLoad (yüklendiğinde) olayına
    Kapat_OK = False
  4. Çıkış butonunun OnClick(tıklandığında) olayında
    Kapat_OK = True
    Application.Quit
    kodunu ekleyin.
  5. Formun Unload (kaldırıldığında) olayına
    Cancel = Not Kapat_OK
    kodunu ekleyin.

    Böylece kimse sağ klik ile taskbardan uygulamanızı kapatamaz sadece sizin belirlediğiniz yöntem ile kapatılabilir.
01/09/2022, 01:30

aydin5353

[*]Formun OnLoad (yüklendiğinde) olayına
Kapat_OK = False

[*]Formun Unload (kaldırıldığında) olayına
Cancel = Not Kapat_OK
kodunu ekleyin.




Hocam Bütün kodları ekleyince dediğiniz gibi oluyor. Ancak 1. Form açıkken formda seçili butona basarak farklı bir form açıyorum. Bu açılan form sonrasında 1. form otomatik kapanıyordu. Şimdi kapanmayıp hata veriyor. 2 farklı hata veriyor. hem admin hem normal giriş yaparsanız görebilirsiniz.
01/09/2022, 02:31

atoykan

Çoklu form içeren uygulamalarda bu tip hatalarla karşılaşmamak için genel olarak çıkış işlemini yöneten bir form oluşturulur ve kontroller bu form üzerinden çalıştırılır. Örneğin arka planda çalışan gizli bir form oluşturun ve denetimlerin bu form üzerinden işletilmesini sağlayın. Böylece diğer formlarınız hatasız çalışırken gizli fomdaki denetimler ile kullanıcılar görmeden çıkış denetimlerini yürütmüş olursunuz.
01/09/2022, 17:01

aydin5353

(01/09/2022, 02:31)atoykan yazdı: Çoklu form içeren uygulamalarda bu tip hatalarla karşılaşmamak için genel olarak çıkış işlemini yöneten bir form oluşturulur ve kontroller bu form üzerinden çalıştırılır. Örneğin arka planda çalışan gizli bir form oluşturun ve denetimlerin bu form üzerinden işletilmesini sağlayın. Böylece diğer formlarınız hatasız çalışırken gizli fomdaki denetimler ile kullanıcılar görmeden çıkış denetimlerini yürütmüş olursunuz.

Bunu tek başıma yapabilmem zor sanırsam. Bunla ilgili bir örnek var mıdır. İncelesem anlayabilir miyim onu bilmiyorum ama en azından çabalarım. 

Çok açıklayıcı yazdınız hocam farkındayım. Bende bir form yapabilirim ama bunu "arka planda çalışan ve gizli olacak şekilde" nasıl olabilir hiç bir fikrim yok maalesef.
01/09/2022, 19:01

atoykan

Zor bir işlem değil, çalışmanızı bu aşamaya kadar getirebildiğinize göre aslında çocuk oyuncağı sizin için. Yapacağınız şu
Görünür özelliği hayır yapılmış bir form oluşturun ve çıkış denetimlerini bu forma uygulayın. Uygulama açılışını bu gizli form olarak ayarlayın. Bu formun yüklendiğinde olayında orjinalde açılmasını istediğiniz ilk formu çağırın. Böylece uygulama sizin istediğiniz gibi açılmış görünür ve gizli form arka planda açık olduğu ve çıkış denetimlerini yaptığı için sizin belirlediğiniz çıkış işlemi dışında işlem yapılmasını önler.
1 2