Hücrelere sql den veri getirme

Katılım
28 Eylül 2006
Mesajlar
323
Excel Vers. ve Dili
türkçe 2010
Arkadaşlar kullanmakta olduğum aşağıdaki kodlara ek olarak eklemek istediğim bazı uygulamalar daha olacak. Bu konuda yardımlarınızı beklemekteyim.

1. Cells(1, 1).CopyFromRecordset KayitSeti olarak hücrelere otomatik veri getirme şeklinde değilde istediğim hücrelere istediğim veriyi nasıl getiririm.
baslamasaati = A3
ymkodu = A4
opkodu = A5
ilkonay = A6
ortaonay = A7

2. SQL tablodaki verileri sicilno (A1) ile sorgulama yaptığımda aynı sicil numaralı kayıtların hepsini değilde son girilen sicil numaralı kaydın gelmesini istiyorum. Açmak gerekirse A1 hücresine sicil numarasını yazdığımda o yazılan sicil numarasının son kaydının gelmesini istiyorum




Kod:
Sub opgetir()
Dim Baglanti As New ADODB.Connection
    Dim KayitSeti As New ADODB.Recordset
    Dim sicilno  As String, baslamasaati As String, ymkodu As String, opkodu As String, ilkonay As String, ortaonay As String
    
    sicilno = Sheets("Data2").Range("A1").Value
    baslamasaati = Sheets("Data2").Range("A3").Value
    ymkodu = Sheets("Data2").Range("A4").Value
    opkodu = Sheets("Data2").Range("A5").Value
    ilkonay = Sheets("Data2").Range("A6").Value
    ortaonay = Sheets("Data2").Range("A7").Value
    
    sorgu = "SELECT [baslamasaati], [ymkodu], [opkodu], [ilkonay], [ortaonay] FROM [optakip] WHERE ([sicilno] = '" & sicilno & "')"
    
    Baglanti.Open "Provider=SQLOLEDB.1;Password=********;Persist Security Info=True;User ID=**;Initial Catalog=********;Data Source=********"
    KayitSeti.Open sorgu, Baglanti
    
    [B]Cells(3, 1).CopyFromRecordset KayitSeti[/B]
    
    KayitSeti.Close
    Baglanti.Close
    Set KayitSeti = Nothing
    Set Baglanti = Nothingthing
End Sub
 
Katılım
25 Temmuz 2009
Mesajlar
2
Excel Vers. ve Dili
2010 Türkçe
Merhaba,
Kod bloğunuzu aşağıdaki gibi düzenledim. Bu şekilde satır satır istediğiniz kydı istediğiniz hücreye yazabilirsiniz. 2. Madde için sql sorgunuzu tarihe göre tersten sıralayın ve sorgunun başına top 1 yazın yalnızca son kayıt gelecektir.

1.
Sub opgetir()
dim i as integer
Dim Baglanti As New ADODB.Connection
Dim KayitSeti As New ADODB.Recordset
Dim sicilno As String, baslamasaati As String, ymkodu As String, opkodu As String, ilkonay As String, ortaonay As String

sicilno = Sheets("Data2").Range("A1").Value
baslamasaati = Sheets("Data2").Range("A3").Value
ymkodu = Sheets("Data2").Range("A4").Value
opkodu = Sheets("Data2").Range("A5").Value
ilkonay = Sheets("Data2").Range("A6").Value
ortaonay = Sheets("Data2").Range("A7").Value

sorgu = "SELECT [baslamasaati], [ymkodu], [opkodu], [ilkonay], [ortaonay] FROM [optakip] WHERE ([sicilno] = '" & sicilno & "')"

Baglanti.Open "Provider=SQLOLEDB.1;Password=********;Persist Security Info=True;User ID=**;Initial Catalog=********;Data Source=********"
KayitSeti.Open sorgu, Baglanti

'Cells(3, 1).CopyFromRecordset KayitSeti
do while KayitSeti.EOF = False
sayfa1.Range("A" & i) = KayitSeti("Kolon1")
sayfa1.Range("B" & i) = KayitSeti("Kolon2")
sayfa1.Range("C" & i) = KayitSeti("Kolon3")
i = i + 1
Loop

KayitSeti.Close
Baglanti.Close
Set KayitSeti = Nothing
Set Baglanti = Nothingthing
End Sub
 
Katılım
28 Eylül 2006
Mesajlar
323
Excel Vers. ve Dili
türkçe 2010
teşekkür ederim
 
Üst