Skip to main content

AccessTr.neT


Açık olan rapor tam ekran mı, normal mi?

Açık olan rapor tam ekran mı, normal mi?

Çözüldü #1
Arkadaşlar bir raporun açık olup olmadığını runtime olarak kontrol edebiliyoruz. Ancak benim aradığım açık olan rapor tam ekran mı, normal mi, yoksa simge durumunda mı? bunu öğrenmek istiyorum. Yardımcı olacak arkadaşlarara teşekkür ederim.
Son Düzenleme: 06/06/2009, 17:47, Düzenleyen: mesudi.
Cevapla
Çözüldü #2
Sayın mesudi
Sizin sorunuzla ilgili bulabildiğim tek kodu aşağıya ekliyorum. Bu kodda formun koordinatları veriliyor. Siz bunu rapora uyarlarsınız. Deneme şansım olmadı, inşallah çalışıyordur.

Formun boyutlarını veren kod:

Kod:
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Declare Function InflateRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
Private Sub Form_Load()
    Dim R As RECT
    'initialize the rectangle
    R.Right = 100
    R.Bottom = 200
    R.Top = 20
    R.Left = 30
    'increase the width and height of the specified rectangle
    InflateRect R, 60, 50
    'show the result
    MsgBox "New rectangle's co-ordinates: (" + CStr(R.Left) + "," + CStr(R.Top) + ")-(" + CStr(R.Right) + "," + CStr(R.Bottom) + ")."
End Sub

Mutlaka raporun tam ekran mı simge durumunda mı yoksa normal mi olduğunu veren bir api de mevcuttur ama sanırım bulamadım. Bir de ne işe yarayacağını söyleseniz belki başka öneriler gelebilir.

Bu arada raporun açık mı kapalı mı olduğunu veren kodlar eminim sizde mevcuttur, bizim online Kod Bankasında da var. Ama yine de hazır bulmuşken yapıştırayım dedimImg-grin))

Kod:
If SysCmd(acSysCmdGetObjectState, acForm, "Form1") <> 0 Then
   MsgBox "Form açık."
Else
   MsgBox "Form kapalı."
End If
Örnek, Form1 adlı formun açık olup olmadığını araştırıyor. Raporlar için "acForm" deyimini "acReport" olarak değiştirmelisiniz.


ALTERNATİF YÖNTEM:


Kod:
If CurrentProject.AllForms("AFormu").IsLoaded = True Then
      ...
End If
If CurrentProject.AllForms("BFormu").IsLoaded = True Then
      ...
End If



ALTERNATİF 2:


Kod:
Kod:

Private Function isFormLoaded(strFormName As String)
    isFormLoaded = SysCmd(SYSCMD_GETOBJECTSTATE, A_FORM, strFormName)
End Function


isimli fonksiyonu ekleyip, kodun çalışmasını istediğin olaya aşağıdakini yaz



Kod:

Const FRM_A = "FORM1"
    Const FRM_B = "FORM2"  
    Dim strArgs As String        
       If isFormLoaded(FRM_A) Then

'Form1 açık ise yapılacak işlem.

    End If
    
        If isFormLoaded(FRM_B) Then

'Form2 açık ise yapılacak işlem.

    End If

İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #3
Hocam cevap için çok teşekkürler. Malesef işimi görmedi. Böyle bir şeye neden ihtiyacım olduğunu sormuşsunuz. Şöyleki; başlık çubuğu ve kenarlığı olmayan, yani herşeyi en baştan tasarladığım bir formum var. Bu formu kendi yaptığım üst menüden çalıştırıyorum. Ancak bu formu çalıştırınca öncesinde tam ekran boyutunda bir rapor açıksa bizim formda tam ekran boyutunda açılıyor. Buraya kadar sorun yok. Ancak bizim formu normalleştirmek veya kapatmak istediğim zaman uygulama kitlenip kalıyor. Bende çözüm olarak bu formun open olayına eğer bir rapor açıksa önce onu kapatan bir kod yazdım. Fakat takdir edersinizki çok makul bir çözüm değil. Bende bunun yerine tam ekran olan rapor varsa restore yapıp formu öyle açmayı düşündüm. Tabi diyeceksinizki bu formun raporlarla ne alıp veremediğini araştırsak daha iyi olmazmı. Ben çok araştırdım. Fırsat bulursam bir konu açıp bu anlaşamayan form-rapor Img-grin meselesini masaya yatıralım istiyecem.
Son Düzenleme: 11/06/2009, 19:34, Düzenleyen: mesudi.
Cevapla
Çözüldü #4
Yayınladığım bir örnek vardı. O örnekte Access penceresi gizleniyordu. Fakat eğer rapor çalışacaksa o zaman rapor tam ekran açılıyordu. Belki onu inceleseniz işinize yarar kodlar bulabilirsiniz. Tam hatırlamıyorum ama accessi gizleme 2 veya 3 olması lazım..
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #5
Teşekkürler hocam, sanırım ben bu arıza çıkaran formla biraz uğraşsam daha iyi olacak. Çünkü asıl problemin kaynağı o. Ama çok eskiden tasarladığım bir dünya kod olduğu için incelemekten korkmuştum. Mecbur gözden geçirecez.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da