AccessTr.neT
devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak (/konu-devamli-tekrarlanan-iki-alan-yerine-kod-alani-ekleyip-yazmak.html)

Sayfalar: 1 2 3 4 5 6 7


Cvp: devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak - HSayar - 13/01/2011

(13/01/2011, 01:43)sledgeab yazdı: Ekteki örneği deneyiniz.

(tbl_sahis isimli tablodan veri silmiş olabilirim !!)

hocam silmiş olmanız önemli değil. Img-grin
Kodu ilk çalıştırıdığımda gözüme çarpan
boş Edirne boş dizili satırda ilçe kodunu 3399 getirmesi
boş boş ipsala dizili satırda ilçe kodunu 1412 getirmesi oldu. Burada kod doğru ama il adı yazıı değil nasıl oluyor? çan yazılı satırda karışmalara neden olur (çanakkale/van)

Örnek üzerinde tekrar denedim problem göremedim. Problemi evde asıl dosya üzerinde uyguladığımda farketmiştim. kafam karıştı doğrusu... şimdilik dağınık kalsın.
Evdeki kodların olduğu eki flasha almıştım, iki kod farklı imiş.

ŞU anda tek merak ettiğim kodlarda adı geçen ancak olmayabileceğini düşündüğümüz bir alan adı olsun. Örneğimizde (Alan1) kodların başında denetimini yapmak mümkün mü?
tblSAHIS tablosunda Alan1 isimli, alan var mı? if ( ) Then
var ozaman sorun yok Else
yok ozaman oluştur. ve adını alan1 ver. (xxxxxxxxxxxxxxxxxx) : End if


Emekleriniz için teşekkür ederim. Allah cümlenizden razı olsun.


Cvp: devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak - HSayar - 13/01/2011

(13/01/2011, 01:43)sledgeab yazdı: Ekteki örneği deneyiniz.

(tbl_sahis isimli tablodan veri silmiş olabilirim !!)

HOCAM çok oluyorum farkındayım ama tblSAHIS tablosunda nko_ılcekodu değeri boş ise diğer kontrolleri yapsın ve ilçe kodunu yardımcı tablodan yazsın

neden gerek duyuldu tblSAHIS tablsounu excelden yeniden import yapmak zorunda kaldım ve bu arada EDİRNE il ve ilçelerinin kodlarını elle kopyalayarak girdim. dolayısı ile 150-200 bişn kayıtta ilçe kodu mevcut. kalanını o bulsun.


Cvp: devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak - HSayar - 14/01/2011

(13/01/2011, 20:26)Hüseyin Sayaroyunbiri yazdı:
(13/01/2011, 01:43)sledgeab yazdı: Ekteki örneği deneyiniz.

(tbl_sahis isimli tablodan veri silmiş olabilirim !!)

HOCAM çok oluyorum farkındayım ama tblSAHIS tablosunda nko_ılcekodu değeri boş ise diğer kontrolleri yapsın ve ilçe kodunu yardımcı tablodan yazsın

neden gerek duyuldu tblSAHIS tablsounu excelden yeniden import yapmak zorunda kaldım ve bu arada EDİRNE il ve ilçelerinin kodlarını elle kopyalayarak girdim. dolayısı ile 150-200 bişn kayıtta ilçe kodu mevcut. kalanını o bulsun.

Günceldir.




Cvp: devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak - HSayar - 14/01/2011

son hali
Private Sub Komut21_Click()
'sleadgeab / accestr
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, SHS_NKOIL, SHS_NKOILCE, SHS_NKOILCEKODU FROM tblSAHIS"
ks.Open kaynak_tablo_sql, CurrentProject.Connection, adOpenStatic, adLockReadOnly

Say = 0
If Not ks.BOF And Not ks.EOF Then
If ks.EOF <> True Then
Do
With ks

If IsNull(.Fields("SHS_NKOILCEKODU")) Then
Say = Say + 1
If IsNull(.Fields("SHS_NKOIL")) Then
islem_sql = "UPDATE tblSAHIS SET tblSAHIS.SHS_NKOILCEKODU = '9999' WHERE (((tblSAHIS.[VATNO])='" & .Fields("VATNO") & "'));"
DoCmd.RunSQL islem_sql
GoTo ATLA
End If

If .Fields("SHS_NKOIL") <> "0" And .Fields("SHS_NKOILCE") <> "0" Then
ilimiz = .Fields("SHS_NKOIL")
ilcemiz = .Fields("SHS_NKOILCE")
hedef_id = Nz(DLookup("MRNS_ILCEKODU", "ytbl_MERNISILCEKOD", "MRNS_ILCEADI='" & ilcemiz & "'"), "9999")

If hedef_id = "9999" Then
hedef_id = Nz(DLookup("MRNS_ILCEKODU", "ytbl_MERNISILCEKOD", "MRNS_ILADI='" & ilimiz & "' AND MRNS_DIGERILCEADI='" & ilcemiz & "'"), "9999")
End If

If hedef_id = "9999" Then
hedef_id = Nz(DLookup("MRNS_ILCEKODU", "ytbl_MERNISILCEKOD", "MRNS_ILADI='" & ilimiz & "' AND MRNS_DIGERILCEADI2='" & ilcemiz & "'"), "9999")
End If

islem_sql = "UPDATE tblSAHIS SET SHS_NKOILCEKODU ='" & hedef_id & "' WHERE VATNO='" & .Fields("VATNO") & "'"
DoCmd.RunSQL islem_sql
Else
hedef_id = Dlookup ("TRF_PLKKODU", "ytbl_MERNISILCEKOD", "MRNS_ILADI='" & ilimiz & "'")
islem_sql = "UPDATE tblSAHIS SET SHS_NKOILCEKODU = 99 & '" & hedef_id & "' WHERE VATNO='" & .Fields("VATNO") & "'"
DoCmd.RunSQL islem_sql
End If

ATLA:
End If
ks.MoveNext
End With
Loop Until ks.EOF
End If
MsgBox "İşlem başarıyla tamamlandı. - DegKaySay: " & Say, vbInformation + vbOKOnly, "AccessTR.Net"
Else
MsgBox "Tabloda kayıt yok"
End If
End Sub



Cvp: devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak - Hayri16 - 14/01/2011

Hüseyin Bey;
Sledgeab'ın verdiği sizin de yukarıya aktardığınız kodları denediniz mi? Ben şahsen ne demek istediğinizi tam anlamadım.


Cvp: devamlı tekrarlanan iki alan yerine kod alanı ekleyip yazmak - HSayar - 14/01/2011

denedim ve istediğime uyarladım sonuç için yazdım. benim için tablolar aynı veritabanı dosyasında olduğu zaman sorun yok.
Şu anda tek merak etttiğim ytbl_MERNISILCEKOD tablosu vtMERNISKOD.mdb içerisinde olursa nasıl çözüm olacağı. ÇÜnkü bu tablo hem vtSAHIS.mdb, hem vtFIRMA, hem de vtUYE ve vtTAPU givi bir çok veri tabanının yardımcı tablosu olacaktır.