sql ile veri alma

Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
arkadaşlar merhaba

sql ile logo tıgerden müşteri carilerini ve stok taki ürünlrin adet bazında satışını olmak istiyorum ama olmuyor bu konuda yardımcı olabilirmisiniz
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
Bir örnek ile gösterebilirmisiniz...
Hangi alanların olmasını istiyorsunuz ?
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
Logo Tiger dan Cari Listesini getirmek

Logo Tiger dan Cari Listesini aşağıdaki kod yardımı ile getirebilirsiniz...

Kodu bir butona tanımlamalısınız...

ayrıca SETUP adında bir çalışma sayfanızda olmalı...


Kod:
Private Sub CommandButton1_Click()
Dim Baglanti As New ADODB.Connection
    Dim KayitSeti As New ADODB.Recordset
    Dim Firma As String, Server As String, Database As String, Kullanıcı As String, Parola As String
    
    Firma = Format(Sheets("SETUP").Range("B5"), "000")
    Server = Sheets("SETUP").Range("B1").Value
    Database = Sheets("SETUP").Range("B4").Value
    Kullanıcı = Sheets("SETUP").Range("B2").Value
    Parola = Sheets("SETUP").Range("B3").Value
    
    sorgu = "SELECT CODE,DEFINITION_ FROM LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_CLCARD " & "ORDER BY DEFINITION_" & ""
    
    Baglanti.Open "Provider=SQLOLEDB; Data Source=" & Server & "; Initial Catalog=" & Database & "; User ID=" & Kullanıcı & "; Password=" & Parola & ";"
    KayitSeti.Open sorgu, Baglanti
    
    Cells(8, 1).CopyFromRecordset KayitSeti
    
    KayitSeti.Close
    Baglanti.Close
    Set KayitSeti = Nothing
    Set Baglanti = Nothing
End Sub
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
sayın lsuersoy yardımınızı için çok teşekkürler ama
Dim Baglanti As New ADODB.Connection hata veriyor
stok taki ürünlerdede stok miktarı ve satışı gerekiyor
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
sayın lsuersoy yardımınızı için çok teşekkürler ama
Dim Baglanti As New ADODB.Connection hata veriyor
stok taki ürünlerdede stok miktarı ve satışı gerekiyor
ADODB bağlantısında hata vermesinin sebebi Librarylerin SET edilmemiş olması ile alakalı olabilir...



"Cari Kodu - Stok Kodu - Stok Adı - Toplam satış Miktarı - Toplam Satış tutarı " şeklinde mi istiyorsunuz ?
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
VBA kod penceresinde Tools/References bölümü resimdeki gibi olmalı
 

Ekli dosyalar

Son düzenleme:
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
SAYIN lsuersoy tamam problemi halletim ama cari kartlada son bakiyeleri nasıl görebilirim, stok ları ve satışları da ekleyebilirmiyim
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
Herşey yapılabilir , burada önemli olan veritabanının yapısı ve sorgulamanın çevireceği sonucu bilecek kadar da T-SQL bilgisi gerekiyor...

Veritabanı yapısındaki ilişkileri biliyorsanız herşeyi yapabilirsiniz...

Cari Hesap Listesi + Son Bakiyeleri + Stok Kodu + Stok Açıklaması + Satışların Stok gruplamasına göre toplam Miktarı + Miktarların birim fiyatlar ile çarpım sonucu...Böyle bir sorgu yazılması gerekiyor...

Bu sorguyu yazmak benim de bir çırpıda yapabileceğim bir iş değil uğraşmak lazım...

Ama kesinlikle imkansız değil...

Kolay gelsin , iyi çalışmalar...
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
Cari Hesap Kodu "M" ile başlayan Cari Hesapların son bakiyesini getiren MS Query kodu

