SqlServer Query ile SQL [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : SqlServer Query ile SQL


bykursat2
09-05-2006, 10:13
Database aşağıdaki şekilde bağlanıyorum

Public cnn As New ADODB.Connection

With ThisWorkbook
If .cnn.State = 1 Then Exit Sub
.cnn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User Id=ssret;Password=432;Data Source=192.168.0.1; Initial Catalog=MUH_2006"
.cnn.CursorLocation = adUseClient
.cnn.Open
End With


fakat aşağıdaki kodlarda yanlışlık yaptığımdan verileri sayfaya getiremiyorum. Galiba connection kısmında yanlış yapıyorum


With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=MW32;Server=192.168.0.1;Service=8003;Char set=ISO8859-1;UID=public;Password=No" _
, Destination:=Range("A1"))
.CommandText = Array( _
"SELECT * FROM ( SELECT * FROM CIN WHERE 1=1 UNION ALL SELECT * FROM COUT WHERE 1=1 ) A WHERE KONAKLAMA IN ('COMP','HUSE' )" _
)
.Name = "MW32 kaynağından sorgula"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With

Akuma
22-05-2006, 11:43
Selam,

Öncelikle MDACın versiyonu sende nedir bilmiyorum ama,Referasnlardan
sen bence Microsoft Data Object 2.6 veya 2.7 ekle

sonra
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim SQL As String

atamalarını yap ardından

Baglantı için ' Eger Local Bir makinede çalışıyor ise SQL Server adına 127.0.0.1 yazabilirsiniz..
'Baglantın İçin Kullan
cnn.Open "Provider=SQLOLEDB.1;Password=ŞİFRE;Persist Security Info=True;User ID=sa;Initial Catalog=DATABASE_ADI;Data Source=SERVERADI"

SQL = "SELECT * From STOK" 'Sorgu başlatılıyor
SQL = SQL & " where MalKodu='001'" ' Bu satırı Eger Sorgu Cümlen uzun olursa ve ekrana sıgmaz ise diye verdim...eger sıgıyorsa sorgun gerek yok buna..
rst.Open SQL, cnn, adOpenDynamic, adLockBatchOptimistic ' Sorgu sonlanıyor.

Range("A3").Value = "MAL KODU"
Range("B3").Value = "MAL ADI"
Range("C3").Value = "MİKTAR"
i = 4 '<---Burada 2.satırdan başlanıyor...

Do Until rst.EOF ' <---- burada Kayıt Var Yok Kontrol Ediliyor...
Range("A" & i).Value = rst!MalKodu'<---Burada Veri çekiliyor..
Range("B" & i).Value = rst!MalAdi
Range("C" & i).Value = rst!Miktar
i = i + 1 '<--- Burada bir satır arttır deniyor...
rst.MoveNext '<---Burada bir sonraki satıra geç deniliyor...
Loop '<---Burada Döngü Bitiriliyor...

rst.Close '<--- Kayıtlar Kapatılıyor....
cnn.Close '<--- Connection Kapatılıyor....

Bitti bukadar...

Umarım yardımcı olmuşumdur..SQL ile herhangi bir sorunun olursa mutlaka yaz yardımcı olurum...


Özel Arama