Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 13-11-2017, 11:05   #1
koboy
Altın Üye
 
Giriş: 01/08/2006
Mesaj: 69
Varsayılan sql sorugunu makro ile güncelleme

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
koboy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 11:20   #2
Mehmet Şahin
Destek Ekibi
 
Mehmet Şahin kullanıcısının avatarı
 
Giriş: 13/10/2005
Şehir: Bursa * Rize
Mesaj: 1,307
Excel Vers. ve Dili:
Excel 2010 - 2013 Türkçe - İngilizce
Varsayılan

Şu şekilde dener misiniz?
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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 where
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'
__________________
Mutluluk paylaşıldığında gerçektir.

Into the Wild
Mehmet Şahin Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 11:26   #3
koboy
Altın Üye
 
Giriş: 01/08/2006
Mesaj: 69
Varsayılan

Malesef olmadı dosya ekledim bunu makro ile yapma imkanı varmı
Eklenmiş Dosyalar
Dosya Türü: xls ÖRNEK2.xls (28.0 KB, 5 Görüntülenme)
koboy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 12:05   #4
koboy
Altın Üye
 
Giriş: 01/08/2006
Mesaj: 69
Varsayılan

Ado yapılıyormuş bu sql sorguyu nasıl ado ye çevire bilirim
koboy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 16:58   #5
Vedat Özer
Uzman
 
Vedat Özer kullanıcısının avatarı
 
Giriş: 04/01/2010
Şehir: Antalya
Mesaj: 2,038
Excel Vers. ve Dili:
OFFICE 2007 PRO TR - Win7 X64
Varsayılan

Selamlar,

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

Kasa Detay;

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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
Eklenmiş Dosyalar
Dosya Türü: xlsm KASA DETAY.xlsm (42.3 KB, 8 Görüntülenme)
__________________
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.

Forum Kuralları
Vedat Özer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 20:54   #6
koboy
Altın Üye
 
Giriş: 01/08/2006
Mesaj: 69
Varsayılan

Merhaba teşekkür ederim bu sorguları vba ile nasıl çekerin
koboy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 21:21   #7
Vedat Özer
Uzman
 
Vedat Özer kullanıcısının avatarı
 
Giriş: 04/01/2010
Şehir: Antalya
Mesaj: 2,038
Excel Vers. ve Dili:
OFFICE 2007 PRO TR - Win7 X64
Varsayılan

Selamlar

Sorgu zaten vba içinde sql ayar bilgilerini değiştirip deneyin.
__________________
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.

Forum Kuralları
Vedat Özer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 22:44   #8
koboy
Altın Üye
 
Giriş: 01/08/2006
Mesaj: 69
Varsayılan

Vba derken ado ile quer ile çekme değil direk makro ile çekme
Şekilde demek istemiştim
koboy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 22:55   #9
koboy
Altın Üye
 
Giriş: 01/08/2006
Mesaj: 69
Varsayılan

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
koboy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-11-2017, 07:35   #10
Vedat Özer
Uzman
 
Vedat Özer kullanıcısının avatarı
 
Giriş: 04/01/2010
Şehir: Antalya
Mesaj: 2,038
Excel Vers. ve Dili:
OFFICE 2007 PRO TR - Win7 X64
Varsayılan

Selamlar,

Benim paylaşmış olduğum dosyanın VBA kısmına bakın .
__________________
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.

Forum Kuralları
Vedat Özer Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 22:30


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden