Form açık değilse açıp raporu otomatik kapatma nasıl yapılır?
Tarih
13/05/2009 19:02
Konu Sahibi
mehmeser
Yorumlar
2
Okunma
2465
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
mehmeser
Hesap Aktif Değil
Kullanici Avatari
Aktivasyon Bekleyen
135
07/02/2009
-
Ofis 2003
02/09/2009,00:18
Çözüldü 
Merhaba,

Hazırladığım uygulamada sınıf listesi alırken parametreler frm_SinifListesi formunda verilmeli yoksa rapor hata mesajı veriyor.

Kullanımı kolaylaştırmak için rapora tıklandığında bu formu kontrol etmeli eğer açık değilse formu açmalı ve rapor kapatmalıyım.

Ben raporun açıldığında olayına şunları yazdım:

Kod:
1
2
3
4
5
6
7
8
9
10
11
'EĞER form açık değilse raporu kapat ve formu aç 13.05.2009 çarşamba
If SysCmd(acSysCmdGetObjectState, acForm, "frm_SinifListesi") <> 0 Then
'form açıktır
Else
 MsgBox "Öncelikle sınıf ve şube seçimi yapmalısınız."
 Dim stDocName As String
 Dim stLinkCriteria As String
 stDocName = "frm_SinifListesi"
 DoCmd.OpenForm stDocName, , , stLinkCriteria
 DoCmd.Close acReport, "rpr_SinifListesiResimli"
End If


Fakat rapor kendini kapatmıyor. Hata olarak ise olay anında bu komutu çalıştıramazsınız diyor.

Sadd Nasıl, raporu kapatabilirim ? Teşekkürler.


DoCmd.Close acReport, "rpr_SinifListesiResimli" yerine Cancel = True yazınca rapor da kapandı. Eğer yaptığımda bir hata varsa veya daha iyi bir yöntem varsa bekliyorum.


Ek Dosyalar Ekran Görüntüleri
   
Cevapla

okileturc
Aktif Üye
Kullanici Avatari
Aktif Üye
O.... V....
966
18/03/2009
459
İzmir
Ofis 2003
23/05/2016,13:38
Çözüldü 
Sponsor Reklam
Ben ekteki modülü çok faydalı buluyorum
ve çok kullanıyorum

Kod:
1
2
3
4
5
6
7
8
9
10
Function IsLoaded(ByVal strFormName As String) As Boolean
 ' Returns True if the specified form is open in Form view or Datasheet view.
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
        If oAccessObject.CurrentView <> acCurViewDesign Then
            IsLoaded = True
        End If
    End If
    End Function


Bu kodu, modüller bölümünde yeni kayıt açıp yapıştırın
ve kayıt edin

Sadece bu problemde değil artık nerede isterseniz açık form
kontrolü yaptıktan sonra eyleminizi gerçekleştirebilirsinz

If IsLoaded ( "kontrol_edilecekformadı" ) Then
Eylemi yap
Else
Vazgeç veya başka eylem yap
End If

Kolay gelsin

okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Bilgisayarcı
Atçalı
Kullanici Avatari
Onursal
657
29/01/2008
410
Antalya
Ofis 2003
01/11/2011,15:17
Çözüldü 
open da
cancel = true raporu kapatır.
Ayrıca isloaded fonksiyonu ile kontrol etmeniz daha kolay olacaktır. Nerdeyse standart bir fonksiyondur.
Bana işe yarayan bir müdür göster,sana dünyayı yerinden oynatayım.
                                                                                        Descartes


Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Worde Aktarımda Ön İzmele Ve Wordü Otomatik Kaydetme derzulya 6 160 25/05/2017, 14:42 ozanakkaya
Çözüldü Otomatik Sms Gönderme kyskys_2017 2 80 24/05/2017, 15:55 kyskys_2017
  Silinen Otomatik Sayının Yerini Doldurma serkandiker 7 210 02/05/2017, 10:42 serkandiker
  Raporu formun üzerinde kalıcı tutma pelitt 6 178 28/04/2017, 20:09 atoz112
  Raporu Pdf Olarak Kayıt etmek m_demir 10 575 21/04/2017, 23:46 atoz112


Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
DMCA.com Protection Status