• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

sql sorugunu makro ile güncelleme

  • Konbuyu başlatan Konbuyu başlatan koboy
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Ağustos 2006
Mesajlar
179
SELECT TOP (100) PERCENT dbo.LG_117_KSCARD.CODE AS 'KASA KODU', dbo.LG_117_KSCARD.NAME AS 'KASA ADI'

FROM dbo.LG_117_KSCARD INNER JOIN
dbo.LG_117_01_KSLINES ON dbo.LG_117_KSCARD.LOGICALREF = dbo.LG_117_01_KSLINES.CARDREF
dbo.LG_117_KSCARD.CODE='" & sayfa2.Cells(1, 1).Value & "'
GROUP BY dbo.LG_117_KSCARD.CODE, dbo.LG_117_KSCARD.NAME, dbo.LG_117_01_KSLINES.TRCURR
ORDER BY 'KASA KODU'


dbo.LG_117_KSCARD.CODE='" & sayfa2.Cells(1, 1).Value & "' bu kısıma ben böyle birşey yaptım ama veri gelmiyor
 
Şu şekilde dener misiniz?
Kod:
SELECT TOP (100) PERCENT dbo.LG_117_KSCARD.CODE AS 'KASA KODU', dbo.LG_117_KSCARD.NAME AS 'KASA ADI' 

FROM dbo.LG_117_KSCARD INNER JOIN
dbo.LG_117_01_KSLINES ON dbo.LG_117_KSCARD.LOGICALREF = dbo.LG_117_01_KSLINES.CARDREF [B][COLOR="Red"]where[/COLOR][/B]
dbo.LG_117_KSCARD.CODE='" & sayfa2.Cells(1, 1).Value & "'
GROUP BY dbo.LG_117_KSCARD.CODE, dbo.LG_117_KSCARD.NAME, dbo.LG_117_01_KSLINES.TRCURR
ORDER BY 'KASA KODU'
 
Selamlar,

Sorguda tam olarak ne yapmak istiyorsunuz ?
Elimde standart raporları ekliyorum.

Kasa Detay;

Kod:
SELECT 
KSCARD.CODE AS 'Kasa Kodu', 
KSCARD.NAME AS 'Kasa Adı', 
KSLINES.DATE_ AS 'Tarih', 
CASE WHEN KSLINES.TRCODE=11 then 'Cari Hesap Tahsilat'
when KSLINES.TRCODE=12 then 'Cari Hesap Ödeme'
when KSLINES.TRCODE=21 then 'Bankaya Yatırılan'
when KSLINES.TRCODE=22 then 'Bankadan Çekilen'
when KSLINES.TRCODE=31 then 'Mal Alım Faturası'
when KSLINES.TRCODE=32 then 'Perakende Sat İade Faturası'
when KSLINES.TRCODE=33 then 'Toptan Satış İade Faturası'
when KSLINES.TRCODE=34 then 'Alınan Hizmet Faturası'
when KSLINES.TRCODE=35 then 'Satınalma İade Faturası'
when KSLINES.TRCODE=36 then 'Perakende Sat Faturası'
when KSLINES.TRCODE=37 then 'Toptan Satış Faturası'
when KSLINES.TRCODE=38 then 'Verilen Hizmet Faturası'
when KSLINES.TRCODE=39 then 'Müstahsil Makbuzu'
when KSLINES.TRCODE=41 then 'Muh. Tahsil'
when KSLINES.TRCODE=42 then 'Muh. Tediye'
when KSLINES.TRCODE=61 then 'Çek Tahsili'
when KSLINES.TRCODE=62 then 'Senet Tahsili'
when KSLINES.TRCODE=63 then 'Çek Ödemesi'
when KSLINES.TRCODE=64 then 'Senet Ödemesi'
when KSLINES.TRCODE=71 then 'Açılış (Borç)'
when KSLINES.TRCODE=72 then 'Açılış (Alacak)'
when KSLINES.TRCODE=73 then 'Virman (Borç)'
when KSLINES.TRCODE=74 then 'Virman (Alacak)'
when KSLINES.TRCODE=75 then 'Gider Pusulası'
when KSLINES.TRCODE=76 then 'Verilen Serbest Mes'
when KSLINES.TRCODE=77 then 'Alınan Serbest Mes'
when KSLINES.TRCODE=79 then 'Kur Farkı (Borç)'
when KSLINES.TRCODE=80 then 'Kur Farkı (Alacak)'
ELSE '' END 'Fiş Türü',
KSLINES.SPECODE AS 'Özel Kod', 
KSLINES.CYPHCODE AS 'Yetki Kodu', 
KSLINES.LINEEXP AS 'Satır Açıklaması', 
CASE KSLINES.SIGN WHEN 0 THEN KSLINES.AMOUNT ELSE 0 END AS 'Borç', 
CASE KSLINES.SIGN WHEN 1 THEN KSLINES.AMOUNT ELSE 0 END AS 'Alacak', 
CASE KSLINES.SIGN WHEN 0 THEN KSLINES.AMOUNT ELSE KSLINES.AMOUNT*-1 END AS 'Bakiye', 

KSLINES.REPORTRATE AS 'Rd_Kur', 
'Rd_Borç'=CASE KSLINES.SIGN WHEN 0 THEN KSLINES.REPORTNET ELSE 0 END,
'Rd_Alacak'=CASE KSLINES.SIGN WHEN 1 THEN KSLINES.REPORTNET ELSE 0 END,
CASE KSLINES.SIGN WHEN 0 THEN KSLINES.REPORTNET ELSE KSLINES.REPORTNET*-1 END AS 'Rd_Bakiye',
 
