ADO sayısal değer hatası

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,668
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Ado sorgusunda 120.01.00.010.0001 ve 120.01.00.010.0001 için toplam aldıramıyorum.
Toplamı nasıl aldırabilirim.

sorgu = "select sum(bakiye) from[mizan$] where Hesap = 'Arahesap' and " & _
"left([Açıklama],9) not in ('ENFLASYON','YENİDEN D') and " & _
"[Hesap Kodu] like '" & hcr & "%' "

12

120

120.01

120.01.00

120.01.00.000

120.01.00.010

120.01.00.010.0001

120.01.00.010.9999

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,515
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba Erdem Bey,

Denermisiniz...

C++:
sorgu = "SELECT SUM(bakiye) FROM [mizan$] " & _
        "WHERE Hesap = 'Arahesap' " & _
        "AND LEFT([Açıklama],9) NOT IN ('ENFLASYON','YENİDEN D') " & _
        "AND LEFT(TRIM([Hesap Kodu]), " & Len(hcr) & ") = '" & hcr & "'"
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,668
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Korhan bey merhaba,

Maalesef olmadı. Excel hiçbirşeyi kabul etmiyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,515
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Küçük bir örnek dosya paylaşırsanız deneyebilirim. Ulaşmak istediğiniz sonucuda belirtirseniz sevinirim.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,668
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
sonuç sayfasına 120.01.00.010.0001 kodunun toplamı gelsin yeter. ADO'ya bunu toplatamadım.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,515
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu şekilde sonuç alabildim..

C++:
Option Explicit

Sub My_Pivot_Table()
    Dim cn As Object
    Dim rs As Object
    Dim wb As Workbook
    Dim sql As String
    Dim wsSonuc As Worksheet
    
    Set wb = ThisWorkbook
    Set wsSonuc = wb.Sheets("Sonuç")
    
    ' ADO bağlantısı
    Set cn = CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
            "Data Source=" & wb.FullName & ";" & _
            "Extended Properties=""Excel 12.0 Macro;HDR=Yes;IMEX=1"";"
    
    ' SQL: Sonuç sayfasındaki her Hesap Kodu için toplam ve diğer bilgiler
    sql = "SELECT " & _
          "MAX(m.[Açıklama]) AS Açıklama, " & _
          "SUM(IIf(IsNull(m.[Bakiye]),0,m.[Bakiye])) AS Bakiye, " & _
          "MAX(m.[Hesap]) AS Hesap " & _
          "FROM [Sonuç$] s " & _
          "LEFT JOIN [Mizan$] m ON s.[Hesap Kodu] = m.[Hesap Kodu] " & _
          "GROUP BY s.[Hesap Kodu] " & _
          "ORDER BY s.[Hesap Kodu]"
    
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open sql, cn, 1, 3
    
    ' Sonuç sayfasına B, C, D sütunlarına yaz
    wsSonuc.Range("B2:D" & wsSonuc.Rows.Count).ClearContents
    wsSonuc.Range("B2").CopyFromRecordset rs
    
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
    
    MsgBox "Toplamlar ve bilgiler tek satır olarak yazdırıldı!"
End Sub
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,668
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Korhan bey teşekkür ederim.
Bilgisayardan uzaktayım. Denedikten sonra bilgi vereceğim.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,668
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Korhan bey son verdiğiniz sorgu çalıştı. Teşekkür ederim.
 
Üst