Skip to main content

AccessTr.neT


Tabloda Alan Adı Değişikliği .. .

Tabloda Alan Adı Değişikliği .. .

Çözüldü #1
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.
.rar Db3.rar (Dosya Boyutu: 25,34 KB | İndirme Sayısı: 4)
truhi, 29-09-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 16/07/2023, 23:34, Düzenleyen: truhi.
Cevapla
#2
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.
Cevapla
#3
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?
Cevapla
#4
(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...
truhi, 29-09-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#5
[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.
truhi, 29-09-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#6
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
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da