CASE KSLINES.TRRATE WHEN 0 THEN 'TL' ELSE L_CURRENCYLIST.CURCODE END AS 'İşlem Döviz Tür', 
(CASE KSLINES.SIGN WHEN 1 THEN 
(CASE KSLINES.TRRATE WHEN 0 THEN KSLINES.AMOUNT ELSE KSLINES.TRNET END)*-1 ELSE 
(CASE KSLINES.TRRATE WHEN 0 THEN KSLINES.AMOUNT ELSE KSLINES.TRNET END) END)AS 'İşlem Döviz Tutarı'

FROM LG_006_01_KSLINES KSLINES (NOLOCK) 
LEFT OUTER JOIN LG_006_KSCARD KSCARD (NOLOCK) ON KSLINES.CARDREF = KSCARD.LOGICALREF 
LEFT OUTER JOIN L_CURRENCYLIST L_CURRENCYLIST (NOLOCK) ON L_CURRENCYLIST.CURTYPE=KSLINES.TRCURR and L_CURRENCYLIST.FIRMNR='6'
WHERE KSLINES.CANCELLED=0

Kasa Özet;

Kod:
SELECT 
KSCARD.CODE AS 'Kasa Kodu', 
KSCARD.NAME AS 'Kasa Adı', 

SUM(CASE KSLINES.SIGN WHEN 0 THEN KSLINES.AMOUNT ELSE 0 END) AS 'Borç', 
SUM(CASE KSLINES.SIGN WHEN 1 THEN KSLINES.AMOUNT ELSE 0 END) AS 'Alacak', 
SUM(CASE KSLINES.SIGN WHEN 0 THEN KSLINES.AMOUNT ELSE KSLINES.AMOUNT*-1 END) AS 'Bakiye', 


'Rd_Borç'=SUM(CASE KSLINES.SIGN WHEN 0 THEN KSLINES.REPORTNET ELSE 0 END),
'Rd_Alacak'=SUM(CASE KSLINES.SIGN WHEN 1 THEN KSLINES.REPORTNET ELSE 0 END),
SUM(CASE KSLINES.SIGN WHEN 0 THEN KSLINES.REPORTNET ELSE KSLINES.REPORTNET*-1 END) AS 'Rd_Bakiye',
 
CASE KSLINES.TRRATE WHEN 0 THEN 'TL' ELSE L_CURRENCYLIST.CURCODE END AS 'İşlem Döviz Tür', 
SUM((CASE KSLINES.SIGN WHEN 1 THEN 
(CASE KSLINES.TRRATE WHEN 0 THEN KSLINES.AMOUNT ELSE KSLINES.TRNET END)*-1 ELSE 
(CASE KSLINES.TRRATE WHEN 0 THEN KSLINES.AMOUNT ELSE KSLINES.TRNET END) END))AS 'İşlem Döviz Tutarı'

FROM LG_006_01_KSLINES KSLINES (NOLOCK) 
LEFT OUTER JOIN LG_006_KSCARD KSCARD (NOLOCK) ON KSLINES.CARDREF = KSCARD.LOGICALREF 
LEFT OUTER JOIN L_CURRENCYLIST L_CURRENCYLIST (NOLOCK) ON L_CURRENCYLIST.CURTYPE=KSLINES.TRCURR and L_CURRENCYLIST.FIRMNR='6'
WHERE KSLINES.CANCELLED=0
GROUP BY 
KSCARD.CODE, 
KSCARD.NAME,
L_CURRENCYLIST.CURCODE,
KSLINES.TRRATE
 

Ekli dosyalar

Selamlar

Sorgu zaten vba içinde sql ayar bilgilerini değiştirip deneyin.
 
Vba derken ado ile quer ile çekme değil direk makro ile çekme
Şekilde demek istemiştim
 
Bu tarz yapma

Public con as object
Sub baglan()
set con = createobject("adodb.connection")
con.open "provider=sqloledb;data source=HP\SQLEXPRESS;initial catalog=data2015;user id=sa;password=xxxx"
end sub

sub raporla()
Dim tarih1 as date, tarih2 as date
tarih1= format(range("a1").text,"ggaayyyy")
tarih2=format(range("b1").text),"ggaayyyy")
call baglan
sorgu = "SELECT * FROM CARI INNER JOIN"
sorgu = sorgu & " RUT ON CARI.KOD = RUT.CARIKOD INNER JOIN"
sorgu = sorgu & " CARIBORCALACAK ON CARI.KOD = CARIBORCALACAK.CARIKOD INNER JOIN"
sorgu=sorgu & " SATICI ON RUT.SATICITKOD = SATICI.KOD"
sorgu = sorgu & " WHERE CARIBORCALACAK.TARIH BETWEEN " & tarih1 & " and " & tarih2
set rs = createobject("adodb.recordset")
rs.open s,con,1,1
if rs.recordcount>0 then
for i = 0 to rs.fields.count - 1
cells(3,i+1).value = rs.fields(i).name
next i
range("a4").copyfromrecordset rs
end if
set rs = nothing
con.close
set con = nothing
end sub
 
Selamlar,

Benim paylaşmış olduğum dosyanın VBA kısmına bakın .
 
Rica ederim.
İyi çalışmalar dilerim.
 
Geri
Üst