ERP Nedir? | Türkiye'nin ERP Forum Platformu Ana Sayfa
Forum Anasayfa Forum Anasayfa > ERP Genel > ERP ve Excel
  Aktif Konular Aktif Konular RSS - sorguda tarihi manuel girmek...
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

ERP Nedir? Enterprise Resource Planning nasıl çalışır? İş süreçleri ile ilgili tüm soru ve cevapları ERPNe.org'da.

Ülkemizde hızla gelişmekte olan ERP yazılım sektörümüzün, Yerli ve Yabancı ERP işlemlerinin tanıtımı ve kullanıcılarının buluşma noktası olması hedefiyle kurulan sitemize hoş geldiniz.

Ülkemizdeki Ne.org konseptinde bir ilk olarak yayın hayatına başlayan ERPNe.org, Kurumsal Kaynak Planlaması yazılımlarını kullananların bilgi kaynağı/Portal olmak amacı ile kurulmuştur.

Genellikle yurt dışında büyük üreticiler tarafından geliştirilen SQL, Delphi, ASP, CSharp gibi teknolojilerin anlatıldığı sitelerin kullandıkları (WhatisSQL, WhatisASP) (Ülkemizde Netsis Nedir, Mikro Nedir, SAP Nedir yada Logo Nedir gibi kullanıcı sorularına) Ne ve nedir konseptinde yeni bir açılım olmasını da hedefleyen ERPNe.ORG' un, ülkemizin uluslararası ERP sektörü içinde hak ettiği yeri almasında ve ERP ürünlerini kullananların bir araya gelerek Yerli ERP'nin gelişmesine katkı sağlayacakları önemli bir kilometre taşı olacağı düşüncesindeyiz.


sorguda tarihi manuel girmek...

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
xenium Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 28 Ağustos 2014
Konum: ankara
Durum: Aktif Değil
Puanlar: 79
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı xenium Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: sorguda tarihi manuel girmek...
    Gönderim Zamanı: 17 Eylül 2014 Saat 22:59
Selam arkada?lar,
yapmy? oldu?um sql sorgularyny excel'de dy? veri al ile excel'e atyyorum ama
tarih araly?yny   ?irketteki arkada?larymyn  kendilerinin girerek raporu almalaryny istiyorum.

Bunu nasyl yapaca?yny çok ara?tyrdym ama somuca varamadym; makro bilgim olmady?y için yapamyyorum ve yapty?ym ara?tyrmalarda da pek sonuca varamadym maalesef.
 Örne?in
 A1 hücresi:01.01.2014
A2 hucresi: 01.07.2014
ve SORGULA ?eklinde bir buttona basylarak raporu alabilmem için basit bir excell sayfasy payla?manyzy rica ediyorum..

SQL SERVER: XENIUM
kullanycy: sa
?ifre:s
DATA: NETSIS_2014

örnek raporum ?öyle:

SELECT
STHAR_TARIH,
 

STOK_KODU,
(SELECT STOK_ADI FROM TBLSTSABIT WHERE TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU) AS 'STOK ADI',
IRSALIYE_NO,STHAR_SIPNUM,
STHAR_BGTIP AS 'HAR.TYP',
CASE 
WHEN STHAR_BGTIP='I' THEN 'YRSALYYEDEN'
WHEN STHAR_BGTIP='F' THEN 'FATURADAN'

ELSE '0' END AS 'HAREKET NERDEN',



STHAR_GCKOD,STHAR_GCMIK AS MIKTAR,


 ISNULL(STHAR_NF*STHAR_GCMIK,0) AS 'NET ÇIKI? TUTAR',(SELECT OLCU_BR1 FROM TBLSTSABIT WHERE TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU) AS 'Br',
 (SELECT DEPO_KODU FROM TBLSTSABIT WHERE TBLSTSABIT.STOK_KODU=TBLSTHAR.STOK_KODU) AS 'DEPO KODU',





DEPO_KODU,
FISNO,STHAR_CARIKOD AS 'CARY', 

