Skip to main content

AccessTr.neT


Tabloya Yeni Alan Ekleme

Tabloya Yeni Alan Ekleme

#19
tabloyu oluşturdum şu an diğer kodlarla ilgileniyorum
Cevapla
#20
ekle butonunun kodu
burda dikkat edilmesi gereken 2 nokta var
1 - Turu açılır kutusu tür tablosundaki ilk 3 sütunu mutlaka almalı (OtoId,TurId ve TurAd) ilk 2 sütun gizlenebilir
hatta tablodan son 2 sütunu silebilirsiniz, son 2 sütun (SQLTerim ve DAOTerim) farklı yöntemler için gerekli olabilir diye eklemiştim
mesela SQLTerim kısmında kullanılan terimler "alter tablo" gibi sorgu ile alan ekleme komutlarında kullanıldığı için eklendi
2 - TblAlanTur tablosundaki kaydın verisini değiştirirken dikkatli olmalısınız
3. sütunda yer alan otomatik sayı verisi ile Hyperlink verisi değişirse
'hy otomatik sayı ve köprü için ek özellik_______________________________________
If Me.Turu.Column(2) = "Otomatik Sayı" Then fld.Attributes = 16 'dbAutoIncrField
If Me.Turu.Column(2) = "Hyperlink" Then fld.Attributes = 32768 'dbHyperlinkField
'________________________________________________________________________________
yukardaki kodlarda yer alan "Otomatik Sayı" ve  "Hyperlink" de aynı şekilde değişmeli
strTable = Me.tabloo
If Len(strTable & "") < 1 Then Exit Sub

Dim db As DAO.Database
Dim table1 As DAO.TableDef
Dim fld As DAO.Field
Dim tdf As DAO.TableDef


nFieldType = Me.Turu
' Create the new Table Def object
Set table1 = New DAO.TableDef

' Name the Table
table1.Name = strTable

' Create the new Field
Set fld = New DAO.Field
fld.Name = Me.Adi
fld.Type = Me.Turu.Column(1) 'DataTypeEnum.dbText
If Len(Me.Boyutu & "") > 0 Then fld.Size = Me.Boyutu
'hy otomatik sayı ve köprü için ek özellik_______________________________________
If Me.Turu.Column(2) = "Otomatik Sayı" Then fld.Attributes = 16 'dbAutoIncrField
If Me.Turu.Column(2) = "Hyperlink" Then fld.Attributes = 32768 'dbHyperlinkField
'________________________________________________________________________________
'hy yabancı/bağlı tablo kontrolü____________________________
    stPath = CurrentDb.TableDefs(strTable).Connect
If Len(stPath & "") > 0 Then
    TabloAdresi = Right(stPath, Len(stPath) - (InStr(1, stPath, "DATABASE=") + 8))
    Set db = OpenDatabase(TabloAdresi) 'CurrentDb
Else
    Set db = CurrentDb
End If
'____________________________________________________________
db.TableDefs(strTable).Fields.Append fld
son not emin değilim ama galiba 2 tane otomatik sayı alanı desteklenmiyor o nedenle aynı tabloya 2. defa otomatik alan eklemeye kalkarsanız sorun çıkabilir
iyi çalışmalar
.rar Yerel_Bagli_Tablo_Alan_Ekle_hy5.rar (Dosya Boyutu: 22,15 KB | İndirme Sayısı: 4)
Cevapla
#21
son gönderdiğiniz belgede aşağıdaki hatayı veriyor

(30/10/2020, 15:40)ates2014 yazdı: son gönderdiğiniz belgede aşağıdaki hatayı veriyor
[img][Resim: do.php?img=10560][/img]
Son Düzenleme: 30/10/2020, 15:42, Düzenleyen: ates2014.
Cevapla
#22
formdaki alan türü açılır kutusu değerini bu tablodan aldığı için tablo kullanımda oluyor
yani siz açık olan bir tabloya aalan eklemeye çalışıyorsunuz
kullanımda olan tabloların yapısını değiştiremezsiniz
mesela form açıkken yerel tabloların 2sini de tasarım modunda açmaya çalışın
açılır kutunun kaynağı olan tablo açılmazken diğeri açılr büyük bir ihtimalle
Cevapla
#23
Çok özür dilerim berduş hocam,
yerel tabloya kayıt yapmaya çalışmışım.
Yerel tabloların açılır kutuda görünmemmesi olayını yapabilirmiyiz?
Cevapla
#24
tabloo açılır kutusunun satır kaynağını açıp oradan düzenleyebilirsiniz
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task