ERP Nedir? | Türkiye'nin ERP Forum Platformu Ana Sayfa
Forum Anasayfa Forum Anasayfa > ERP Genel > ERP ve Excel
  Aktif Konular Aktif Konular RSS - ListView'e alinan verilerde karekter sorunu
  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.


ListView'e alinan verilerde karekter sorunu

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

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: ListView'e alinan verilerde karekter sorunu
    Gönderim Zamanı: 03 Ocak 2011 Saat 09:25
Merhaba Arkadaslar,
 
ListView'e direk netsis'ten Cari bilgileri aliyorum.
Gelen verilerde karekter sorunu yok fakat arama bölümünden arama yaparken karekter sorunu yasiyorum.
 
Örnegin.
 
Listede Is bankasi var arama yaparken Is bankasi yazdigimda çikmiyor.
 
Kodlar asagida.
 
Ilgilize simdiden tesekkür ederim.
 
Sub veri_getir()
Dim SqlText As String
Dim conn, rs As Object
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
ListView1.ListItems.Clear
 With conn
    .Provider = "sqloledb"
    .CommandTimeout = 120
    .ConnectionString = "Data Source=.......;USER ID=.......;PASSWORD=.......;AUTO TRANSLATE=FALSE"
    .Open
    .DefaultDatabase = "........."
    End With
    SqlText = "SELECT *"
    SqlText = SqlText + " FROM TBLCASABIT where CARI_ISIM like '" & TextBox1.Text & "%';"
    rs.Open SqlText, conn, adOpenStatic, adLockReadOnly
    rs.MoveFirst
    Do While Not rs.EOF
        i = i + 1
        ListView1.ListItems.Add , , rs("CARI_KOD").Value
        ListView1.ListItems(i).SubItems(1) = rs("CARI_ISIM").Value
        rs.MoveNext
    Loop
    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
End Sub
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ı: 03 Ocak 2011 Saat 14:19
Arama bölümü neresi..
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
unalh Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 03 Ocak 2011 Saat 15:44
Form açilisinda verileri aliyorum sonrasinda TextBox1 ile arama yapiyorum verileri aldigim kod ile arama yaptigim kod ayni.
 
Bu kod ile arama yapiyorum
 
Private Sub TextBox1_Change()
Call veri_getir
End Sub
 
Sub veri_getir()
.....
SqlText = SqlText + " FROM TBLCASABIT where CARI_ISIM like '" & TextBox1.Text & "%';"
.......
End Sub
 
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ı: 03 Ocak 2011 Saat 22:31
Bu sorun Latin1 karakter setindeki Türkçe (GSIgsi) harflerinden kaynaklanir.
Çözümü için
Database'inde bir function dbo.TURKCE adinda (veya senin istedigin bir ad)

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

CREATE FUNCTION [dbo].[TURKCE](@A NVARCHAR(4000))
RETURNS NVARCHAR(4000) 
AS
BEGIN
  DECLARE @TMP NVARCHAR(4000)
  SET @TMP = REPLACE(@A , '~#G', N'Ð')
  SET @TMP = REPLACE(@TMP ,'~#S', N'Þ')
  SET @TMP = REPLACE(@TMP ,'~#I', N'Ý')
  SET @TMP = REPLACE(@TMP ,'~#i', N'ý')
  SET @TMP = REPLACE(@TMP ,'~#g', N'ð')
  SET @TMP = REPLACE(@TMP ,'~#s', N'þ')
    RETURN @TMP
END

Excel'de bir function esctrk adinda (ya da senin istedigin bir ad'da)

Function esctrk(x As String)
    Dim y As String
    y = Replace(x, "G", "~#G")
    y = Replace(y, "S", "~#S")
    y = Replace(y, "I", "~#I")
    y = Replace(y, "i", "~#i")
    y = Replace(y, "g", "~#g")
    y = Replace(y, "s", "~#s")
    esctrk = y
End Function

olusturduktan sonra text'in için

...CARI_ISIM like .dbo.TURKCE('" & esctrk(TextBox1.Text) & "%');"
seklinde yazmalisin
özet olarak

sql'de .dbo.TURKCE(deger)
excel'de esctrk(deger) ile karakterler dönüstürülerek sonuç alinir
kolay gelsin




Düzenleyen mbaykan - 03 Ocak 2011 Saat 22:56
Mehmet Baykan
Yukarı Dön
unalh Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 04 Ocak 2011 Saat 09:28
mbaykan cahilligimi mazur görün ama Database'inde function nasil olusturucam bunu ayrintili bir sekilde yazma sansiniz varmidir hata yapmamak için.
 
Birde bende kayitli üçtane firma var her firmanin kendi Database'ne mi bu  function olusturucaz.
 
Ilginize çok tesekkür ederim.
 
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ı: 05 Ocak 2011 Saat 10:05
SQL Server Management Studio'dan ilgili databese'ler için ayri ayri olusturulmasi gerekiyor.
SET ie baslayip END ile biten satirlar her database için ayri ayri SQLQuery penceresinden olusturulmali. Daha önce Management Studio kullanmadi iseniz Internet'ten kaynak (metin-Görsel) bulabilirsiniz

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

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 05 Ocak 2011 Saat 11:14
Kullanilan databse üzerine sag kilik yapip yeni SQLQuery olustur dedim ve kodu oraya yapistirdim kayit yap ve TURKCE ismi ile kayit yaptim.
Buraya kadar tamam sonrasinda yapmam gereken islem varmidir.
 
