1 TABLODA (tblSAHIS) yer alan bir aramanın ikinci tabloda bir sonucu va.
yani tblŞAHISLAR tablasunda ANKARA KEÇİÖREN içeren kayıt sayısı 100 bin tane olabilir.
ancak tblILCEKODDA bu kayıt sadece 1 tane.
ben kod tablosunu excele alıp
Excel userformunda bir butona kod atayarak bir şeyler yaptım ancak aralığı daralttığım halde 15-20 dakika sürüyor.
Private Sub cmdSORGU_Click()
ZAMANBAS = Now()
Dim sfILCEKOD As Excel.Worksheet
Set sfILCEKOD = ThisWorkbook.Worksheets("TRSO_ILCKOD")
Call sbNFSKYTBAG_AC
'If boolNFSKYDBAG = False Then GoTo exitPROC
Dim SqlSrg As String
Rem *\*\*\*\*\*\*\*\*\*\**\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\
SAY = 0
For i = 22 To 40 '1055
'MsgBox sfILCEKOD.Cells(i, 2).Text
'Next i
SqlSrg = " tblSAHIS.SHS_NKOIL = " & "'" & sfILCEKOD.Cells(i, 4).Text & "'" & " AND " & _
" tblSAHIS.SHS_NKOILCE = " & "'" & sfILCEKOD.Cells(i, 2).Text & "'"
sqlSTR = " SELECT " & sqlBAS_SHS_2 & " FROM [tblSAHIS] " & _
" WHERE " & SqlSrg
Set recNFS = CreateObject("ADODB.Recordset") 'kayıt bağlantısını kur
With recNFS
.Open sqlSTR, conNFS, adOpenKeyset, adLockOptimistic
If .RecordCount <> 0 Then
'Eşleşmenin sağlandığı tüm alanlarda alanlara sabit veri ekle.
.MoveFirst
Do While Not .EOF
.Fields("SHS_NKOILCEKODU") = sfILCEKOD.Cells(i, 1).Text
.MoveNext
Loop
SAY = SAY + .RecordCount
' MsgBox SAY & "/" & .RecordCount & " kayıda ilçe kodu eklenmiştir."
End If
End With
Set recNFS = Nothing
Next i
Rem */*/*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/
exitPROC:
Call sbNFSKYTBAGKES
ZAMANBTS = Now()
MsgBox "Süre: " & Format((ZAMANBTS - ZAMANBAS), "hh:mm:ss.dd") & " Kayıt: " & SAY
End Sub