SELECT CLCARD.CODE AS KODU, CLCARD.DEFINITION_ AS ÜNVANI, SUM((1 - CLFLINE.SIGN) * CLFLINE.AMOUNT) - SUM(CLFLINE.SIGN * CLFLINE.AMOUNT) AS BAKİYE, CASE WHEN SUM((1 - CLFLINE.SIGN) * CLFLINE.AMOUNT) - SUM(CLFLINE.SIGN * CLFLINE.AMOUNT) < 0 THEN SUM((1 - CLFLINE.SIGN) * CLFLINE.AMOUNT) - SUM(CLFLINE.SIGN * CLFLINE.AMOUNT) * - 1 ELSE 0 END AS [Alacak Bakiye], CLCARD.ADDR1 AS Adres1, CLCARD.ADDR2 AS Adres2, CLCARD.CITY AS Şehir, CLCARD.COUNTRY AS Ülke, CLCARD.POSTCODE AS PostaKodu, CLCARD.TELNRS1 AS TEL1, CLCARD.TELNRS2 AS TEL2, CLCARD.FAXNR AS FAKS, CLCARD.TAXNR AS Vergi_No, CLCARD.TAXOFFICE AS Vergi_Dairesi, CLCARD.DISCRATE AS iskonto, CLCARD.TOWN AS İLÇE, CLCARD.DISTRICT AS SEMT, CLCARD.STORECREDITCARDNO AS Plasiyer, CLCARD.ACTIVE AS Statüsü FROM LG_086_01_CLFLINE CLFLINE INNER JOIN LG_086_CLCARD CLCARD ON CLFLINE.CLIENTREF = CLCARD.LOGICALREF AND CLFLINE.CANCELLED = 0 GROUP BY CLCARD.CODE, CLCARD.DEFINITION_, CLCARD.ADDR1, CLCARD.ADDR2, CLCARD.CITY, CLCARD.COUNTRY, CLCARD.POSTCODE, CLCARD.TELNRS1, CLCARD.TELNRS2, CLCARD.FAXNR, CLCARD.TAXNR, CLCARD.TAXOFFICE, CLCARD.DISCRATE, CLCARD.TOWN, CLCARD.DISTRICT, CLCARD.STORECREDITCARDNO, CLCARD.ACTIVE HAVING (CLCARD.CODE LIKE 'M%') AND (CLCARD.ACTIVE = 0) ORDER BY CLCARD.BAKİYE DESC

Kod:
SELECT     CLCARD.CODE AS KODU, CLCARD.DEFINITION_ AS ÜNVANI, SUM((1 - CLFLINE.SIGN) * CLFLINE.AMOUNT) - SUM(CLFLINE.SIGN * CLFLINE.AMOUNT)                         AS BAKİYE, CASE WHEN SUM((1 - CLFLINE.SIGN) * CLFLINE.AMOUNT) - SUM(CLFLINE.SIGN * CLFLINE.AMOUNT) < 0 THEN SUM((1 - CLFLINE.SIGN)                         * CLFLINE.AMOUNT) - SUM(CLFLINE.SIGN * CLFLINE.AMOUNT) * - 1 ELSE 0 END AS [Alacak Bakiye], CLCARD.ADDR1 AS Adres1,                         CLCARD.ADDR2 AS Adres2, CLCARD.CITY AS Şehir, CLCARD.COUNTRY AS Ülke, CLCARD.POSTCODE AS PostaKodu, CLCARD.TELNRS1 AS TEL1,                         CLCARD.TELNRS2 AS TEL2, CLCARD.FAXNR AS FAKS, CLCARD.TAXNR AS Vergi_No, CLCARD.TAXOFFICE AS Vergi_Dairesi,                         CLCARD.DISCRATE AS iskonto, CLCARD.TOWN AS İLÇE, CLCARD.DISTRICT AS SEMT, CLCARD.STORECREDITCARDNO AS Plasiyer,                         CLCARD.ACTIVE AS Statüsü  FROM         LG_086_01_CLFLINE CLFLINE INNER JOIN                        LG_086_CLCARD CLCARD ON CLFLINE.CLIENTREF = CLCARD.LOGICALREF AND CLFLINE.CANCELLED = 0  GROUP BY CLCARD.CODE, CLCARD.DEFINITION_, CLCARD.ADDR1, CLCARD.ADDR2, CLCARD.CITY, CLCARD.COUNTRY, CLCARD.POSTCODE,                         CLCARD.TELNRS1, CLCARD.TELNRS2, CLCARD.FAXNR, CLCARD.TAXNR, CLCARD.TAXOFFICE, CLCARD.DISCRATE, CLCARD.TOWN,                         CLCARD.DISTRICT, CLCARD.STORECREDITCARDNO, CLCARD.ACTIVE  HAVING      (CLCARD.CODE LIKE 'M%') AND (CLCARD.ACTIVE = 0)  ORDER BY CLCARD.BAKİYE DESC
 
