Raporda Kolon Gizleme Veya Sorgudan Excel' E Aktarırken Boş Kolonları Aktarmasın

1 2
14/03/2024, 11:26

balmy

Merhaba,
Ekte gönderdiğim örnek dosyada da görüleceği üzere sorgu kaynaklı raporda boş olan kolonların gözükmemesini ve sağdaki kolanların sola kaymasını istiyorum .Ozanakkaya hocanın bir örneği var ama (https://accesstr.net/konu-raporda-kolon-...ight=rapor) bir türlü uyarlayamadım.
Kolon gizleme işlemi , Atr ve Tedarikçi Beyan Tarihi isimli kolonlar arasında kalan kolonlarda olmalı gizlenen kolunun sağındaki kolon sola kaymalı ve Rapor2 deki hali almalı

Rapor nesnesinde olsun diye yazdım ama , sorgu veya formda da olabilir. Şayet mümkün değilse sorgudan Excel' e veri aktarırken olabilir mi. Görüş ve yardımlarınız için şimdiden teşekkürler.
16/03/2024, 23:21

Karslı Samih

Fikri olan yok galiba...
18/03/2024, 01:34

atoykan

Raporunuzun Load olayına örneğin
Private Sub Report_Load()
If IsNull(Atr) Or Atr = "" Then
Atr.Visible = False
Atr_Etiket.Visible = False
Atr_Tarihi_Etiket.Left = Atr.Left
Atr_Tarihi_Etiket.Width = Atr_Etiket.Width + Atr_Tarihi_Etiket.Width
Atr_Tarihi.Left = Atr.Left
Atr_Tarihi.Width = Atr.Width + Atr_Tarihi.Width
End If
End Sub
şeklinde bir kod eklediğinizde Atr alanı değeri boş ise alan ve etiketini gizler, yanındaki Atr Tarihi alanını ve etiketini .Left özelliği ile Atr sol gridine taşır, .Witdh özelliği ile Atr alanı kadar daha genişletilir.
Benzer kodu boş denetimi yapmak istediğiniz alanlara senaryonuza göre uyarlayabilirsiniz.
21/03/2024, 15:36

balmy

Merhaba,
Yazdığınız kodu asıl senaryoda atr alanı için denedim gayet güzel çalışıyor. Çok teşekkür ederim. Ancak aynı kodu uyarlamam gereken 24 alan var. Uyarlamayı tamamladıktan sonra sonucu yazarım. Selam ve saygılar.
21/03/2024, 20:45

atoykan

rica ederim, iyi çalışmalar.
21/03/2024, 23:54

balmy

Sn. atoykan tekrar merhaba
Yazdığınız kod için çalışıyor diye yazdım ama Atr alanına veri yokken de gizliyor veri olduğunda da. Oysa veri varken gizlememeli. Başka bir ifade ile Atr alanında veri yokken False veri varken True olmalı.
Aşağıdaki gibi denedim ama olmadı maalesef

If IsNull(Me.Atr) Then
Me.Atr.Visible = False
Else
Me.Atr.Visible = True
End If
1 2