Eski vt.'den yeni vt'ye kayıt ekleme

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
her iki veritabanı; (aynı klasör içerisinde e.mdb (50 bin kayıt) ve y.mdb (30 bin kayıt) )
vatno, adı, soyadı, babaadı, anne adı gb. alanları içermektedir. (toplam 50 alan)

bu veritabanlarının ikisinde de vatno alanları dolu ve benzersiz dir.

1) eski veritabanının tblSAHIS tablosundaki kayıtları yeni veritabanın tblSAHIS tablosundaki alanlara nasıl eklerim?

2) eski veritabanında dolu olupta yeni veritabanında boş olan alanları nasıl eski veritabanındakilerler güncellerim?
Örn: Eski veritabanında 12345 kimlik numaralı kişinin tel1, tel2 vs. gibi alanları dolu ancak yeni veritabanındaki alanları boş.

yardımlarınız için şimdiden teşekkürler. Sn Taruz http://www.excel.web.tr/f57/yeni-veritabnynda-olmayan-alanlary-eski-veritabanyndan-tamamlama-t93344.html konu başlığında yardımcı olmaya çalıştı ancak sorunumu tam olarak anlatamadığım için başarısızlıkla sonuçlandı.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
sn hsayar
2007 deki Tablo1'i 2010 a başkabir isimle alın (örneğin a)
Tasarım şeklinde bir sorgu oluşturun aşağıdaki SQL kodlarını yapıştırun
UPDATE Tablo1 INNER JOIN a ON Tablo1.Kimlik = a.Kimlik SET Tablo1.TEL1 = [a]![TEL1], Tablo1.TEL2 = [a]![TEL2]
WHERE (((Tablo1.TEL1) Is Null) AND ((Tablo1.TEL2) Is Null) AND ((Tablo1.VATNO)=[a]![VATNO]));
sonra sorguyu çalıştırın, a tablosu artık silinebilinir.
Not: Eğer 2010 ile 2007 çakışan kayıt var ve 2010 daki teller boş ise günceliyor.
2010 da çakışan kişiye ait tel alanlarında kayıt varsa güncellemiyor
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sn çeri alakanız için teşekkür ederim
1 nolu sorum için verileri excele çekip tek tablo yaptım (eski veriler) altta kalacak şekilde) ondan sonra excelin (2007+) menü komutu olan yinelennleri kaldır deyip tekrar accesa verdim.

2. nci sorum için sizin yönteminizi daha denemedim çünkü eşitlenecek/tamamlanacak alan sayısı 20 üstünde ve 300 bin kişide 1000 kişi de tamamlama yapılacak.
bu kişlieri tblEKSIKLER adlı tabloda aynı veritabanına aldıktan sonra alan adlarını koda yazmadan for next döngüsü ile tamamlamak mümkün müdür?

tblEKSIKLER alan başlıkları
VATNO MDN_HAL KAN_GRB NFS_MHKY NFS_CSN NFS_ASN NFS_BSN NFC_SRI NFC_SNO NFC_YER NFC_VND NFC_KNO NFC_KTR TEL_EV1 TEL_EV2 TEL_CP1 TEL_IS1 TEL_IS2 TEL_CP2 TEL_BG1 TEL_BG2 ELMEK1 ELMEK2 BAB_TCK ANN_TCK ESI_TCK EGT_DZY EGT_BAD EGT_DRM EGT_OAD EGT_MSL EGT_MZT ASK_DRM ISY_ADI ISY_GRV ASK_TRH ASK_ACK
tblSAHIS alan başlıkları
VATNO SHS_UYR CİNSİYETİ ADI SOYADI İLK SOYADI BABA ADI ANA ADI DOĞUM YERİ DOĞUM TARİHİ NKO_IL NKO_ILCE ADR_IL ADR_ILCE ADR_MUHTAR ADR_CD_SKK ADR_KNO ADR_DNO SCM_SNDNO SCM_SNDKSRNO SCM_SANDIK ALANI SCM TAR S_VGT TAR LST_ADI LST_NUM DIN ADR_BLD ADR_PSK MDN_HAL
KAN_GRB NFS_MHKY NFS_CSN NFS_ASN NFS_BSN NFC_SRI NFC_SNO NFC_YER NFC_VND NFC_KNO NFC_KTR TEL_EV1 TEL_EV2 TEL_CP1 TEL_IS1 TEL_IS2 TEL_CP2 TEL_BG1 TEL_BG2 ELMEK1 ELMEK2 BAB_TCK ANN_TCK ESI_TCK EGT_DZY EGT_BAD EGT_DRM EGT_OAD EGT_MSL EGT_MZT ASK_DRM ISY_ADI ISY_GRV ASK_TRH ASK_ACK ELLGRİAL
yani eksiklerdeki alan başlığı 2 den başlarken
tamamlancaklarda 29 dan başlıyor
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
tamamlanacak alan başlığı sayısı 36 adettir.
tamamlancak kayıt sayısı 1000 adettir.
sabit alan başlığı sayısı 28 adettir.