Son düzenleme:
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
Sayın lsuersoy yardımınız için çokteşekkürler şimdi sizin verdiğiniz kodlar üzerin de değişiklikler yapıp uyarlamaya çalışıyorum yol gösterdiğiniz için gerçekten çok teşekkür edrim
 
Katılım
15 Haziran 2008
Mesajlar
300
Excel Vers. ve Dili
Excel-2007 Türkçe
sayın lsuersoy yardımınız için ve çok teşekkürler tekrardan gönderdiğiniz kodlar üzüerinde çalışıp bişiler yapmaya çalışacağım yol gösterdiğiniziçin çok teşekkürler
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
Tekrar Merhaba ;

Bu konu ile alakalı benimde bir sorunum var ,

Amacım Logo'dan 1 nolu kasanın iki tarih arasında sadece giriş hareketlerinin toplam değerini excel de bir hücreye yazdırmak istiyorum.

Bunun için oluşturduğum hata veren kod bloğum aşağıdadır.Acaba nerede hata yapmış olabilirim...

DefStr S
Private Sub CommandButton1_Click()
'Bir butonumuz var o butona tıklayınca sırası ile aşağıdaki işlemler gerçekleşecek
Dim Baglanti As Object, KayitSeti As Object
'Baglantı ve KayitSeti nesnelerini tanımlıyoruz
Set Baglanti = CreateObject("adodb.connection")
'Bağlantı nesnesinin türünü belirliyoruz
Set KayitSeti = CreateObject("adodb.recordset")
'KayıtSeti nesnesinin türünü belirliyoruz
strFirma = Format(Sheets("SETUP").Range("B5"), "000")
'İlgili EXCEL çalışma kitabında SETUP adında bir sayfa var,Bu sayfadaki B5 hücresine LOGO Firma numarasını yazacağız
strServer = Sheets("SETUP").Range("B1").Value
'İlgili EXCEL çalışma kitabında SETUP adında bir sayfa var,Bu sayfadaki B1 hücresine LOGO nun SERVER IP sini yazacağız
strDatabase = Sheets("SETUP").Range("B4").Value
'İlgili EXCEL çalışma kitabında SETUP adında bir sayfa var,Bu sayfadaki B4 hücresine LOGO nun DATABASE adını yazacağız
strKullanıcı = Sheets("SETUP").Range("B2").Value
'İlgili EXCEL çalışma kitabında SETUP adında bir sayfa var,Bu sayfadaki B2 hücresine SQL in USER adını yazacağız
strParola = Sheets("SETUP").Range("B3").Value
'İlgili EXCEL çalışma kitabında SETUP adında bir sayfa var,Bu sayfadaki B3 hücresine SQL USER ının şifresini yazacağız
' tarih1 = Format(Range("B1"), "yyyy-mm-dd")
' tarih2 = Format(Range("C1"), "yyyy-mm-dd")
'İlgili EXCEL çalışma kitabında verilerin listeleneceği bir sayfa var,Bu sayfadaki I2 hücresine TARİH yazacağız , formatı GG.AA.YY şeklinde olacak
'tarih2 = Format(Range("B1"), "yyyy-mm-dd")

'dbo.LG_311_01_INVOICE.DATE_ BETWEEN '" & tarih1 & "' AND '" & tarih2 & "'

' S değişkeni ve değişkenin alacağı değeri getiren T-SQL kodunu VBA formatında yazıyoruz

