ERP Nedir? | Türkiye'nin ERP Forum Platformu Ana Sayfa
Forum Anasayfa Forum Anasayfa > ERP Genel > ERP ve Excel
  Aktif Konular Aktif Konular RSS - Sql de  gariplikler...
  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.


Sql de gariplikler...

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

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Sql de gariplikler...
    Gönderim Zamanı: 15 Temmuz 2008 Saat 14:37
Excel VBA'da asagidaki sql koduyla cari hareket listesi aliyorum.
 
Sql = "SELECT    * FROM TBLCAHAR "
Sql = Sql + " WHERE CARI_KOD='" + (Sayfa12.Cells(2, 1)) + "'"
Sql = Sql + " ORDER BY TARIH ASC   "
 
Bazi cari kodlari islemiyor. Bazilarinda güzel bir sekilde çalisiyor. Acaba nereye dikkat etmeliyim?


Düzenleyen hbulus - 15 Temmuz 2008 Saat 14:42
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ı: 15 Temmuz 2008 Saat 15:54
Sayfa12.Cells(2,1) ifadesini Cstr(Sayfa12.Cells(2,1)) seklinde denermisin?
Mehmet Baykan
Yukarı Dön
Conari Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 04 Mayıs 2007
Konum: YSTANBUL
Durum: Aktif Değil
Puanlar: 3513
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Conari Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 15:57
Sql = Sql + " WHERE CARI_KOD='" &Sayfa12.Cells(2, 1)&"'"
Çalistirmasi lazim.
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 16:23
Orjinalini yazan: mbaykan mbaykan Yazdı:

Sayfa12.Cells(2,1) ifadesini Cstr(Sayfa12.Cells(2,1)) seklinde denermisin?
 
Seklinde sonuç degismedi
 
 
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 16:25
Orjinalini yazan: Conari Conari Yazdı:

Sql = Sql + " WHERE CARI_KOD='" &Sayfa12.Cells(2, 1)&"'"
Çalistirmasi lazim.
 
Bu sekilde denedigimde ise cari kod kisiti verilmemis gibi tüm carileri döküyor. Arkadaslardan yeni fikirler bekliyorum.  
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ı: 15 Temmuz 2008 Saat 16:40
bazi carilerde dogru verip bazilarinda vermiyorsa, verdigi cari kodla, vermedigi cari kodu yazar misiniz?. Cari kodunuzda I,S ve G biçiminde türkçe harf varsa Netsis'ten ek bir Fonksiyonla bu harflerin dogru bir sekilde sorgulanasini saglayabiliyorsunuz..
Mehmet Baykan
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 16:45

Örnek olarak;

"GÜÇLÜ MOB." diye bir cari kodu deger döndürürken,
"MARIFET" seklindeki cari kod, hareketi olmasina ragmen deger döndürmüyor. Yani sadece Türkçe karakterlerle ilgili degil sanirim olay.
 
Bir de bu ek fonksiyon dediginiz nedir?


Düzenleyen hbulus - 15 Temmuz 2008 Saat 16:46
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 16:51
Orjinalini yazan: hbulus hbulus Yazdı:

Orjinalini yazan: Conari Conari Yazdı:

Sql = Sql + " WHERE CARI_KOD='" &Sayfa12.Cells(2, 1)&"'"
Çalistirmasi lazim.
 
Bu sekilde denedigimde ise cari kod kisiti verilmemis gibi tüm carileri döküyor. Arkadaslardan yeni fikirler bekliyorum.  
 
Bu arada Conari arkadasimdan özür dilerim. ben sql olan degisken ismini degistirmistim. Sizin yazdiginiz cevabi direk yapistirinca where blogunu görmedigi için arkadas tümünü listeliyormus.Big%20smile Sonradan farkettim . Düzelttigimde benim kodla sizinki ayni sonucu veriyor. Yani tüm cari kodlarda çalismadi.Confused
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ı: 15 Temmuz 2008 Saat 16:59
probleminiz çözüldü galiba benim Cstr(Sayfa12.Cells(2,1)) yazilisi da ayni sonucu veriyor mu? (vermesi gerekir)
Mehmet Baykan
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 17:03

