Skip to main content

AccessTr.neT


devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak

devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak

Çözüldü #13
sn ALPEKİ ilgili dosya aşağıdaki linktedir.

https://accesstr.net/attachment.php?aid=11932

orjinal dosyada tablo adını güncellediğim için dediğiniz gibi bir problem oluşmuş.

öncelikle ekli dosyada bulunan tbl2010 adlı tabloya NKO_ILCEKOD adlı bir alan ekleyiniz.
bu tablodaki kayıtlardaki NKO_IL ve NKO_ILCE alanları mutlak doludur. bu veriler ile YRD_tblILCEKOD tablosundaki ILCEADI ve ILADI alanları eşleşiyorsa kaydın tbl2010 .NKOILCEKODU alanına YRD_tblILCEKOD.ILCEKODU alanındaki değer gelsin.

Yani tbl2010 da ilçe adı abana il adı Kastamonu olan kayıtları YRD_tblILCEKOD tablosundan bak ve 1101 değerini tbl2010.ılcekodu alanına yaz.






Cevapla
Çözüldü #14
Şimdi daha net anladım. Üzerinde çalışalım bakalım ne sonuç elde edeceğiz.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #15
1 saat 40 dakikadır yazdığım kod neden çalışmıyor diye kafayı yerken sağolsun Seruz hocam yardım isteğimi geri çevirmedi. Kodda problem yokmuş sizin YRD_tblILCEKOD alanınızdaki ilçe isimlerinden sonra 1 adet boşluk karakteri varmış.

Örnek olarak EDİRNE KEŞAN kaydında KEŞAN'ın sonundaki boşluk karakterini silip test edebilirsiniz. Boş bir form oluşturun ya da bu iş için uygun bir formunuzda 1 adet buton yerleştirin. Butonun tıklanma olayın aşağıdaki kodu yapıştırın:


Dim kaynak_tablo_sql, hedef_tablo_sql, hedef_id, islem_sql As String
Dim sira As Integer
Dim ks As ADODB.Recordset
Set ks = New ADODB.Recordset

DoCmd.SetWarnings False

kaynak_tablo_sql = "SELECT VATNO, NKO_IL, NKO_ILCE FROM tbl2010"
ks.Open kaynak_tablo_sql, CurrentProject.Connection, adOpenStatic, adLockReadOnly

If Not ks.BOF And Not ks.EOF Then

If ks.EOF <> True Then

Do

With ks

ilimiz = .Fields("NKO_IL")
ilcemiz = .Fields("NKO_ILCE")

hedef_id = Nz(DLookup("ILCEKODU", "YRD_tblILCEKOD", "ILADI='" & ilimiz & "' AND ILCEADI='" & ilcemiz & "'"), "-")

islem_sql = "UPDATE tbl2010 SET NKO_ILCEKOD='" & hedef_id & "' WHERE VATNO='" & .Fields("VATNO") & "'"

DoCmd.RunSQL islem_sql

ks.MoveNext

End With

Loop Until ks.EOF

End If

MsgBox "İşlem başarıyla tamamlandı.", vbInformation + vbOKOnly, "AccessTR.Net"

Else

MsgBox "Tabloda kayıt yok"

End If
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #16
sn alpeki uğraşlarınız için teşekkür ederim.
Parametre değerini gir diye bir ekran geliyor, gelmesine gerek yok doğru bir ilçe kodu giriyorum hata veriyor. kodlarda VATMO alşan başlığıda kullanılmış. NKO_* alanlarında sıkıntı yaratmaz ama YY_* alanlarında sıkıntı yaratır. yani bir kişinin tekirdağ şarköy adresi olabileceği gibi, ankara çankaya adreside olabilir.

birazdan ilçe adlarında son boşlukları silinmiş yeni tabloyu ekleyeceğim.

eski tabloyu sildiğimden form hata veriyor, düzeltemedim Img-grin
.rar ILCEKODUNUTAMAMLA.rar (Dosya Boyutu: 84,96 KB | İndirme Sayısı: 7)
Son Düzenleme: 12/01/2011, 10:16, Düzenleyen: HSayar.
Cevapla
Çözüldü #17
Eklediğiniz dosyada tablo göremedim. Yukarıdaki kodlar problemsiz bir şekilde çalışmaktadır test edilmiş hali ile ekledim. ADO için referansı yüklemeyi unutmayınız.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #18
(12/01/2011, 12:10)alpeki99 yazdı: Eklediğiniz dosyada tablo göremedim. Yukarıdaki kodlar problemsiz bir şekilde çalışmaktadır test edilmiş hali ile ekledim. ADO için referansı yüklemeyi unutmayınız.

ADO 2.1 vardı onu referanslardan ekledim.
eklediğim dosyada tblSAHIS (ilçe kodları getirlecek) ve ytbl_MERNISILCEKOD (ilçe kodları alaınacak) tablolar mevcuttur.

Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task