'S = "SELECT SUM(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.AMOUNT) AS Giren,"
'S = S & "FROM LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD INNER JOIN"
'S = S & "LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES ON LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD.LOGICALREF = LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.CARDREF"
'S = S & "WHERE (LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.DATE_ BETWEEN CONVERT(DATETIME, '" & tarih1 & "', 102) AND CONVERT(DATETIME, '" & tarih2 & "', 102)) AND"
'S = S & "(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.SIGN = 0) AND (LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD.LOGICALREF = 1)"

tarih1 = Format(Range("B1").Value, "yyyy-mm-dd")
tarih2 = Format(Range("C1").Value, "yyyy-mm-dd")

S = "SELECT SUM(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.AMOUNT) AS Giren,"
S = S & "FROM LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD INNER JOIN,"
S = S & "LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES ON LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD.LOGICALREF = LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.CARDREF,"
S = S & "WHERE format(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.DATE_,'yyyy-mm-dd') BETWEEN '" & tarih1 & "' AND '" & tarih2 & "') AND"
S = S & "(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.SIGN = 0) AND (LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD.LOGICALREF = 1)"


Baglanti.Open "Provider=SQLOLEDB; Data Source=" & strServer & "; Initial Catalog=" & strDatabase & "; User ID=" & strKullanıcı & "; Password=" & strParola & ";"

'Bağlantı Nesnesini açıyoruz.
KayitSeti.Open S, Baglanti, 1, 1 'BU SATIRDA HATA ALIYORUM , bu satırda alınan hata SQL kodunun VBA syntaxında bir hata 'olduğu anlamına geliyor, ama o ufak ayrıntıyı henüz yakalayamadım..
'Kayıt Seti Nesnesini açıyoruz.
Range("A9:IV65536").ClearContents
'Tarih kıstasına göre butona her tıklandığında veriler yeniden listeleneceği için , daha önceki çok verinin üzerine az veri yazılması gerekebilir...listelenen verileri sildiriyoruz..tekrar yazdırıyoruz.
Range("B5").CopyFromRecordset KayitSeti
'KayıtSeti nesnesinin SQL sorgusundan çektiği bilgilerin , verilerin listeleneceği sayfada B5 hücresine yazılması için

KayitSeti.Close
Baglanti.Close
Set KayitSeti = Nothing
Set Baglanti = Nothing
strFirma = vbNullString
strServer = vbNullString
strDatabase = vbNullString
strParola = vbNullString
strKullanıcı = vbNullString
S = vbNullString

End Sub
 
Son düzenleme:
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
Sorgunun Sadeleştirilmiş hali

Kod:
Private Sub CommandButton1_Click()
    Dim Baglanti As Object, KayitSeti As Object
    Set Baglanti = CreateObject("adodb.connection")
    Set KayitSeti = CreateObject("adodb.recordset")
    
    strFirma = Format(Sheets("SETUP").Range("B5"), "000")
        strServer = Sheets("SETUP").Range("B1").Value
            strDatabase = Sheets("SETUP").Range("B4").Value
                strKullanıcı = Sheets("SETUP").Range("B2").Value
                    strParola = Sheets("SETUP").Range("B3").Value
    
tarih1 = Format(Range("B1").Value, "yyyy-mm-dd")
tarih2 = Format(Range("C1").Value, "yyyy-mm-dd")

S = "SELECT SUM(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.AMOUNT) AS Giren,"
S = S & "FROM LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD INNER JOIN,"
S = S & "LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES ON LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD.LOGICALREF = LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.CARDREF,"
S = S & "WHERE format(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.DATE_,'yyyy-mm-dd') BETWEEN '" & tarih1 & "' AND '" & tarih2 & "') AND"
S = S & "(LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_01_KSLINES.SIGN = 0) AND (LG_" & Format(Sheets("SETUP").Range("B5"), "000") & "_KSCARD.LOGICALREF = 1)"


