Buton İle Şablondan Yeni Form Oluşturup Tabloya Bağlama?

1 2
07/08/2020, 16:26

derzulya

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.
07/08/2020, 17:27

berduş

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
07/08/2020, 17:35

derzulya

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.
07/08/2020, 18:06

berduş

    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ı
07/08/2020, 18:14

berduş

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
08/08/2020, 08:05

derzulya

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?
1 2