Skip to main content

AccessTr.neT


Rapor Oluşturduğunda Access Kilitleniyor.

Rapor Oluşturduğunda Access Kilitleniyor.

#10
Sayın oomerrrr,

Her ne kadar çözüm elde ettiğinizi beyan etmiş olsanız da,konunuzun 9.mesajında eklediğiniz örnek uygulama incelendiğinde,aşağıdaki hususlara dair açıklamaların yapılması uygun görülmüştür.

1) Pencere (arka planda Access) gizleme işlemi için üst menüden ARAÇLAR-BAŞLANGIÇ sekmesinde yer alan

- UYGULAMA SEÇENEKLERİ başlığı altındaki Access ÖZEL TUŞLARINI KULLAN


- ŞERİT ARAÇ ÇUBUĞU SEÇENEKLERİ altındaki TAM MENÜLERE İZİN VERME,VARSAYILAN KISAYOL MENÜ İZNİ ve YERLEŞİK ARAÇ ÇUBUKLARI İZNİ seçeneklerinin işaretli olduğu fark edilmiştir.

Yukarıda bahsi geçen ifadelerinin olduğu checkbox kutuları İŞARETSİZ olması gerekmektedir ki,bu işlemlere zemin hazırlansın.

2) frm_1 adlı formun Açıldığında olay yordamındaki

Kod:
Call fSetAccessWindow(0)
kod satırının hatalı ve bazı kodların eksik yazıldığı fark edilmiştir.bu nedenle,bu durumu düzeltmeniz için aşağıda yapmanız gerekenler anlatılmıştır:

a) mdl_access_gizleme adlı modülün içeriğini tamamen siliniz ve aşağıdaki kodları dahil ediniz.
Kod:
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
 
#If VBA7 And Win64 Then
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End If
 
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
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
 
If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
MsgBox "Cannot minimize Access with " _
& (loForm.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loForm.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
fSetAccessWindow = (loX <> 0)
End Function

b) frm_1 adlı formun Açıldığında olay yordamını tamamen siliniz ve Yüklendiğinde olay yordamına aşağıdaki kod satırını dahil ediniz.

Kod:
fSetAccessWindow (SW_HIDE)
3) rpr_1 adlı raporun Yüklendiğinde olay yordamına Me.Requery kod satırını yazmanıza gerek yok aslında.çünkü;zaten rapor açıldığında bilgiler güncel hali ile yer almaktadır.

EK'te;
Yukarıda bahsi yapılan tüm açıklamaların uygulandığı hali ile düzenlenerek hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

bu paylaşımın faydalı olması temennisi ile.bilginize…iyi çalışmalar,saygılar.
.rar Örnek3-ATOZ.rar (Dosya Boyutu: 28,58 KB | İndirme Sayısı: 7)
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: Rapor Oluşturduğunda Access Kilitleniyor. - Yazar: atoz112 - 16/11/2015, 14:19
Task