(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.
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.
(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.
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
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.
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.