Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   SQL (http://www.excel.web.tr/forumdisplay.php?f=66)
-   -   RST.FIELDS kontrol koymak. (http://www.excel.web.tr/showthread.php?t=163692)

a_self_lion 26-04-2017 11:33

RST.FIELDS kontrol koymak.
 
RST.FIELDS kontrol koyup şartım tutarsa sayfaya yazdırmak istiyorum aşağıda belirttiğim gibi.


Kod:

Set RST.DataSource = SQLCON.Execute(SQLText)

Do Until RST.EOF
For i = 1 To RST.RecordCount Step 1
Cells(i + 4, 1) = RST.Fields(0)
Cells(i + 4, 2) = RST.Fields(1)
Cells(i + 4, 3) = RST.Fields(2)
Cells(i + 4, 4) = RST.Fields(3)
Cells(i + 4, 5) = RST.Fields(4)
Cells(i + 4, 6) = RST.Fields(5)
Cells(i + 4, 7) = RST.Fields(6)
Cells(i + 4, 8) = RST.Fields(7)


RST.MoveNext

Next i
Loop

RST.Close

SQLCON.Close

rst.fields(5)+rest.fields.(7) toplamı 0 dan büyükse bu döngünün excel hücrelerini bilgileri yazdırmasını istiyorum

Rica etsem nasıl kurgularım.

a_self_lion 27-04-2017 10:18

Kod:

Set RST.DataSource = SQLCON.Execute(SQLText)

''Rows("19:38").Select
''    Selection.Delete Shift:=xlUp
''    Range("D23").Select
   
'Sadece hücre temizler
'''Range("A5:U65000").Select
'''Selection.ClearContents
'Bu Satırı komple siler
Rows("5:5000").Select
Selection.Delete Shift:=xlUp

Do Until RST.EOF
For i = 1 To RST.RecordCount Step 1
If RST.Fields(5) * 1 + RST.Fields(7) * 1 > 0 Then

Cells(i + 4, 1) = RST.Fields(0)
Cells(i + 4, 2) = RST.Fields(1)
Cells(i + 4, 3) = RST.Fields(2)
Cells(i + 4, 4) = RST.Fields(3)
Cells(i + 4, 5) = RST.Fields(4)
Cells(i + 4, 6) = RST.Fields(5)
Cells(i + 4, 7) = RST.Fields(6)
Cells(i + 4, 8) = RST.Fields(7)

End If

RST.MoveNext

Next i
Loop

RST.Close

SQLCON.Close


Bossatirsil


Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic










Kod:

Sub Bossatirsil()
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Cells(k, 1) = "" Then Rows(k).Delete
Next k
End Sub

Sevgili arkadaşlar belki birisinin işne yarar diye buraya ekliyorum.
Benim yaptığım yöntem budur.

do until döngüsünün içine
if şartı koydum ve 5 ve 7 alanın toplamı 0 dan büyük olursa hücrelere yaz dedim.
değilse bu döngüden çık bir sonraki movenext den devam et
tabi bu şekilde boş satırlar oluşacaktı.
bunu da bossatir sil macrosu ile hallettim.
Onuda buraya koydum. Siteden buldum.

Herkese iyi çalışmalar dilerim.


Saat 04:38

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.