tablo adlarını alma
SELECT MSysObjects.Name FROM MSysObjects WHERE (((Left([Name],1))<>"~") AND ((Left([Name],4))<>"MSys") AND ((MSysObjects.Type) In (1,4,6)) AND ((Left([Name],2))<>"f_")) ORDER BY MSysObjects.Name;
Not: burada alında olmayan f_ dosyaları da olduğundan devre dışı bırakmak için f_ ile başlayan dosyalar da elenmiştir o nedenle tablolarınıza f_ ile başlayan isimler vermeyin
yeni alan ekleme kodu
Dim fld As DAO.Field
Dim tdf As DAO.TableDef
TabloAdi = Me.tabloo
'Yeni Alan oluşturma
Set fld = New DAO.Field
fld.Name = Me.Adi
fld.Type = Me.Turu
If Len(Me.Boyutu & "") > 0 Then fld.Size = Me.Boyutu 'boyuta değer girilmemişse o özelliğe dokunmaz
CurrentDb.TableDefs(TabloAdi).Fields.Append fld
Set tdf = Nothing
Set fld = Nothing
bulabildiğim alan türlerini ekledim ama aynı türden olan alanlar arsındaki farkı tam olarak bilmiyorum
mesela text özelliki bir kaç alan var ama birinin diğerinden farkı nedir bilmiyorum
ayrıca bazı veri türleri accessin tüm sürümlerinde kullanılamıyor bunu da göz önünde bulundurmalısınız
dilerim işinize yarar iyi çalışmalar
Not: sadece formu kopyalamanız yeter formadaki cbAlan açılır kutusunu deneme amaçlı olarak alanın eklenip eklenmediğini kontrol etmek için eklemiştim silebilirsiniz ayrıca tabloo_Exit fonksiyonu ve eklediğim diğer tablolara da ihtiyacınız yok silinebilir
Not:Turu açılır kutusundaki 2. sütun verilerin dbText, dbMemo... yerine türkçe isimler verebilirsiniz kısa metin, uzun metin... gibi
verileri aldığım bağlantı aşağıda yeralmaktadır, incelemeniz yerinde olur
http://www.allenbrowne.com/ser-49.html#_ftn6
TabloAdiAlanAdiTuru_hy.rar
(Dosya Boyutu: 28,31 KB | İndirme Sayısı: 2)