Skip to main content

AccessTr.neT


Değişken Kayıt Sayısı Kadar Sekme Denetimi (tab Control) Sayfası Açma

Değişken Kayıt Sayısı Kadar Sekme Denetimi (tab Control) Sayfası Açma

#7
(10/06/2023, 13:45)berduş yazdı: eğer mutipage eklerseniz aşağıdaki kod işinize yarayabilir
not unutmayın! multipage ile sekme tam olarak aynı şey değiller
eğer multipage adı xMultiPage ise
Me.xMultiPage.Pages.Add

(10/06/2023, 13:24)vetaltan yazdı: ir tablodan sekme sayısını alarak o sayıda sayfa oluşturmak
dosyanızı ekleyip gerekli açıklamayı yaparsanız ona göre çözüm önerebiliriz

Merhaba sayın Berduş,
Geçen hafta şehir dışında olduğum için gecikmeli cevap veriyorum,özür dilerim.
Örnek bir vt yarattım (sekme denetimi) ,Form1 ile açıp ,kaçtane metin kutusuna girdiğimiz sayı kadar, sekme denetimi olan form açmak istiyorum.
.rar sekmedenetimi.rar (Dosya Boyutu: 13,95 KB | İndirme Sayısı: 3)
vetaltan 16-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#8
komut 1  olayının kodunu aşağıdaki gbi düzenleyebilirsiniz?
temel mantık
  • sekme eklenecek form tasarım modunda açılıyor
  • sekme nesnesinin içinde kaç sayfa olduğuna bakılıyor
  • döngü ile sayfa ekleniyor
Private Sub Komut1_Click()
Dim a
a = Val(Me.kactane & "")

frmName = "sekmedenetimi"

DoCmd.OpenForm FormName:=frmName, View:=acDesign
Set frm = Forms(frmName)
Set tbc = frm.Controls("TabCtl0")

bas = tbc.Pages.Count + 1  'sekme nesnesindeki sayfa sayısını bulup 1 ekliyor
    For x = bas To a
      tbc.Pages.Add
    Next
AddPage = True
DoCmd.OpenForm FormName:=frm.Name
DoCmd.Close acForm, Me.Name, acSaveNo ' bu kod bu formu kendi kendini kaydetmeden kapatır
End Sub
Cevapla
#9
(13/06/2023, 17:07)berduş yazdı: komut 1  olayının kodunu aşağıdaki gbi düzenleyebilirsiniz?
temel mantık
  • sekme eklenecek form tasarım modunda açılıyor
  • sekme nesnesinin içinde kaç sayfa olduğuna bakılıyor
  • döngü ile sayfa ekleniyor
Private Sub Komut1_Click()
Dim a
a = Val(Me.kactane & "")

frmName = "sekmedenetimi"

DoCmd.OpenForm FormName:=frmName, View:=acDesign
Set frm = Forms(frmName)
Set tbc = frm.Controls("TabCtl0")

bas = tbc.Pages.Count + 1  'sekme nesnesindeki sayfa sayısını bulup 1 ekliyor
    For x = bas To a
      tbc.Pages.Add
    Next
AddPage = True
DoCmd.OpenForm FormName:=frm.Name
DoCmd.Close acForm, Me.Name, acSaveNo ' bu kod bu formu kendi kendini kaydetmeden kapatır
End Sub



Sayın Berduş,
Tam istediğim gibi, ellerinize sağlık, çok teşekkür ederim.
vetaltan 16-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#10
rica ederim
iyi çalışmalar)
ufak bir hatırlatma: tasarım modunda değişiklik yapıldığında formu kapatmadan önce "değişiklikler kaydedilsin mi?" benzeri bir uyarı mesajı çıkar
yanlışlıkla evet derseniz form gelecek sefer o sayıda sekme ile açılır yani eğer açılması gerekenden fazla sayfa varsa bu durumda silme işlemi de yapılabilmeli
Cevapla
#11
(13/06/2023, 17:27)berduş yazdı: rica ederim
iyi çalışmalar)
ufak bir hatırlatma: tasarım modunda değişiklik yapıldığında formu kapatmadan önce "değişiklikler kaydedilsin mi?" benzeri bir uyarı mesajı çıkar
yanlışlıkla evet derseniz form gelecek sefer o sayıda sekme ile açılır yani eğer açılması gerekenden fazla sayfa varsa bu durumda silme işlemi de yapılabilmeli

Sayın Berduş,

Uyarınız için teşekkürler.
Yanlışlıkla kaydetme problemine karşı aşağıdaki kodu uyguladım, gayet güzel çalışıyor.

Kod:
Private Sub Komut1_Click()
Dim a
a = Val(Me.kactane & "")

frmName = "sekmedenetimi"

DoCmd.OpenForm FormName:=frmName, View:=acDesign
Set frm = Forms(frmName)
Set tbc = frm.Controls("TabCtl0")
bas = tbc.Pages.Count + 1 'sekme nesnesindeki sayfa sayısını bulup 1 ekliyor
az = tbc.Pages.Count - 1

If bas <= a Then

For x = bas To a
tbc.Pages.Add


Next
AddPage = True
DoCmd.OpenForm FormName:=frm.Name
DoCmd.Close acForm, Me.Name, acSaveNo ' bu kod bu formu form1'i kapatır


ElseIf bas > a Then

For x = a To az

tbc.Pages.Remove



Next
AddPage = True
DoCmd.OpenForm FormName:=frm.Name
DoCmd.Close acForm, Me.Name, acSaveNo ' bu kod bu formu form1'i kapatır
End If

End Sub

vetaltan 16-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#12
Çözümü paylaştığınız için teşekkürler)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task