problem maalesef çözülmedi. Cstr(Sayfa12.Cells(2,1)) ifadesi de ayni sekilde davraniyor.

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ı: 15 Temmuz 2008 Saat 17:41
2 Adet fonksiyon veriyorum
1.si VBA için Excel'de
2.si SQL'de her database içinde olusturulacak ondan sonra senin SQL stiring'in su sekilde olmali
 
... CARI_KOD = .dbo.W2NTRK('" + esctrk(Sayfa12.Cells(2,1)) +"') ORDER BY ..."
VBA için
Public Function esctrk(gstr)
    Dim geri As String
    geri = gstr
    geri = Replace(geri, "G", "~G")
    geri = Replace(geri, "S", "~S")
    geri = Replace(geri, "I", "~I")
    geri = Replace(geri, "g", "~g")
    geri = Replace(geri, "s", "~s")
    geri = Replace(geri, "i", "~i")
    esctrk = geri
End Function
SQL için

CREATE FUNCTION [dbo].[W2NTRK](@A NVARCHAR(4000))

RETURNS NVARCHAR(4000)

AS

BEGIN

DECLARE @TMP NVARCHAR(4000)

SET @TMP = REPLACE(@A , N'~G', N'')--

SET @TMP = REPLACE(@TMP , N'~S', N'')--

SET @TMP = REPLACE(@TMP , N'~I', N'')--

SET @TMP = REPLACE(@TMP , N'~g', N'')--

SET @TMP = REPLACE(@TMP , N'~s', N'')--

SET @TMP = REPLACE(@TMP , N'~i', N'')--

RETURN @TMP

END

kolay gelsin
Mehmet Baykan
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 17:47

Asagidaki gibi bir hata verdi;

