Yardım Excel Adodb kütüphanesinde Türkçe karakter aktarma sorunu

mesudiye_052

Yeni Üye
Katılım
29 Eyl 2021
Mesajlar
6
En iyi yanıt
0
Puanları
1
Yaş
41
Konum
Çekmeköy/İstanbul
Ad Soyad
Fatih Yörük
Office Versiyon
Excel 2007
Merhabalar

Ado query sorguda başka bir excel dosyasından(misal BaskaExcel.xlsx) belli bir kritere göre veri çekerken Türkçe karakter sorunu oluşuyor. ve eksik veri çekiliyor.

Örnek: BaskaExcel.xlsx çalışma kitabında bölgeler sütununda istanbul olanları ado query sorgusu ile kendi Excelime veri çekerken bu kod ile
sorgu = "select * from [ham$] where [Bölge]= 'istanbul '"
baş harfi büyük harf ile başlayan İstanbul olan bölgeleri getirmiyor sadece küçük i harfi ile başlayan istanbul olanları getiriyor

Sanırsam bu gibi durumlar başka harflerde de mevcut g gibi
ben tüm istanbul olanları büyük küçük harf ayrımı olmadan nasıl çekebilirim ado query ile
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,334
En iyi yanıt
11
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Versiyon
Office 365 TR+EN
Örnek dosyayı ekleyiniz.
Çok kısacık bir kodla da çözülür, daha fazla kod yazılması gereken bir durum da olabilir, dosyanızı iletin bi' bakalım.
 

mesudiye_052

Yeni Üye
Katılım
29 Eyl 2021
Mesajlar
6
En iyi yanıt
0
Puanları
1
Yaş
41
Konum
Çekmeköy/İstanbul
Ad Soyad
Fatih Yörük
Office Versiyon
Excel 2007
Merhabalar
Dosyalar ektedir
 

Ekli dosyalar

  • ham veri.xlsx
    11.7 KB · Görüntüleme: 4
  • where.xlsm
    21.6 KB · Görüntüleme: 4

mesudiye_052

Yeni Üye
Katılım
29 Eyl 2021
Mesajlar
6
En iyi yanıt
0
Puanları
1
Yaş
41
Konum
Çekmeköy/İstanbul
Ad Soyad
Fatih Yörük
Office Versiyon
Excel 2007
Merhabalar
Aşağıdaki kod ile büyük büyük harf duyarsız çalışıyor Fakat i ve İ harfi barındıran kelimeler hariç
bunu da çözersem olacak

sorgu = "SELECT * FROM [data$] where InStr(1,[Bölge],'ŞaNlıuRFa')>0 order by [Bölge]"
 

mesudiye_052

Yeni Üye
Katılım
29 Eyl 2021
Mesajlar
6
En iyi yanıt
0
Puanları
1
Yaş
41
Konum
Çekmeköy/İstanbul
Ad Soyad
Fatih Yörük
Office Versiyon
Excel 2007
Merhabalar
Çözdüm sanırsam

sorgu = "SELECT * FROM [data$] where Lcase([Bölge]) like Lcase('[iİ]ZM[iİ]r') order by [Bölge]"

Fakat L1 hücresine örnek izmirli yazılınca nasıl
sorgu değişkenine
sorgu = "SELECT * FROM [data$] where Lcase([Bölge]) like Lcase('[iİ]zm[iİ]rl[iİ]') order by [Bölge]"
şeklinde yansıtabiliriz.
 
Son düzenleme:

mesudiye_052

Yeni Üye
Katılım
29 Eyl 2021
Mesajlar
6
En iyi yanıt
0
Puanları
1
Yaş
41
Konum
Çekmeköy/İstanbul
Ad Soyad
Fatih Yörük
Office Versiyon
Excel 2007
Merhabalar

Çözdüm küçük büyük harf duyarsız çalışıyor

Kod:
Option Explicit
Private sorgu, yol As String
Private ws As Worksheet
Private Sub CommandButton1_Click()
Dim i As Long
Dim aranan As String

Set ws = Sayfa1: ws.Range("A1:G1000").Clear

For i = 1 To Len(ws.Range("L2"))
    If Mid(LCase(ws.Range("L2")), i, 1) <> "i" And Mid(LCase(ws.Range("L2")), i, 1) <> "İ" Then
        aranan = aranan + Mid(LCase(CStr(ws.Range("L2").Value)), i, 1)
    Else
        aranan = aranan + "[iİ]"
    End If

Next i

sorgu = "SELECT * FROM [data$] where Lcase([Bölge]) like '" & LCase(aranan) & "' order by [Bölge]"

queryCalistir

End Sub

Kod:
Sub queryCalistir()
Dim baglanti As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim baslik As Object
Dim i, j, sayac, lr As Long

Dim yol As String
Dim arr() As Variant
Dim cll As Range

yol = "C:\excel\ham veri1.xlsx"



baglanti.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
yol & ";Extended Properties=""Excel 12.0;HDR=YES"""


rs.Open sorgu, baglanti, adOpenKeyset, adLockPessimistic


i = 1
For Each baslik In rs.Fields
    Cells(1, i) = baslik.Name
    i = i + 1
Next baslik

ws.Range("A2").CopyFromRecordset rs

rs.Close
baglanti.Close
Set ws = Nothing
Set rs = Nothing
Set baglanti = Nothing
Erase arr

End Sub
 
Moderatör tarafında düzenlendi:

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,334
En iyi yanıt
11
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Versiyon
Office 365 TR+EN
Sadece i İ arasındaki durumu mu çözünüz yoksa tüm büyük/küçük harf duyarlılığına mı çözüm buldunuz? :unsure:
 

mesudiye_052

Yeni Üye
Katılım
29 Eyl 2021
Mesajlar
6
En iyi yanıt
0
Puanları
1
Yaş
41
Konum
Çekmeköy/İstanbul
Ad Soyad
Fatih Yörük
Office Versiyon
Excel 2007
Merhabalar
Tüm kelimelerde büyük/küçük harf duyarsızlığına çözüm oldu yalnızca i ve İ harflerinde sadece sıkıntı çıkmıştı i ve İ harfi olanlara [iİ] yaparak ona da çözüm sağlanmış oldu
 
Üst Alt