• DİKKAT

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

Sql den Access Tablosuna Veri Nasıl Çekilir.

Katılım
17 Mayıs 2005
Mesajlar
117
Excel Vers. ve Dili
2013 TR
2013 EN
Merhabalar,

Daha önceden Sql den Excele veri çekerek bir rapor hazırladım, şimdi bu raporu Access tabanına çevirmeyi düşünüyorum, Bunun için Access te tablolar yaratıyorum ve sql den gelecek verilerin bu tablolara kaydolmasını istiyorum, sorun şu ki excele tablo kayıt adresi Sayfax.cells(x,x). value = Rs(x) şeklinde verilmekte idi Access te bu adresin nasıl olması gerektiğini bulamadım,

Aşağıda excelde kullanmış olduğum kodlardan bir tanesi var, acaba bu kodları nasıl değiştirmem gerekir.

Kod:
Sub TRB_FATURA_TUM()
Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim SqlText As String
 With conn
    .Provider = "sqloledb"
    .CommandTimeout = 1200
    .ConnectionString = "Data Source= NETSIS;USER ID= rapor;PASSW=;AUTO TRANSLATE=FALSE"
    .Open
    .DefaultDatabase = "AU2007"
    End With
    SqlText = " SELECT  SASI,STOK_KODU,STOK_ADI,A_H,SIRKU,KOTA," _
                        & "MODEL_YILI,RENK,ALIS_TRH,ALIS_FTNO,ALISMIK," _
                        & "ALIS_KDVSIZ,USTYAPI,SAT_TRH ,SAT_FATNO,SAT_SUBE," _
                        & "PLASIYER_ACIKLAMA,FAT_TESLIM_CARI,SATIS_SEKLI," _
                        & "KDVSIZ_FIY,USTYAPI_SATIS,KATKI,KESILECEK_KATKI," _
                        & "SATFIYAT_ARTI_KATKI,OPR_KAR"
    SqlText = SqlText + " FROM MEH_Y_SASI_OPR_KAR WHERE SATMIK='1' " _
                        & "AND MUSTERI NOT LIKE 'BMC%'" _
                        & "AND SAT_TRH BETWEEN '2007-01-01' AND '2007-12-31' AND SUBE_KODU='5'"
    SqlText = SqlText + " ORDER BY SAT_TRH "
    rs.Open SqlText, conn, adOpenStatic, adLockReadOnly
    Sayfa3.Range("B3:Z1500").ClearContents
    i = 3
    Do While Not rs.EOF
        Sayfa3.Cells(1, 1).Value = i
        Sayfa3.Cells(i, 2).Value = rs(0)
        Sayfa3.Cells(i, 3).Value = rs(1)
        Sayfa3.Cells(i, 4).Value = rs(2)
        Sayfa3.Cells(i, 5).Value = rs(3)
        Sayfa3.Cells(i, 6).Value = rs(4)
        Sayfa3.Cells(i, 7).Value = rs(5)
        Sayfa3.Cells(i, 8).Value = rs(6)
        Sayfa3.Cells(i, 9).Value = rs(7)
        Sayfa3.Cells(i, 10).Value = rs(8)
        Sayfa3.Cells(i, 11).Value = rs(9)
        Sayfa3.Cells(i, 12).Value = rs(10)
        Sayfa3.Cells(i, 13).Value = rs(11)
        Sayfa3.Cells(i, 14).Value = rs(12)
        Sayfa3.Cells(i, 15).Value = rs(13)
        Sayfa3.Cells(i, 16).Value = rs(14)
        Sayfa3.Cells(i, 17).Value = rs(15)
        Sayfa3.Cells(i, 18).Value = rs(16)
        Sayfa3.Cells(i, 19).Value = rs(17)
        Sayfa3.Cells(i, 20).Value = rs(18)
        Sayfa3.Cells(i, 21).Value = rs(19)
        Sayfa3.Cells(i, 22).Value = rs(20)
        Sayfa3.Cells(i, 23).Value = rs(21)
        Sayfa3.Cells(i, 24).Value = rs(22)
        Sayfa3.Cells(i, 25).Value = rs(23)
        Sayfa3.Cells(i, 26).Value = rs(24)
        rs.MoveNext
        i = i + 1
    Loop
    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
End Sub
 
Sayın serinci,

Siz de excelin etkisi altındasınız. SQL tabloları varken access içinde yeni tablo yapmaya gerek yok. Ya sql deyimleriyle alıp istediğiniz şekilde kullanırsınız, ya da ODBC üzerinden direk olarak tabloları access uygulamasına bağlayabilirsiniz. Tercih sizin. Ama kesinlikle yeni tablo yapmaya gerek yok nasılsa tablo ve veriler mevcut.

İyi çalışmalar:)
 
Teşekkürler.. öyle denemek daha mantıklı sanırım
 
Son düzenleme:
Geri
Üst