"Run-time error....
cannot find either column '''' or the user-defined function or aggregate "dbo.W2NTRK", or the name is ambiguous."
 
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ı: 15 Temmuz 2008 Saat 18:10
Aldiginiz hatayi
CREATE FUNCTION ile baslayan satirlari Query Analyzer'da çalistirdiniz ve W2NTRK fonksiyonunu olusturtunuz degil mi?
Bu fonksiyon Netsis'in TRK fonksiyonuna benzer. çalistiginiz database'de olusturulmalidir.
VBA'da kullanirken
... .dbo.W2NTRK('"+esctrk(<metin>)+"') ...
mavi renkli parantezlerin önünde ve arkasinda (açarken/kapatirken) tektirnak (')
-parantez isareti yok-
Mehmet Baykan
Yukarı Dön
SERHAT Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 10 Nisan 2008
Konum: İstanbul
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı SERHAT Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 19:01

Merhaba;

vba içinde ekrandan alinan deger için aramada problem yasiyorum.
TBLCASABIT.CARI_ISIM Like '" & Trim(txtad) & "%" & "' " için örnek verecek isek
mesela 'SERIF%' ile baslayan için getirmemektedir latin'den dolayi. S = Þ ,I=Ý olmasi gerekmekte, function için vba editürü içinde latin harfini kabül etmediginden replace yapamamaktayim. Bu konu da yardimci olabilirmisiniz.Tesekkürler.
 
Serhat ÜLKER, www.eston.com

Gömleğin ilk düğmesi yanlış iliklenince diğerleri de yanlış gider.
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 15 Temmuz 2008 Saat 19:01

Sql server'da dediginiz islemi yapmamistim. Simdi uyariniz üzerine yaptim. Exceldeki hata gerçektende kalkti. Ama sonuçlar yine ayni. Ben bir sey anlamadim bu isten. excel de denedigim sonuç vermeyen cari kodlari Netsis üzerinde deneyerek bakiyorum gerçekten hareket yok mu diye ama nafile. Where blogunu kaldirdigim zaman tüm hareketleri döküyor, o cari kodlari burada problemsiz (dogal olarak) döküyor.

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

Kayıt Tarihi: 04 Mayıs 2007
Konum: YSTANBUL
Durum: Aktif Değil
Puanlar: 3513
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Conari Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 16 Temmuz 2008 Saat 08:39
Profellerdan olusturdugunuz ve çekilen sql cümlesine bakin where den sonrasi nasil gidiyor?
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 16 Temmuz 2008 Saat 10:02
Orjinalini yazan: mbaykan mbaykan Yazdı:

 
Public Function esctrk(gstr)
    Dim geri As String
    geri = gstr
    geri = Replace(geri, "G", "~G")
    geri = Replace(geri, "S", "~S")
    geri = Replace(geri, "I", "~I")
    geri = Replace(geri, "g", "~g")
    geri = Replace(geri, "s", "~s")
    geri = Replace(geri, "i", "~i")
    esctrk = geri
End Function

Ilginç bir durum. Bunu bilmiyordum. Sn. mbaykan'in gönderdigi fonksiyonda

geri = Replace(geri, "I", "~I" satirindaki I harfini "~I" yerine "Ý" ile degistirmek istedim ama bir türlü olmuyor. Yani VBA da Word'deki gibi hem Türkçe hem de diger dilleri yanyana kullanamiyorum. Yapistirdigim zaman " ? " isareti çikiyor. Halbuki bunu becerirsek olay düzelecek.
 
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ı: 16 Temmuz 2008 Saat 10:23
VBA'dan türlçe karakterseri halledebilmenin yolu ~ (tilda) # yada benzeri bir özel karakteri isaretsiz (GUIiSOC) harflere ekleyerek bunu SQL'e göndermek, SQL'de de W2NTRK fonksiyonu yardimiyla bunlari istediginiz ASCII koda (I için < ="Content-" content="text/; charset=utf-8">< name="ProgId" content="Word.">< name="Generator" content="Microsoft Word 12">< name="Originator" content="Microsoft Word 12"><> Ý) gibi dönüstürmemiz gerekiyor. (Simge Bilgiislemden Tarik arkadasimizin buldugu ve bana önerdigi çözüm bu.)

Mehmet Baykan
Yukarı Dön
hbulus Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 26 Aralık 2007
Durum: Aktif Değil
Puanlar: 15
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı hbulus Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 16 Temmuz 2008 Saat 12:29
Sn. Mbaykan sorunu sizin fonksiyonla oynayarak su sekilde çözdüm;
 
Public Function esctrk(gstr)
    Dim geri As String
    geri = gstr
    geri = Replace(geri, "G", Sayfa12.Cells(1, 3))
    geri = Replace(geri, "S", Sayfa12.Cells(1, 1))
    geri = Replace(geri, "I", Sayfa12.Cells(1, 2))
    esctrk = geri
End Function
 
1., 2. ve 3. hücrelere Þ, Ý,  Ð harflerini yerlestirdim ve sizin fonksiyonda replace islemine bu hücreleri soktum.  Sonuç harika oldu. Gariptir Ö, Ç ve Ü harflerinde sorun yok sadece I, G ve S harflerinde bu gerekiyor. Ilginize çok tesekkür ederim.
Kolay gelsin.
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ı: 16 Temmuz 2008 Saat 12:38
excel'deki hücrelere G,S ve I'nin çevrimini hücrelere koymak VBasic açisindan tasinabilirlik zorlugu çikartir. Bu fonksiyonu kullandiginiz her Excel tablosunda Sheet12 isimli bir sayfayi bulundurmak gerekir.

netsisnedir forum'unda SQL için yazdigim Function bir garip görünüyor, onu düzeltiyorum. Baska arkadaslarin isine yarar umarim.

CREATE    FUNCTION [dbo].[W2NTRK](@A NVARCHAR(4000))
RETURNS NVARCHAR(4000) 
AS
BEGIN
  DECLARE @TMP NVARCHAR(4000)
  SET @TMP = REPLACE(@A , N'~G', N'Ð')  --G (SQL'de yumusak G görüntüsü
  SET @TMP = REPLACE(@TMP , N'~S', N'Þ')  --S (SQL'de S görüntüsü
  SET @TMP = REPLACE(@TMP , N'~I', N'Ý')  --I (SQL'de I harfi görüntüsü
  SET @TMP = REPLACE(@TMP , N'~g', N'ð')  --g
  SET @TMP = REPLACE(@TMP , N'~s', N'þ')  --s
  SET @TMP = REPLACE(@TMP , N'~i', N'ý')  --i
  RETURN @TMP
END

Mehmet Baykan
Yukarı Dön
 Yanıt Yaz Yanıt Yaz Sayfa  12>
  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,477 Saniyede Yüklendi.