Baglanti.Open "Provider=SQLOLEDB; Data Source=" & strServer & "; Initial Catalog=" & strDatabase & "; User ID=" & strKullanıcı & "; Password=" & strParola & ";"
  
    KayitSeti.Open S, Baglanti, 1, 1
    Range("A9:IV65536").ClearContents
    Range("B5").CopyFromRecordset KayitSeti
       
KayitSeti.Close
    Baglanti.Close
        Set KayitSeti = Nothing
            Set Baglanti = Nothing
                strFirma = vbNullString
                    strServer = vbNullString
                        strDatabase = vbNullString
                            strParola = vbNullString
                                strKullanıcı = vbNullString
                                    S = vbNullString

End Sub
Fakat yine aynı satır da hata alıyorum...Bu hatayı nasıl giderebiliriz ?

Kod:
KayitSeti.Open S, Baglanti, 1, 1

Hata mesajı

Run-time error '-21472117900 ( 80040e14)':
incorrect syntax near the keyword 'FROM'.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

From dan ve Where den önce gelen satırlardaki en son , işaretini kaldırın
AS Giren"
CARDREF" şeklinde olacak


Ayrıca S = S & "FROM ve S = S & "WHERE ifadelerini
S = S & " FROM ve S = S & " WHERE olarak (bir boşluk bırakarak ) başlatınız.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

CARDREF'in hangi kasanın referansı olduğunu bildikten sonra Kasa toplamı için KSCARD ile birleşim yapmanıza gerek yok.