Yukarı Dön
unalh Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 05 Ocak 2011 Saat 11:18
SqlText = SqlText + " FROM TBLCASABIT where CARI_ISIM like .dbo.TURKCE('" & esctrk(TextBox1.Text) & "%');"
kodu bu sekli ile güncelledim.
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ı: 05 Ocak 2011 Saat 15:17
excel tablonuzda da esctrk isimli fonksiyonu olusturduysaniz. (VBA kullaniyorsaniz)
artik sorgularinizdaki IGS harfleri database'den dogru birseklide listview'inize gelecektir

ben VBA olarak düsündüm ama siz bunu Visual Basic kullanarak yaziyorsunuz sanirim
siz bu fonksiyonu programi yazdiginiz ortamda olusturacaksiniz.



Düzenleyen mbaykan - 05 Ocak 2011 Saat 15:33
Mehmet Baykan
Yukarı Dön
unalh Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 05 Ocak 2011 Saat 17:01
Dosya linki asagida bir bakma imkaniniz varmidir ?
 
 
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ı: 05 Ocak 2011 Saat 17:54
Bayagi yol kat edilmis sanirim Clap
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
unalh Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 06 Ocak 2011 Saat 11:20
S.a Arkadaslar,
 
Uzun ugraslar sonucunda bir çözüm buldum bu sekilde sikinti yasayan arkadaslar için uygulamayi ekte gönderiyorum.
 
umarim birilerinin isine yarar.
 
Hayirli isler.
 
 
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ı: 06 Ocak 2011 Saat 16:41
gözün aydin :)
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
unalh Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 08 Ekim 2009
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı unalh Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 06 Ocak 2011 Saat 17:02
gözün aydin :)  Exclamation
Yukarı Dön
AyGuMuS Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 29 Nisan 2007
Konum: Ankara
Durum: Aktif Değil
Puanlar: -5
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı AyGuMuS Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 17 Şubat 2011 Saat 15:18
Yeni bir Funtion yazmaniza gerek yok ki. isi SQL le çözecekseniz Netsisin dbo.TRK Functionu ayni isi görür....
 
Orjinalini yazan: mbaykan mbaykan Yazdı:

Bu sorun Latin1 karakter setindeki Türkçe (GSIgsi) harflerinden kaynaklanir.
Çözümü için
Database'inde bir function dbo.TURKCE adinda (veya senin istedigin bir ad)

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

CREATE FUNCTION [dbo].[TURKCE](@A NVARCHAR(4000))
RETURNS NVARCHAR(4000) 
AS
BEGIN
  DECLARE @TMP NVARCHAR(4000)
  SET @TMP = REPLACE(@A , '~#G', N'Ð')
  SET @TMP = REPLACE(@TMP ,'~#S', N'Þ')
  SET @TMP = REPLACE(@TMP ,'~#I', N'Ý')
  SET @TMP = REPLACE(@TMP ,'~#i', N'ý')
  SET @TMP = REPLACE(@TMP ,'~#g', N'ð')
  SET @TMP = REPLACE(@TMP ,'~#s', N'þ')
    RETURN @TMP
END

Excel'de bir function esctrk adinda (ya da senin istedigin bir ad'da)

Function esctrk(x As String)
    Dim y As String
    y = Replace(x, "G", "~#G")
    y = Replace(y, "S", "~#S")
    y = Replace(y, "I", "~#I")
    y = Replace(y, "i", "~#i")
    y = Replace(y, "g", "~#g")
    y = Replace(y, "s", "~#s")
    esctrk = y
End Function

olusturduktan sonra text'in için

...CARI_ISIM like .dbo.TURKCE('" & esctrk(TextBox1.Text) & "%');"
seklinde yazmalisin
özet olarak

sql'de .dbo.TURKCE(deger)
excel'de esctrk(deger) ile karakterler dönüstürülerek sonuç alinir
kolay gelsin


SA
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ı: 17 Şubat 2011 Saat 23:04
Excel'de I veya i ,S veya s, G veya g yazdiginizda esctrk fonksiyonu bu karakterleri direkt olarak  'Ð','Þ','Ý','ý','ð','þ' karakterlerine dönüstüremiyor. siz yapabiliyorsaniz çok iyi,
ben de karakter dönüsümünü ~#? ile dolayli dönüsüme tabi tuttum. bu dönüsüm excel'den SQL'e karakter gönderirken geçerli, SQL'den alirken AutoTranslate=False zaten istedigimnizi yapiyor
degil mi?
Mehmet Baykan
Yukarı Dön
nurtac Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 18 Şubat 2011
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı nurtac Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Mart 2011 Saat 17:00
peki Netsis'ten gelen bilgide;
S yerine ?
I yerine Y
G yerine ? olarak geliyorsa ne yapabiliriz?? Replace ile Y karakterini I ile degistiirince bu sefer de gerçek Y harfleri de I ile degisiyor.
 
kolay gelsin.
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,537 Saniyede Yüklendi.