Merhaba arkadaşlar.
Ekteki uygulamada yeni ay ekle dediğimizde yeni bir şablona uygun yeni tablo oluşturuyor. Aynı zamanda şablon form baz alarak yeni formda oluşturabilir miyiz? Tabii oluşan form ve oluşan tabloya bağlı olacak şekilde.
Teşekkürler.
her tablo için neden yeni form oluşturmak istiyorsunuz?
zaten formların kaynağını değiştirerek de kullanabilirsiniz aslında her ay için farklı bir tabloya da gerek var mı onu da merak ediyorum
ama aşağıdaki kodların işinize yarayacağını düşünüyorum
önce yeni bir alt yordam oluşturup ekliyoruz
Sub YeniForm(FormTabloAdi As String)
Dim frm As Form
DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentDb().Name, acTable, "tablo_sablon", FormTabloAdi, True
DoCmd.CopyObject CurrentDb().Name, FormTabloAdi, acForm, "mutabakat_formu_sablon" 'şablon formu kopyala
DoCmd.OpenForm FormTabloAdi, acDesign, , , , acHidden
Set frm = Forms(FormTabloAdi)
frm.RecordSource = FormTabloAdi
DoCmd.Close acForm, frm.Name, acSaveYes
End Sub
sonra da buton7nin tıklanma olayını aşağıdaki kodla değiştiriyoruz
Dim AyAdi As String
AyAdi = InputBox("Ay Yaz")
AyAdi = "Ayl_" & AyAdi
YeniForm AyAdi
Me.Acilan_Kutu5.Requery
dosya 5. mesajdadır
Teşekkürler.. tek ben kullanmayacağım için diğer arkadaşlara kolaylık olması bakımından böylesi geldi aklıma. daha pratik bi yol bulamadım malesef
her ay için farklı olması olayıda yedek gibi istediğimizde o aya gidip duruma bakmak içindi. dediğim gibi daha pratik bi yol yada uygulama bulamadım.
DoCmd.OpenForm FormTabloAdi, acDesign
bu kod yerine aşağıdaki kodu dener misiniz? achidden ile daha hızlı
DoCmd.OpenForm FormTabloAdi, acDesign, , , , acHidden
15 lik döngü kurduğumda daha hızlı çıktı
YeniForm altyordamının kodu (daha hızlı)
Sub YeniForm(FormTabloAdi As String)
DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentDb().Name, acTable, "tablo_sablon", FormTabloAdi, True
DoCmd.CopyObject CurrentDb().Name, FormTabloAdi, acForm, "mutabakat_formu_sablon" 'şablon formu kopyala
DoCmd.OpenForm FormTabloAdi, acDesign, , , , acHidden
Forms(FormTabloAdi).RecordSource = FormTabloAdi
DoCmd.Close acForm, FormTabloAdi, acSaveYes
End Sub
Teşekkür ederim. Ancak yeni oluşturduğumuz tabloya eklediğimiz veriler yeni oluşan formda neden görünmez? Sadece şablona eklenenler mi görünür?