Kod:
[SIZE=2][COLOR=#0000ff]SELECT[/COLOR][/SIZE][SIZE=2][COLOR=#ff00ff]SUM[/COLOR][/SIZE][SIZE=2][COLOR=#808080]([/COLOR][/SIZE][SIZE=2]LG_XXX_XX_KSLINES[/SIZE][SIZE=2][COLOR=#808080].[/COLOR][/SIZE][SIZE=2]AMOUNT[/SIZE][SIZE=2][COLOR=#808080])[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]AS[/COLOR][/SIZE][SIZE=2] [kasatop][/SIZE]
[SIZE=2][COLOR=#0000ff]FROM[/COLOR][/SIZE][SIZE=2] LG_XXX_XX_KSLINES [/SIZE]
[SIZE=2][COLOR=#0000ff]WHERE[/COLOR][/SIZE][SIZE=2][COLOR=#808080]([/COLOR][/SIZE][SIZE=2]LG_XXX_XX_KSLINES[/SIZE][SIZE=2][COLOR=#808080].[/COLOR][/SIZE][SIZE=2]DATE_ [/SIZE][SIZE=2][COLOR=#808080]<[/COLOR][/SIZE][SIZE=2][COLOR=#ff00ff]CONVERT[/COLOR][/SIZE][SIZE=2][COLOR=#808080]([/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]DATETIME[/COLOR][/SIZE][SIZE=2][COLOR=#808080],[/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]'2009-03-31 00:00:00'[/COLOR][/SIZE][SIZE=2][COLOR=#808080],[/COLOR][/SIZE][SIZE=2] 102[/SIZE][SIZE=2][COLOR=#808080]))[/COLOR][/SIZE][SIZE=2][COLOR=#808080]AND[/COLOR][/SIZE][SIZE=2][COLOR=#808080]([/COLOR][/SIZE][SIZE=2]LG_XXX_XX_KSLINES[/SIZE][SIZE=2][COLOR=#808080].[/COLOR][/SIZE][SIZE=2]DATE_ [/SIZE][SIZE=2][COLOR=#808080]>[/COLOR][/SIZE][SIZE=2][COLOR=#ff00ff]CONVERT[/COLOR][/SIZE][SIZE=2][COLOR=#808080]([/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]DATETIME[/COLOR][/SIZE][SIZE=2][COLOR=#808080],[/COLOR][/SIZE]
[SIZE=2][COLOR=#ff0000]'2009-01-01 00:00:00'[/COLOR][/SIZE][SIZE=2][COLOR=#808080],[/COLOR][/SIZE][SIZE=2] 102[/SIZE][SIZE=2][COLOR=#808080]))[/COLOR][/SIZE][SIZE=2][COLOR=#808080]and[/COLOR][/SIZE][SIZE=2][COLOR=#808080]([/COLOR][/SIZE][SIZE=2]LG_XXX_XX_KSLINES[/SIZE][SIZE=2][COLOR=#808080].CARDREF[/COLOR][/SIZE][SIZE=2][COLOR=#808080]=1[/COLOR][/SIZE][SIZE=2][COLOR=#808080])[/COLOR][/SIZE]
 
Katılım
29 Haziran 2005
Mesajlar
158
Excel Vers. ve Dili
MS Office Professional Plus 2013 64 Bit -Eng
MSSQL 2012 R2 64 Bit
teşekkürler
 
Katılım
22 Kasım 2007
Mesajlar
4
Excel Vers. ve Dili
2003 Türkçe
arkadaşlar lks kullanıyorum...bakiye veren cari kartların ödeme vadelerinin hangi gün olacağına ait sql sorgusuna ihtiyacım var... şimdiden teşekkürler
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba


VERITABANI_ISMI Kısmına kendi veritabanınızı yazınız.LG ile başlayan firma numaralarınıda kendine göre değiştiriniz.
Ödeme tarihi parametriktir.İsterseniz ölçütü cari hesaba görede yapabilirsiniz.

Excel'de boş bir sql sorgusu açıp aşağıdaki kodları sql kodlarının üzerine yapıştırınız.
istediğiniz ölçüte göre veri alabilirsiniz.

Kod:
SELECT LG_010_CLCARD.CODE AS 'KOD', LG_010_CLCARD.DEFINITION_ AS  'UNVANI', LG_010_01_INVOICE.FICHENO AS 'FATURA NO',  LG_010_01_PAYTRANS.PROCDATE AS 'FATURA TARİHİ', LG_010_01_PAYTRANS.DATE_  AS 'ÖDEME TARİHİ', LG_010_01_PAYTRANS.TOTAL AS 'TUTAR'
  FROM VERITABANI_ISMI.dbo.LG_010_01_INVOICE LG_010_01_INVOICE,  VERITABANI_ISMI.dbo.LG_010_01_PAYTRANS LG_010_01_PAYTRANS,  VERITABANI_ISMI.dbo.LG_010_CLCARD LG_010_CLCARD
  WHERE LG_010_01_PAYTRANS.FICHEREF = LG_010_01_INVOICE.LOGICALREF AND  LG_010_01_INVOICE.CLIENTREF = LG_010_CLCARD.LOGICALREF AND  LG_010_01_PAYTRANS.CARDREF = LG_010_CLCARD.LOGICALREF AND  ((LG_010_01_INVOICE.TRCODE=8) AND (LG_010_01_PAYTRANS.MODULENR=4) AND  (LG_010_01_PAYTRANS.PROCDATE Between ? And ?))
  ORDER BY LG_010_01_INVOICE.FICHENO
 
Son düzenleme:
Katılım
22 Kasım 2007
Mesajlar
4
Excel Vers. ve Dili
2003 Türkçe
zafer bey ilginize teşekkür ederim

Üstadım problem şu;

1- Herhangi bir cari kartta
a) gelen veya kesilen faturaya ilişkin herhangi bir ödeme (çekler, senetler veya nakit) bire bir yapılmış ise problem yok
b) Faturaya ilişkin ödeme aracı eksik gelmiş ise kalan cari bakiyenin ödeme zamanı ne olacak

yapılabiliyorsa sorgu şöyle çalışmalı;

1- Cari kartın bakiyesine bakmalı
2- enson faturadan başlamak üzere cari kartın bakiyesine göre vade koymalı

Diyelim ki Cari bakiye: 1.000
Son faturalar ise : 900 ve 600
bana raporda 900 ün ne zaman ödeneceği ve diğer faturadan kalan 100 ün ne zaman ödeceği ile ilgili rapor yapmalı
 
Üst