Sql bağlantısı sorgu problemi

Katılım
21 Mayıs 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2003
Sitede emeği geçen herkese tekrar teşekkürler.

Aşağıda belirttiğim kodlarla bağlandığım excel sayfasında bulunan kodlar ile DATA2.xls sayfasında ad tanımlama yaparak oluşturduğum tabloya bağlanarak GUNLER isimli bu tablodan GEMI isimli sutundaki bilgileri çekmek istiyorum fakat 'GUNLER.GEMI*' sorgu ifadesiiçindeki sözdizimi hatası ( eksik işleç ) hatası alıyorum. [GUNLER.GEMI] olarakta denedim ama aynı sonucu verdi. Yardımcı olabilirseniz sevinirim Şimdiden teşekkürler. bulunduğum yerdeki sistem izin vermediğinden dosya ekleyemiyorum.


Sub deneme()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rng As Range

Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set rng = ThisWorkbook.Sheets("sayfa1").Range("a1")
conn.Open "provider=microsoft.jet.oledb.4.0;data source = " & _
ThisWorkbook.Path & "\dosyam.xls" & ";extended properties=""excel 8.0;hdr=yes"""

rs.Open "SELECT GUNLER.GEMI * FROM GUNLER", conn, 1, 1
rng.CopyFromRecordset rs
Set rs = Nothing
Set con = Nothing
End Sub
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
şu şekilde denermisiniz, iyi çalışmalar.

Kod:
Sub deneme()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rng As Range

Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set rng = ThisWorkbook.Sheets("sayfa1").Range("a1")
conn.Open "provider=microsoft.jet.oledb.4.0;data source = " & _
ThisWorkbook.Path & "\dosyam.xls" & ";extended properties=""excel 8.0;hdr=yes"""
sqlstr = "SELECT gemi FROM [GUNLER$]"
rs.Open sqlstr, conn, 3, 1
rng.CopyFromRecordset rs
Set rs = Nothing
Set conn = Nothing
End Sub
 
Katılım
21 Mayıs 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2003
Cevabınız için teşekkürler fakat aynı hatayı vermeye devam ediyor. Aşağıda belirttiğim şekilde yaptığımda bütün tabloyu alabiliyorum fakat benim istediğim bu tabloda sadece bir sutundaki verileri almak


Sub deneme()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rng As Range

Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set rng = ThisWorkbook.Sheets("sayfa1").Range("a1")
conn.Open "provider=microsoft.jet.oledb.4.0;data source = " & _
ThisWorkbook.Path & "\dosyam.xls" & ";extended properties=""excel 8.0;hdr=yes"""
sqlstr = "SELECT * FROM GUNLER"
rs.Open sqlstr, conn, 3, 1
rng.CopyFromRecordset rs
Set rs = Nothing
Set conn = Nothing
End Sub
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
yukarıda verdiğim kodları test ederek yazdım. Sadece gemi sutunundaki bilgileri getiriyor. Ekli dosyayı denermisiniz, iyi çalışmalar.
 

Ekli dosyalar

Katılım
21 Mayıs 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2003
düzeltme

bu arada düzeltme olarak GUNLER isimli tablodan GUNLER isimli sutunu değil GEMI isimli sutunu olacak yazım hatası için kusura bakmayın lütfen (sorun aynı şekilde yalnız yanlış anlaşılma olmasın)
 
Katılım
21 Mayıs 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2003
sunucudaki yoğunlukten dolayı cevabım gecikti kusura bakmayın.
GUNLER$ geçerli bir ad değil uyarısı veriyor "SELECT gemi * FROM [GUNLER$]" olarak denediğimde ise ilk yazdığım hatayı veriyor
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Eğer sizin için mümkün olabilirse, her iki dosyayının bir özetini gönderebilirseniz, belki bir
çözüme ulaşabiliriz, saygılar.
 
Katılım
21 Mayıs 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2003
belirttiğim gibi ekleme yapamıyorum sanırım baya uğraşmam gerekecek teşekkürler
 
Katılım
21 Mayıs 2007
Mesajlar
23
Excel Vers. ve Dili
excel 2003
:) şans eseri çözdüm "SELECT [GUNLER.GEMI] FROM GUNLER" şeklinde kullandım sanırım * fazla geldi onu kaldırınca sorun düzeldi yinede yardımlarınız için çok teşekkürler
 
Üst