SqlServer Query ile SQL

Katılım
25 Temmuz 2005
Mesajlar
24
Database aşağıdaki şekilde bağlanıyorum
Kod:
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

Kod:
    With ActiveSheet.QueryTables.Add(Connection:= _
         "ODBC;DSN=MW32;Server=192.168.0.1;Service=8003;Charset=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
 
Katılım
22 Mayıs 2006
Mesajlar
3
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...
 
Üst