Ado SQL sorgusunda split fonksiyonu kullanımı

Katılım
29 Ocak 2024
Mesajlar
100
Excel Vers. ve Dili
Office 2016
Merhablar,

Aşağıdaki sorduda,
split fonksiyonu kullanımını nasıl düzenleyebiliriz?

yardımlarınız için şimdiden teşekkür ederim.

iyi çalışmalar.

Kod:
Set Con = VBA.CreateObject("Adodb.Connection")

yol = ThisWorkbook.FullName

Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & ";extended properties=""Excel 12.0;hdr=No"""

sorgu = "Select F1, Split([F3], '_')(0)  From [Panel$J2:AF] "
 
Katılım
2 Temmuz 2014
Mesajlar
160
Excel Vers. ve Dili
2021 Türkçe, 64bit
Sadece ilk eleman mi alınacak?
Eğer öyleyse split e gerek yok ınstr fonksiyonu ve len yeterli dir
 
Katılım
2 Temmuz 2014
Mesajlar
160
Excel Vers. ve Dili
2021 Türkçe, 64bit
Bildiğim kadarıyla exceldeki sorgularda spliti doğrudan kullanamıyoruz
Önce tüm veriyi alıp sonra parçalayabilirsiniz
Tabi yanılıyor da olabilirim.
 
Katılım
15 Mart 2005
Mesajlar
380
Excel Vers. ve Dili
Microsoft 365 En 64 Bit
Altın Üyelik Bitiş Tarihi
20-03-2024
Merhaba,

Deneyiniz.

Kod:
sorgu = "Select F1, Mid(F3, Instr(F3, ' ') + 1, " & _
        "Instr(Instr(F3, ' ') + 1, F3, ' ') - Instr(F3, ' ') - 1) As [F3 text] " & _
        "From [Panel$J2:AF] "
 
Katılım
29 Ocak 2024
Mesajlar
100
Excel Vers. ve Dili
Office 2016
Merhaba,

Deneyiniz.

Kod:
sorgu = "Select F1, Mid(F3, Instr(F3, ' ') + 1, " & _
        "Instr(Instr(F3, ' ') + 1, F3, ' ') - Instr(F3, ' ') - 1) As [F3 text] " & _
        "From [Panel$J2:AF] "
Teşekkür ederim Hocam
1. elamanın alımında gayet güzel çalışıyor.
Yalnız ilk elaman değil, bunun yanında 2. elaman da alınacağı zaman mümkün olabilir mi?
iyi akşamlar.
 
Katılım
2 Temmuz 2014
Mesajlar
160
Excel Vers. ve Dili
2021 Türkçe, 64bit
Standart olarak sadece 2 eleman varsa o halledilebilir ama değişkende bazen 1 bazen 10 eleman olabiliyorsa dediğim gibi veri alındıktan sonra bölünmesi daha uygun olur
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Aşağıdaki gibi yazarsanız olacaktır.

Kod:
sorgu = "Select F1, '" & Split([F3], '_')(0) & "' From [Panel$J2:AF] "
 
Katılım
29 Ocak 2024
Mesajlar
100
Excel Vers. ve Dili
Office 2016
Aşağıdaki gibi yazarsanız olacaktır.

Kod:
sorgu = "Select F1, '" & Split([F3], '_')(0) & "' From [Panel$J2:AF] "
Erdem Hocam ilginize teşekkürleri yalnız bu şekilde olmadı.
ekli görseldeki gibi sorgu satırı kırmızı oldu.

iyi Çalışmalar
Kod:
Sub Test()
Dim Con As Object

sorgu = "Select F1, 'Split([F3], '_')(0) & " ' From [Panel$J2:AF] "


Set Con = VBA.CreateObject("Adodb.Connection")

yol = ThisWorkbook.FullName

Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & ";extended properties=""Excel 12.0;hdr=No"""


Set RS = Con.Execute(sorgu)


Sayfa7.Range("A2").CopyFromRecordset RS


End Sub

 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Benim dediğim gibi yazmamışsınız.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Benim verdiğim cevap ile sizin son yazdığınız kodlar birbirine uyuyor mu?
Aşağıdaki ilk sıradaki benim verdiğim sorgu, ikincisi sizin koddaki sorgu.
Sizce sorgular aynı mı?

sorgu = "Select F1, '" & Split([F3], '_')(0) & "' From [Panel$J2:AF] "

sorgu = "Select F1, 'Split([F3], '_')(0) & " ' From [Panel$J2:AF] "
 
Katılım
29 Ocak 2024
Mesajlar
100
Excel Vers. ve Dili
Office 2016
Benim verdiğim cevap ile sizin son yazdığınız kodlar birbirine uyuyor mu?
Aşağıdaki ilk sıradaki benim verdiğim sorgu, ikincisi sizin koddaki sorgu.
Sizce sorgular aynı mı?

sorgu = "Select F1, '" & Split([F3], '_')(0) & "' From [Panel$J2:AF] "

sorgu = "Select F1, 'Split([F3], '_')(0) & " ' From [Panel$J2:AF] "
Erdem Hocam sizin verdiğiniz sorguyu olduğu gibi kopyalayıp modüle yapıştırıyorum,
ekli ekran görüntüsünde olan hata mesajını vermekte;

https://dosya.co/666nuk9j3nhi/345.jpg.html

teşekkürler,
iyi çalışmalar.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Aşağıdaki yapıştırın. Sizin kod üzerinden düzeltirken burasını atlamışım.

Kod:
sorgu = "Select F1, '" & Split([F3], "_")(0) & "' From [Panel$J2:AF] "
 
Katılım
29 Ocak 2024
Mesajlar
100
Excel Vers. ve Dili
Office 2016

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
F3 hücresinde bir şey yazmıyor.
Bu çalışmada nasıl bir sonuç alınacak, onu da yazar mısınız.
 
Katılım
2 Temmuz 2014
Mesajlar
160
Excel Vers. ve Dili
2021 Türkçe, 64bit
[F3] sorguda 3. sütun anlamına geliyor hocam
yani burada kast edilen C sütunundaki tüm veriler bölünecek
 
Katılım
29 Ocak 2024
Mesajlar
100
Excel Vers. ve Dili
Office 2016
[F3] sorguda 3. sütun anlamına geliyor hocam
yani burada kast edilen C sütunundaki tüm veriler bölünecek
Özür!
[Panel$A2:E3]
sayfa1' in adı Panel olacaktı...
yada sorguyu [Sayfa1$A2:E3] olarak değiştirilebilir.

3. satıra kadar verilerin alınması yeterlidir.

iyi çalışmalar.
 
Üst