DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
strSQL = "Select '" & arrBelgeNo(0, i) & "' As [BELGENO], '" & Sheets("Rapor").Range("C1") & "' As [DEPO], Sum([TOPLAM]) As [TOPLAM], Sum([NETTUTAR]) As [NETTUTAR]From [Sayfa1$] Where [BELGENO]= '" & arrBelgeNo(0, i) & "'"

Option Explicit
'
Sub Test()
' Haluk - 29/09/2023
' sa4truss@gmail.com
'
Dim objADO As ADODB.Connection
Dim strFile As String, strSQL As String
Dim objRS As ADODB.Recordset
Dim arrBelgeNo As Variant
Dim i As Integer, j As Integer, NoA As Integer, dataCount As Long
NoA = Sheets("Sayfa1").Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To NoA
Sheets("Sayfa1").Range("A" & i).Value = Sheets("Sayfa1").Range("A" & i).Value
Next
Sheets("Sayfa1").Range("A2:A" & NoA).NumberFormat = "0"
Sheets("Rapor").Range("A2:K" & Rows.Count).Clear
Set objADO = New ADODB.Connection
objADO.CursorLocation = adUseClient
strFile = ThisWorkbook.FullName
With objADO
If Val(Application.Version) < 14 Then
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Excel 8.0; HDR=Yes;IMEX=1;"
Else
.Provider = "Microsoft.Ace.OLEDB.12.0"
.Properties("Extended Properties") = "Excel 12.0; HDR=Yes;IMEX=1;"
End If
.ConnectionString = strFile
.Open
End With
Set objRS = New ADODB.Recordset
strSQL = " Select Distinct [BELGENO] From [Sayfa1$] Where [DEPO]= '" & Sheets("Rapor").Range("C1") & "'"
Set objRS = objADO.Execute(strSQL)
dataCount = objRS.RecordCount
arrBelgeNo = objRS.GetRows(, , "BELGENO")
For i = 0 To dataCount - 1
NoA = Sheets("Rapor").Range("A" & Rows.Count).End(xlUp).Row + 1
strSQL = "Select '" & arrBelgeNo(0, i) & "' As [BELGENO], '" & Sheets("Rapor").Range("C1") & "' As [DEPO], Sum([TOPLAM]) As [TOPLAM], Sum([NETTUTAR]) As [NETTUTAR]From [Sayfa1$] Where [BELGENO]= " & arrBelgeNo(0, i) & " And [DEPO]= '" & Sheets("Rapor").Range("C1") & "'"
Set objRS = objADO.Execute(strSQL)
For j = 0 To objRS.Fields.Count - 1
Sheets("Rapor").Cells(NoA + 2, j + 1) = objRS.Fields(j).Name
Sheets("Rapor").Cells(NoA + 2, j + 1).Font.Bold = True
Next
Sheets("Rapor").Range("A" & NoA + 3).CopyFromRecordset objRS
Sheets("Rapor").Range("A" & NoA + 2 & ":D" & NoA + 2).Interior.Color = RGB(212, 212, 212)
Sheets("Rapor").Range("A" & NoA + 2 & ":D" & NoA + 2 + objRS.RecordCount).Borders.LineStyle = xlContinuous
strSQL = "Select [STOKKODU], [MALINCINSI], [MIKTAR], [SATISFIYATI], [ISK1], [DURUM], [PRIM], [TOPLAM], [NETTUTAR], [PRIMTUTARI], [PERKODU] " & _
"From [Sayfa1$] Where [BELGENO]= " & arrBelgeNo(0, i) & " And [DEPO]= '" & Sheets("Rapor").Range("C1") & "'"
Set objRS = objADO.Execute(strSQL)
For j = 0 To objRS.Fields.Count - 1
Sheets("Rapor").Cells(NoA + 4, j + 1) = objRS.Fields(j).Name
Sheets("Rapor").Range(Cells(NoA + 4, j + 1).Address).Font.Bold = True
Next
Sheets("Rapor").Range("A" & NoA + 5).CopyFromRecordset objRS
Sheets("Rapor").Range("A" & NoA + 4 & ":K" & NoA + 4 + objRS.RecordCount).Borders.LineStyle = xlContinuous
Sheets("Rapor").Range("A" & NoA + 4 & ":K" & NoA + 4).Interior.Color = RGB(212, 212, 212)
Next
If objRS.State = adStateOpen Then objRS.Close
If objADO.State = adStateOpen Then objADO.Close
Set objRS = Nothing
Set objADO = Nothing
End Sub
......
....
Birde ek olarak PRIMTUTARI kısmında toplamı altında gösterebilirmi