Makro ile SQL sorgusu yapmak.

Katılım
13 Ekim 2005
Mesajlar
16
Öncelikle herkese merhabalar,

Excelde SQL'den sorgu yapıp çalışma sayfasına yazdırıyorum. İlgili kodu hazırladım ama çok fazla bilgim olmadığımdan bir yerde takıldım.

Sorunum şu;

benim bilgisayarımda çalışan sorgu başka bir bilgisayarda çalışmıyor. Yazdığım kod:

Sub Makro1()
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=Server;Description=Mikro Programı 01 Şirketi;UID=serkan;Trusted_Connection=Yes;APP=2007 Microsoft Office system;WSID=SERKAN" _
), Array("AY;DATABASE=MikroDB_V12_01")), Destination:=Range("$A$1")). _
QueryTable
.CommandText = Array( _
"SELECT TOP (100) PERCENT cari_RECno AS [KAYIT NO], cari_kod AS [CARI KODU], cari_unvan1 AS [CARI ISMI], dbo.fn_CariHesapOrjinalDovizBakiye('', 0, " & Chr(13) & "" & Chr(10) & " cari_kod, '', 0, NULL, NUL" _
, _
"L, 0) AS BAKIYE, dbo.fn_CariTip(cari_tipi) AS TIP" & Chr(13) & "" & Chr(10) & "FROM dbo.CARI_HESAPLAR WITH (NOLOCK)" & Chr(13) & "" & Chr(10) & "WHERE (cari_tipi = '0') AND (dbo.fn_CariHesapOrjinalDovizBakiye('', 0, cari_kod, '', 0, NULL, NULL," _
, _
" 0) > 0.01) AND (cari_kod NOT LIKE 'I%') AND " & Chr(13) & "" & Chr(10) & " (cari_kod NOT LIKE 'Z%') AND (cari_kod NOT LIKE 'H%')" & Chr(13) & "" & Chr(10) & "ORDER BY [CARI KODU]" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Tablo_Server_kaynağından_sorgula"
.Refresh BackgroundQuery:=False
End With
End Sub


Sorun çıkartan kod kısmı tahminimce:
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=Server;Description=Mikro Programı 01 Şirketi;UID=serkan;Trusted_Connection=Yes;APP=2007 Microsoft Office system;WSID=SERKAN" _
), Array("AY;DATABASE=MikroDB_V12_01")), Destination:=Range


Bu kod yazpısında ne gibi bir değişiklik yapılırsa, diğer bilgisayarlardada çalışır hale gelir acaba?
Konuyla alakalı bilgi paylaşacak olanlar varsa çok sevinirim.

İyi çalışmalar...
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Sanırım yazdığınız kodlar; bir makro kaydı. Hatanın ne olduğunu yazmamışsınız ama bir makinede çalışıp diğerinde çalışmamasının nedenlerinden biri şu olabilir : "MyeDB.DLL" kütüphanesi

Bilmişlikten ziyade, bunu, tahmin olarak nitelendirin lütfen.

Bence, her iki bilgisayarda da "MyeDB.DLL"nin yüklü olup olmadığını kontrol ediniz. Daha ayrıntılı bilgi için "http://yardim.mye.com.tr/"

İyi çalışmalar
 
Katılım
1 Mart 2007
Mesajlar
94
Excel Vers. ve Dili
Excel 2010 Eng
Merhaba

Sayın fpc galiba dediğiniz doğru visual basic editor de iken Tools menüsünden prefences i açalım. Eğer gelen listede başında missing yazanlar varsa onların işaretini kaldırmayı deneyebilirsiniz
 
Üst