14/01/2011, 20:35
HSayar
tblSAHIS tabllosunun ilcekodu alanı boş, il adı ve ilce adı alnları dolu ise Aynı veritabanında bulunan ytbl_MERNISILCEKOD tablosunda il adı ve ilce adı tblsahıstakilerle eşleşiyorsa ilçe kodunu alıp Tblsahıs.ılcekodu alanını güncelleyen kodları alpeki ve sleadgeab hocalarım sayesinde çözdüm.
ancak genel senaryoda böyle bir şey mümkün değil. MERNISILCEKOD tablosu başka bir veritabanı içinde olsa (idi ki öyle olmalı) mesala (vtKODLAR.MDB) aşağıdaki visiual basic kodları nasıl değişmelidir?
ancak genel senaryoda böyle bir şey mümkün değil. MERNISILCEKOD tablosu başka bir veritabanı içinde olsa (idi ki öyle olmalı) mesala (vtKODLAR.MDB) aşağıdaki visiual basic kodları nasıl değişmelidir?
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