Merhaba,
ekte ekran görüntülerini sunmuş olduğum
tabloya bağlı olan Form' da satır başlıkları(Alan Adları) tabloya göre değişmiyor.
Tabloda alan adı değiştiği zaman form da da değişsin istiyorum.
teşekkürler,
iyi Çalışmalar.
önceki konunuzda da belirtmiştim alan adlarının tablodaki veriye bağlanması doğru değil, bu sistemi değiştirmeniz gerek!!!
eğer alan adı her zaman aynı sırada form_load/open olayına eklenecek bir kod ile ilgili nesne ilgili alana bağlanabilir ama: şu an kullandığınız bu yapı bütün tablo, sorgu ve formlarda sorun çıkarır.
ilişkili veri tabanları dikey yapılıdır ve tablo/alan adları sabit olmalıdır;
alanlar fiyat1, fiyat2,..... yada boya1,boya2 gibi gitmez,
bir ürün tablosu olur, bir fiyat tablosu olur, bir boya tablosu olur gerekiyorsa bu 3 tabloyu ilişkilendiren ve farklı alanların oldugu bir tablo daha olur yada olmaz, gerekli veriler sorgu ile birleştirilir. bence öncelikli olarak veri tabanı mantığını ve sorguları anlatan kaynaklara yönelmeniz ilerde çıkabilecek sorunların önüne geçecektir.
(21/07/2023, 20:53)berduş yazdı: önceki konunuzda da belirtmiştim alan adlarının tablodaki veriye bağlanması doğru değil, bu sistemi değiştirmeniz gerek!!!
eğer alan adı her zaman aynı sırada form_load/open olayına eklenecek bir kod ile ilgili nesne ilgili alana bağlanabilir ama: şu an kullandığınız bu yapı bütün tablo, sorgu ve formlarda sorun çıkarır.
ilişkili veri tabanları dikey yapılıdır ve tablo/alan adları sabit olmalıdır;
alanlar fiyat1, fiyat2,..... yada boya1,boya2 gibi gitmez,
bir ürün tablosu olur, bir fiyat tablosu olur, bir boya tablosu olur gerekiyorsa bu 3 tabloyu ilişkilendiren ve farklı alanların oldugu bir tablo daha olur yada olmaz, gerekli veriler sorgu ile birleştirilir. bence öncelikli olarak veri tabanı mantığını ve sorguları anlatan kaynaklara yönelmeniz ilerde çıkabilecek sorunların önüne geçecektir.
Hocam teşekkürler,
"eğer alan adı her zaman aynı sırada form_load/open olayına eklenecek bir kod ile ilgili nesne ilgili alana bağlanabilir "
Bu kod nasıl bir kod olabilir, bu arada proje içinde herhangi bir ilişki bulunmuyor.
iyi akşamlar.
(21/07/2023, 22:31)truhi yazdı: (21/07/2023, 20:53)berduş yazdı: önceki konunuzda da belirtmiştim alan adlarının tablodaki veriye bağlanması doğru değil, bu sistemi değiştirmeniz gerek!!!
eğer alan adı her zaman aynı sırada form_load/open olayına eklenecek bir kod ile ilgili nesne ilgili alana bağlanabilir ama: şu an kullandığınız bu yapı bütün tablo, sorgu ve formlarda sorun çıkarır.
ilişkili veri tabanları dikey yapılıdır ve tablo/alan adları sabit olmalıdır;
alanlar fiyat1, fiyat2,..... yada boya1,boya2 gibi gitmez,
bir ürün tablosu olur, bir fiyat tablosu olur, bir boya tablosu olur gerekiyorsa bu 3 tabloyu ilişkilendiren ve farklı alanların oldugu bir tablo daha olur yada olmaz, gerekli veriler sorgu ile birleştirilir. bence öncelikli olarak veri tabanı mantığını ve sorguları anlatan kaynaklara yönelmeniz ilerde çıkabilecek sorunların önüne geçecektir.
Hocam teşekkürler,
"eğer alan adı her zaman aynı sırada form_load/open olayına eklenecek bir kod ile ilgili nesne ilgili alana bağlanabilir "
Bu kod nasıl bir kod olabilir, bu arada proje içinde herhangi bir ilişki bulunmuyor.
iyi akşamlar.
Hocam proje içinde herhangi bir ilişki bulunmuyor.
sadece başlıklar tablo ile aynı olacak
form_load/open olayına nasıl bir kod yazılabilir?
teşekkürler,
basit bir örnek eklerseniz onun üzerinde gösterebilirim ama temel mantığını söyleyeyim
veri gelecek tüm metin/açılır kutuların adını sorgu/tablodaki alan sırasına göre isimlendirin
mesele tablo yada sorgudaki ilk alanın geleceği metin kutusunun adı txt0, 2. alanın geleceği kutunun adı txt1 gibi olur
tabi ki alan sayısının değişmediği varsayılmıştır
eğer alan sayısı metin kutusu sayısından fazla ise hata verir engellemek için
On Error Resume Next kodu aktifleştirilmelidir
form yükleme olayına da aşağıdaki kod yazılabilir ama şiddetle bu yapıyı değiştirmeniz öneririm
For x = 0 To Me.Recordset.Fields.Count - 1
'On Error Resume Next
Me.Controls("txt" & CStr(x)).ControlSource = Me.Recordset(x).Name
Next x
(22/07/2023, 01:05)berduş yazdı: basit bir örnek eklerseniz onun üzerinde gösterebilirim ama temel mantığını söyleyeyim
veri gelecek tüm metin/açılır kutuların adını sorgu/tablodaki alan sırasına göre isimlendirin
mesele tablo yada sorgudaki ilk alanın geleceği metin kutusunun adı txt0, 2. alanın geleceği kutunun adı txt1 gibi olur
tabi ki alan sayısının değişmediği varsayılmıştır
eğer alan sayısı metin kutusu sayısından fazla ise hata verir engellemek için On Error Resume Next kodu aktifleştirilmelidir
form yükleme olayına da aşağıdaki kod yazılabilir ama şiddetle bu yapıyı değiştirmeniz öneririm
For x = 0 To Me.Recordset.Fields.Count - 1
'On Error Resume Next
Me.Controls("txt" & CStr(x)).ControlSource = Me.Recordset(x).Name
Next x
Hocam teşekkürler,
burada yanlış bir anlaşılma var sanırım, denetim kaynağını değiştirmek istemiyorum, bu zaten doğru,
başlıklar değişsin istiyorum, yani sadece etiket adı
projeyi size özel mesajdan paylaştım.
burada başlıklar neden tablo ile aynı değil, onu öğrenmeye çalışıyorum.
iyi hafta sonları...
temel mantık yine aynı aslında
form yükleme/ Form_Load olayına da aşağıdaki kod yazılabilir
Private Sub Form_Load()
On Error Resume Next
Dim ctl As Object
For Each ctl In Me.Controls
if len( ctl.ControlSource & "")>0 then ctl.Controls.Item(0).Caption = ctl.ControlSource
Next ctl
End Sub
işlemin tüm nesneler üzerinde çalışacağını unutmayın