STHAR_KOD1,
STHAR_KOD2,
KOSULKODU,
STHAR_HTUR,
CASE 
WHEN STHAR_HTUR='A' THEN 'DEVYR'
WHEN STHAR_HTUR='B' THEN 'DEPOLAR ARASI TRF.'
WHEN STHAR_HTUR='C' THEN 'ÜRETYM'
WHEN STHAR_HTUR='D' THEN 'MUHTELYF'
WHEN STHAR_HTUR='E' THEN 'MYKTARSIZ MALYYET'
WHEN STHAR_HTUR='F' THEN 'KONSYNYE'
WHEN STHAR_HTUR='H' THEN 'YRSALYYE TYPLY HAR.'
WHEN STHAR_HTUR='I' THEN 'KAPALI FATURA'
WHEN STHAR_HTUR='J' THEN 'AÇIK FATURA'

ELSE '0' END AS 'HAREKET',


STHAR_ODEGUN,VADE_TARIHI,
STHAR_FTIRSIP AS 'FAT.TIP',
CASE 
WHEN STHAR_FTIRSIP='1' THEN 'SATI? FATURASI'
WHEN STHAR_FTIRSIP='2' THEN 'ALI? FATURASI'
WHEN STHAR_FTIRSIP='3' THEN 'SATI? YRSALYYESY'
WHEN STHAR_FTIRSIP='4' THEN 'ALI? YRSALYYESY'
WHEN STHAR_FTIRSIP='5' THEN 'SATI? FATURASI'
WHEN STHAR_FTIRSIP='6' THEN 'MÜ?TERY SYPARY?Y'
WHEN STHAR_FTIRSIP='7' THEN 'SATICI SYPARY?Y'
WHEN STHAR_FTIRSIP='8' THEN 'DEPO ARASI TRF. GYRY?'
WHEN STHAR_FTIRSIP='9' THEN 'DEPO ARASI TRF. ÇIKI?'

ELSE '0' END AS 'FAT TYPY'

 FROM
TBLSTHAR
WHERE FISNO IS NOT NULL 
AND STHAR_GCKOD='C' AND STOK_KODU LIKE 'M-02%' 
AND STHAR_TARIH BETWEEN '2014.01.01' AND '2014.07.01'
Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 18 Eylül 2014 Saat 09:09
Mehmet Baykan
Yukarı Dön
xenium Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 28 Ağustos 2014
Konum: ankara
Durum: Aktif Değil
Puanlar: 79
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı xenium Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 18 Eylül 2014 Saat 15:53
sayyn baykan,
benim için u?ra?ty?ynyz için te?ekkür ederim.
Dosyanyzy indirdim ama SQL ba?lanty hatasy veriyor; halbuki yanly? bir?ey girdi?imi de dü?ünmüyorum.
Daha önce sizin irsaliyeyap.xls dosyanyzy indirmi? ve ba?lanabilmi?tim ama buna bir türlü ba?lanamadaym.
?u bilgileri yazdym çaly?manyza, sonra kaydedip çyktym ama yine olmady.

SERVER TUNC-MEC\SQLYSFGYK
SIRKET TEST2014
KULLANICI sa
SIFRE papatya

Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 18 Eylül 2014 Saat 17:43
SQL instance'ynyz yazdy?ynyz gibi olmayabilir
Excel'de dy? veri Al ile yapty?ynyz ba?lantyda Data Source olarak ne yazyyor ise onu yazmalysynyz,
makinanyzda tek SQL Server kurulu ve Default instance ise Makinanyn adyny yazmalysynyz
size gönderdi?im örnek'te makinamda SQLEXPRESS isimli bir instance kurulu oldu?u için
.\SQLEXPRESS ?eklinde yazdym
2. bir yöntem de isim yerine IP yazmak
192.168.0.1 instance varsa
192.168.0.1\<INSTANCE> ?eklinde

Güncellenmi? hali


Düzenleyen mbaykan - 18 Eylül 2014 Saat 18:02
Mehmet Baykan
Yukarı Dön
xenium Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 28 Ağustos 2014
Konum: ankara
Durum: Aktif Değil
Puanlar: 79
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı xenium Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 18 Eylül 2014 Saat 18:01
dy? veri al yaptyktan sonra ba?lanty özelliklerinde DATA SOURCE kysmynda
TUNC-MEC\SQLYSFGYK yazyyor ve sql!i localde kendi notebook'uma kurdum.

Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 18 Eylül 2014 Saat 18:02
linki güncelledim (dosyayy da)
Mehmet Baykan
Yukarı Dön
xenium Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 28 Ağustos 2014
Konum: ankara
Durum: Aktif Değil
Puanlar: 79
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı xenium Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Eylül 2014 Saat 08:24
Dosyayy ?imdi açtym ve çaly?yyor.
Ellerinize ve eme?inize sa?lyk sayyn mbaykan. Filtre de ekleyerek jest yapmy?synyz :)

