• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excel vba ile sql den veri çekmek

  • Konbuyu başlatan Konbuyu başlatan kuşak
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Eylül 2006
Mesajlar
67
Excel Vers. ve Dili
2003 türkçe
Merhabalar. Bu konuyla ilgili siteden arama yaptım, fakat aynı konuyla ilgili birşey bulamadım. Ekli tablomda ado ya da başka bir yordamı varsa listelemek istedğim bazı şeyler var. Örnek tablomda veri sayfasındaki barkodların sql tabanımdan okuyup barkodlara ait fiyatlarını listelemek istiyorum. Bunu bir türlü yapadım. sql veri tabanımda tanımlı olan barkodumun table adı stokbarkodu, fiyat table ı ise stokfiyati. server adı "2009" makina adı "ana" kullanıcı adı "kasa1". Ekli dosyamı incelerseniz daha iyi anlarsınız. Yardımlarınız için şimdiden hepinize teşekkür ederim. Saygılarımla...
 

Ekli dosyalar

İstediğiniz şey aslında excelde var.
Veri
Dış veri al
Diğer kaynaklardan
sql serverden
Veri tabanı sunucusuna bağlan
"sunucu adı yazılacak"
istediğniz verileri içeren veri tabanı seçilecek
table adı seçilecek
gelen pencereden tablo, özet tablo, grafik ve özet tablo seçeneklerinden birsi seçlecek
son tıklanacak verler excele gelir.
umarım anlatabldim buna benzer bir çok yöntemi var queri yazmayı biliyorsanız daha kolay halledebilrsiniz
kolay gelsin
 
verilerin gelmesini istiyorum fakat sadece istediğim verileri. Bu şekilde tüm barkodların fiyatlarını gösteri. Yani düşeyara gibi bişey olucak. Teşekkürler
 
tüm ümitlerim tükeniyor üstadlarımdan çözüm bekliyorum :(
 
yanlış yerdemi sordum sorumu. yada böyle konu açıldı mı
 
üstadlar bari sorunun cevabı yok diyin bişey yazın :(
 
data -> import external data -> new database query burada önceden windowsun odbc ayarlarında tanımladığın veritabanının adını seçiceksin veri tabanına excel bağlanıcak ve query wizard gelcek, bu şekilde çalışabilirsin eğer iptal edersen daha ayrıntılı query yapabileceğin başka bir form gelir. oşekilde istediğin kriterlere uygun seçim yaparsın.. tüm bu işlemleri makro olarak kaydedersen istediğin sorgunun excel vba kodunuda bulabilirsin..
araştır iyice ben bu şekilde yapıyorum :)
 
Aşağıda gördüğünüz benim şu anda sql databaseden veri çekmek için kullandığım makro. kendinize göre uyarlarsanız çalışır.

........
Dim kriterx1 As String
Dim kriterx2 As String
Dim kriterx3 As String
kriterx1 = Range("l1").Value
kriterx2 = Range("l2").Value
kriterx3 = Range("m2").Value
With ActiveSheet.QueryTables.Add(Connection:="ODBC;DSN=kullandığınız database bağlantısının adı (ODBC'de tanımlanan ad);UID=sa;APP=Microsoft Office XP;DATABASE=kullandığınız database ;Trusted_Connection=Yes" _
, Destination:=Range("A1"))
.CommandText = "SELECT kullanılan view.[kullanılan field], kullanılan view.[kullanılan field], kullanılan view.[kullanılan field], kullanılan view.[kullanılan field], Ayar, Ayar_neden, Ekis, Ekis_neden, Hurda, Hurda_neden FROM kullanılan database.dbo.kullanılan view WHERE [kullanılan view]>='" + kriterx1 + "' And [kullanılan view]<= '" + kriterx2 + "' And [kullanılan view]= '" + kriterx3 + "' ORDER BY [kullanılan view]"
.Name = "kullandığınız database bağlantısının adı kaynağından sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=True
End With
.....
 
kriterx1 = Range("l1").Value bu kısımda invalid outside procedure hatası verdi.

server: ANA
DATABASE: 2009SERVER
KULLANICI: KASA1

TABLE KISMINDAN STOKBARKOD BUNUN İÇİNDE İKİ ADET NAME VAR BİRİNCİSİ BARKOD İKİNCİSİ FİYAT. AMAÇ ELLE GİRDİĞİM VERİ SAYFASINDAKİ BARKODLARI DATABASEDEKİYLE EŞLEŞTİRİP FİYATINI GÖSTERMESİ.
 
Geri
Üst