AccessTr.neT

Tam Versiyon: Tabloda Alan Adı Değişikliği .. .
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Merhaba,
Ekli dosyada Tablo2' de alan adları (Şehirler) ,
Tablo1' de ise ürünlerin bu alan adlarına göre ürünlerin fiyatları mevcut.

Tablo2' de bir alan adını (şehir) değiştirdiğim zaman, Tablo1' de bu alan adının da otomatik değişmesi nasıl sağlanabilir? Tablo1' de sadece başlıklar değişecek, veriler aynen kalacak

Örn: Form2' de TRZ yerine TRBZ yazıldığında; nasıl tablo2' de veri güncelleniyorsa ; Tablo1' de de alan adını güncellensin.

teşekkürler, iyi haftalar dilerim.
Kod:
DoCmd.Close acTable, CurrentDb().TableDefs(TabloAdınız).Name, acSaveYes ' Tabloyu kaydedip kapatır açık veya kaydedilmemişse alan adlarını değiştiremezsiniz.

    CurrentDb().TableDefs(Tabloadınız).Fields(Alanadınız).Name = "yenialanadınız" 'Yeni alan adınızı atar

    DoCmd.OpenTable CurrentDb().TableDefs(Tabloadınız).Name değişiklikleri görebilmek için tablonuzu yeniden açar
kodunu deneyin.
sadece form üzerinden yapılacak değişiklikler yansıtılabilir ama tablo1 açıksa yada başka bir form tarafından kullanılıyorsa işlem gerçekleşmez
Private Sub Form_BeforeUpdate(Cancel As Integer)
xEski = Me.Sehir.OldValue

Set db = CurrentDb
db.TableDefs("Tablo1").Fields(xEski).Name = Me.Sehir
db.Close

End Sub
bazı şeyler çok uğraşmaya gelmez, tabloların yapısını yada adını mümkün olduğunca değiştirmemek gerek
mesela çalışmanızda biri doğrudan tablo2'yi açarak alanı değiştirirse sorun çıkar
neden alan adlarını başka bir tablodaki veriye göre değiştiriyorsunuz ki?
burada amacınız ne?
(17/07/2023, 13:58)berduş yazdı: [ -> ]sadece form üzerinden yapılacak değişiklikler yansıtılabilir ama tablo1 açıksa yada başka bir form tarafından kullanılıyorsa işlem gerçekleşmez
Private Sub Form_BeforeUpdate(Cancel As Integer)
xEski = Me.Sehir.OldValue

Set db = CurrentDb
db.TableDefs("Tablo1").Fields(xEski).Name = Me.Sehir
db.Close

End Sub
bazı şeyler çok uğraşmaya gelmez, tabloların yapısını yada adını mümkün olduğunca değiştirmemek gerek
mesela çalışmanızda biri doğrudan tablo2'yi açarak alanı değiştirirse sorun çıkar
neden alan adlarını başka bir tablodaki veriye göre değiştiriyorsunuz ki?
burada amacınız ne?
Hocam teşekkürler,
bende sizin gibi düşünüyorum ama;

Bu çalışmayı isteyen arkadaş bu şekilde istemekte...
[quote="truhi" pid='190473' dateline='1689600099']
[quote="berduş" pid='190469' dateline='1689591532']
sadece form üzerinden yapılacak değişiklikler yansıtılabilir ama tablo1 açıksa yada başka bir form tarafından kullanılıyorsa işlem gerçekleşmez
Private Sub Form_BeforeUpdate(Cancel As Integer)
xEski = Me.Sehir.OldValue

Set db = CurrentDb
db.TableDefs("Tablo1").Fields(xEski).Name = Me.Sehir
db.Close

End Sub
bazı şeyler çok uğraşmaya gelmez, tabloların yapısını yada adını mümkün olduğunca değiştirmemek gerek
mesela çalışmanızda biri doğrudan tablo2'yi açarak alanı değiştirirse sorun çıkar
neden alan adlarını başka bir tablodaki veriye göre değiştiriyorsunuz ki?
burada amacınız ne?


Hocam merhaba,
aynı şekilde Alan eklemeyi nasıl yapabiliriz?

teşekkürler, iyi çalışmalar.
alan türü ne olacak?
alan adını nerden alacak?
Not: Lütfen açılan her konunun tek soru için olduğunu unutmayalım.
yeni soru için yeni konu açmaya özen gösterelim yoksa ipin ucu kaçıyor)
aşağıdaki kod para birimi alanı ekler
Dim strDdl As String
strDdl = "ALTER TABLE Tablo1 ADD Column alanAdi currency NULL;"
CurrentProject.Connection.Execute strDdl
Sayfalar: 1 2