Makronuzun içine baktym ve çözmeye çaly?tym ki,
di?er yapmy? oldu?um raporlara da bu ?ekilde tarih kystasy verebileyim ve kullanycylar kullansyn.
Ben, makro içinde, bir bölümde SQl sorgusunu koyup bu ?ekilde sizin excel dosyasynyn farkly kopyalaryny alaca?ymy dü?ünmü?tüm ama o kadar kolay de?ilmi?.
Çünkü makro içinde sorgunun oldu?u yerde,


"SELECT STHAR_TARIH,A.STOK_KODU,STOK_ADI,IRSALIYE_NO,STHAR_SIPNUM,STHAR_BGTIP AS 'HAR.TYP'," & Chr(13) & "" & Chr(10) & "CASE WHEN STHAR_BGTIP='" _
        , _
        "I' THEN 'YRSALYYEDEN' WHEN STHAR_BGTIP='F' THEN 'FATURADAN' ELSE '0' END AS 'HAREKET NERDEN'," & Chr(13) & "" & Chr(10) & "STHAR_GCKOD,STHAR_GC" _
        


?eklinde ifadeler var ve bu ifadeleri görünce, sql sorgusunu rahatlykla koyamayaca?ymy anladym ve moralim bozuldu :(
 
Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Eylül 2014 Saat 09:07
sorgunun bu ?ekilde görünmesi size korkunç gelmi? olabilir, ama de?il Clown

VBA'da
Dim SQLtxt
satyry ile sorgunuzu yazaca?ynyz bir de?i?keni yarattyktan sonra bunu a?a?ydaki gibi doldururuz

SQLtxt=""
SQLtxt=SQLtxt & "SELECT ...                 FROM ... " 
SQLtxt=SQLtxt & "WHERE ..... "
ile olu?turun (not bu i?lem SQL tarafynda yapylyrsa Dinamik SQL diye adlandyrylyr
sonunda EXECUTE (SQLtxt) komutu ile SQL'de çaly?tyrylyp sonucu alynyr.)
biz VBA'da sorgumuzu bir string olarak olu?turup bunu komut olarak server'a
gönderiyoruz bu komutu olu?tururken parçalaryna istedi?imiz gibi hakim olma
imkanyny verir. 
Örne?in SELECT kelimesini takip eden Sütunlary kullanycydan da isteyebiliriz
bunun gibi WHERE sözcü?ünü takip eden kysyt/filtreleri de keza sorabiliriz
yukarydaki SQLtxt ifadesini Excel Makro kaydy Array olarak kaydeder yzaylmy? SQL ifadesindeki Satyr atlamalaryny Chr(13) + chr(10) kodlary ile bu ifadeye ekler (eklenmesi sorgunun okunaklyly?yny arttyryr
olasa da komutumuzun çaly?masyna etki etmez)
Sorgu ?fadesine ba?ka bir örnek a?a?yda
SQLtxt=""
SQLtxt="SELECT ...      FROM ..." _
 & "WHERE ...                    " _
 & "......          "
bölünen satyrlar ?eklinde olabilir (altçizgi) den önce 1 karakter bo?luk zorunludur!!!



Düzenleyen mbaykan - 19 Eylül 2014 Saat 09:09
Mehmet Baykan
Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Eylül 2014 Saat 09:11
sorgunun Excelde bir hücreden alynmasy (bütünü ile) problemdir.
nedeni 255 karakter kysyty sanyrym (emin de?ilim)
alternatif olarak bir Textbox nesnesinin içeri?inden bunu almak olabilir belki
???
Mehmet Baykan
Yukarı Dön
xenium Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 28 Ağustos 2014
Konum: ankara
Durum: Aktif Değil
Puanlar: 79
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı xenium Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Eylül 2014 Saat 11:26
Do?ru mu anladym sayyn mbaykan?
sorguda geçen ve her biri aslynda bir sütun olarak rapora yansyyacak alanlary, tümünü olmasa da, kysmen karakter araly?yny vererek bölüp, excel'de daha rahat okunabilir olmasyny sa?lyyorsunuz veya tek hücreye
raporda geçen tüm sutunlar sy?mayaca?y için bu tip bir ?ey yapyyorsunuz.

Peki dy? veri al yapty?ymyzda ve daha sonra ba?lanty özelliklerinden SQL sorgumuza bakty?ymyzda neden
Chr(13) + chr(10)  gibi ifadeleri görmüyoruz? Makro dy?ynda, ba?ka bir teknik kullanyyor galiba excel SQL sorgusunu içeri alyrken!..

Peki sorgunun bazy bölümlerine manuel olarak " & Chr(13) & " gibi ifadeler koyup bu parçalamayy yapamaz myyyz?
Mesela makro içine girip ?u ?ekilde yazsam olmaz my?

SELECT
STHAR_TARIH," & Chr(13) & ", STOK_ADI," & Chr(13) & ",FIS_NO," & Chr(13) & "


gibi istedi?im ?ekilde herhangi bir sql sorgusunu sütunlaryna bölemez miyim?

E?er olursa, sizin excel dosyanyzyn makrosuna girecem ve istedi?im sorguyu koyup sonra farkly kaydedecem.
Çünkü tüm yapty?ym raporlarymda, hep kullanycynyn tarihi kendi girmesini isteyece?im. Olursa harika olur.
Aksi takdirde, bir ?ekilde ö?renmem lazym bu parçalama i?ini?
Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Eylül 2014 Saat 12:21
Chr(13) + chr(10) veya chr(13) & chr(10) CR + LF (Carriage Return ve Line Feed) Satyr sonu ve Satyr atla
bunlary Dy? veri Al'da SQL ifadenizde okurken farkedersiniz (bunlar bu pencerede görünmezler)
SQL komut satyrynyzy bölerler fakat bu bölünme bütünü (tüm komutu) etkilemez. Tersinden de
biz komutumuzu hiç CR+LF ( Chr(13) ve Chr(10) ) kullanmadan da yazabiliriz ve komut SQL'e
bölünerek de gitse bölünmeden de gitse SONUÇ döner.

CR + LF komutun okunaklyly?yny sa?lar

2. Atty?ym mesajda Dinamik SQL'e ili?kin söylediklerimi örnekle (excel dosyasy) açyklamak faydaly olacak
kasdetti?imi daha iyi anlayacaksynyz tahmin ederim.
Excelde 1 sayfada sunlar var (A sütunu kolon adlary, B sütunu ise Raporda seçili olup olmady?y)

Sütun_Ady  Seçim
STOK_KODU     x
STOK_ADI      x
OLCU_BR1
ALIS_FIAT1      x
ALIS_FIAT2
SATIS_FIAT1    x
SATIS_FIAT2
GRUP_KODU    x
KOD_1        
KOD_2            x
:
?eklinde VBA'da ki kodumda
Dim SQLtxt
k=2
While cells(k,1)<>""
   if cells(k,2).value <> "" then
      SQLtxt=SQLtxt & cells(k,1).value & ", "
   EndIf

k=k+1
Wend
Sqltxt= "SELECT " & Left(SQLtxt,Len(SQLtxt)-2) & chr(13) + chr(10)   ' CR + LF eklemesekte olur
'yukaryda hangi kolonlary seçtiysek onlary SELECT'in arkasyna ekledik bitmedi ...
SQLtxt=SQLtxt & "FROM TBLSTSABIT " & chr(13) +chr(10)
SQLtxt=SQLtxt & "WHERE ....... (burayyda seçim de oldu?u gibi filtreler için de excel'den bir yerden alynabilir)"

komut dizemizi yaptyktan sonra
Debug.Print SQLtxt ile VBasic ekranyna çaly?tytdy?ymyzda komutun düzgün olu?up olu?mady?yny kontrol ederiz
...devamy ba?ka bir mesajda veya tablo da
Mehmet Baykan
Yukarı Dön
 Yanıt Yaz Yanıt Yaz
  Konu Paylaş   

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 11.10
Copyright ©2001-2017 Web Wiz Ltd.

Bu Sayfa 0,820 Saniyede Yüklendi.