tblSAHIS aşağıdaki alanlardan oluşmaktadır.
Kod:
[COLOR=DarkGreen]VATNO    [/COLOR]SHS_UYR    CİNSİYETİ    ADI    SOYADI    İLK SOYADI    BABA ADI    ANA ADI    DOĞUM YERİ    DOĞUM TARİHİ    NKO_IL    NKO_ILCE    ADR_IL    ADR_ILCE    ADR_MUHTAR    ADR_CD_SKK    ADR_KNO    ADR_DNO    SCM_SNDNO    SCM_SNDKSRNO    SCM_SANDIK ALANI    SCM TAR    S_VGT TAR    LST_ADI    LST_NUM    DIN    ADR_BLD    ADR_PSK   [COLOR=Red] MDN_HAL    KAN_GRB    NFS_MHKY    NFS_CSN    NFS_ASN    NFS_BSN    NFC_SRI    NFC_SNO    NFC_YER    NFC_VND    NFC_KNO    NFC_KTR    TEL_EV1    TEL_EV2    TEL_CP1    TEL_IS1    TEL_IS2    TEL_CP2    TEL_BG1    TEL_BG2    ELMEK1    ELMEK2    BAB_TCK    ANN_TCK    ESI_TCK    EGT_DZY    EGT_BAD    EGT_DRM    EGT_OAD    EGT_MSL    EGT_MZT    ASK_DRM    ISY_ADI    ISY_GRV    ASK_TRH    ASK_ACK    [/COLOR]

tblEKSIKLER ise aşağıdaki başlıklardan oluşmaktadır.
Kod:
[COLOR=DarkGreen]VATNO   [COLOR=Red] [/COLOR][/COLOR][COLOR=Red]MDN_HAL    KAN_GRB    NFS_MHKY    NFS_CSN    NFS_ASN    NFS_BSN    NFC_SRI    NFC_SNO    NFC_YER    NFC_VND    NFC_KNO    NFC_KTR    TEL_EV1    TEL_EV2    TEL_CP1    TEL_IS1    TEL_IS2    TEL_CP2    TEL_BG1    TEL_BG2    ELMEK1    ELMEK2    BAB_TCK    ANN_TCK    ESI_TCK    EGT_DZY    EGT_BAD    EGT_DRM    EGT_OAD    EGT_MSL    EGT_MZT    ASK_DRM    ISY_ADI    ISY_GRV    ASK_TRH    ASK_ACK[/COLOR]
tbleksikler tablosunun 2. alan başlığından sonuna kadar tblSAHIS tablosunun 29. alan başlığından sonuna kadar AYNI dır. bunu for next döngüsü ile halletmek mümkün müdür?

yani tblSAHIS i alanındaki değer boş ise tblEKSİKLER tablosunun (i-27). alanındaki değer ile doldur gibi.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
BUDA EKSİK İŞLEÇ DİYOR :(

UPDATE 20092010 INNER JOIN tblEKS ON 20092010.VATNO = tblEKS.VATNO SET 20092010.TEL_CP1 = [tblEKS]![TEL_CP1], 20092010.TEL_CP1 = [tblEKS]![TEL_CP2]
WHERE (((20092010.TEL_CP1) Is Null) AND ((20092010.TEL_CP2) Is Null) AND ((20092010.VATNO)=[tblEKS]![VATNO]));
 
Üst