excel sayfasından Ms SQL ye kaydetme ve excel üzerinden bağlantı ayarları hk.yardım

Katılım
31 Ekim 2009
Mesajlar
23
Excel Vers. ve Dili
office 2003 türkçe
Merhaba,
Kullanici_Ekle.xlsx adında excel dosyam var ve bir tane de DÜĞME koydum ,
A1 de = Kullanıcı Adı,
B1 de = Kullanıcı Soyadı,
C1 de = Şifre ,

adında başlıklarım var ve A2,B2 ve C2 ye girdiğim bilgiler otomatik Ms SQL de ki Egitim veritabanındaki Kullanicilar tabloma kaydetsin istiyorum,
Ms sql deki bilgilerim ise,

Server Adı = servercevahir
Veri Tabanı Adı = Egitim
Tablo Adı = Kullanicilar

Tablo içeriği;
Adi, = NVARCHAR (50),
Soyadi, = NVARCHAR (50),
Sifre, = NVARCHAR (50)

sonuç olarak exceldeki bilgilerimi Ms SQL le nasıl kaydedebillirim, yardımlarınızı rica ederim.
SQL bilgim biraz var ama excel Makro bilgim yok ve Exceli Ms SQL ye nasıl bağlarım bilmiyorum.
Yardımlarınız ve önerileriniz için şimdiden teşekkür ederim.
Syg..
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
aşağıdaki kodu, kırmızı ile işaretlenen yerlere kendi bilgilerinizi koyarak deneyiniz.

Kod:
Sub kaydet()

    Dim sh As Worksheet
    Dim conn As New ADODB.Connection
    Dim strSQL As String
    Set sh = ThisWorkbook.Worksheets("[COLOR="Red"][B]Sheet1[/B][/COLOR]")
         
        ad = sh.Range("a2")
        soyad = sh.Range("b2")
        sifre = sh.Range("c2")
        
        If ad = "" Or soyad = "" Or sifre = "" Then Exit Sub 'boşsa çık
        
        conn.ConnectionString = "Provider=SQLOLEDB;Data Source=servercevahir; Initial Catalog= Egitim; UserId=[COLOR="Red"][B]kullanıcı_adınız[/B][/COLOR]; Password=[COLOR="red"][B]Şifreniz[/B][/COLOR];"
        conn.Open

        strSQL = "insert into kullanicilar values('" & ad & "','" & soyad & "','" & sifre & "')"
        conn.Execute (strSQL)
        conn.Close

Set sh = Nothing
Set conn = Nothing
End Sub
 
Katılım
31 Ekim 2009
Mesajlar
23
Excel Vers. ve Dili
office 2003 türkçe
Merhaba sayın dentex
değerli cevabınız için çok teşekkürler,
Kırmızı renkli yazdığınız yer doğru Sayfa1,
Bağlantı ayarlarım da bu şekilde,

conn.ConnectionString = "Provider=SQLOLEDB;Data Source=servercevahir; Initial Catalog= Egitim; UserId=sa; Password=1234;"

Aşağıdaki hatayı alıyorum,
Compile error:
User-defined type not defined

diyor ve Kod bloğundaki conn As New ADODB.Connection satırı işaretliyor,
 
Katılım
31 Ekim 2009
Mesajlar
23
Excel Vers. ve Dili
office 2003 türkçe
Tekrar merhaba,
Ayarlardan ;
Tools / References `den
Microsoft Activex Data object 2.1 Library
aktif ettim kod çalıştı,

Çok çok teşekkür ederim, Elinize-Emeğinize sağlık...
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Rica ederim iyi akşamlar.
 
Katılım
11 Haziran 2008
Mesajlar
121
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
27-09-2022
Bu yapıda Select * from table1 bir sorgunun sonucunu Excel de Sayfa1 e 5 satırdan itibaren nasıl yazdırırım.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
şu şekilde deneyiniz.

Kod:
Sub veri_al()

    Dim sh As Worksheet
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strSQL As String
    Set sh = ThisWorkbook.Worksheets("Sayfa1")
         
        ad = sh.Range("a2")
        soyad = sh.Range("b2")
        sifre = sh.Range("c2")
        
        If ad = "" Or soyad = "" Or sifre = "" Then Exit Sub 'boşsa çık
        
        conn.ConnectionString = "Provider=SQLOLEDB;Data Source=servercevahir; Initial Catalog= Egitim; UserId=kullanıcı_adınız; Password=Şifreniz;"
        conn.Open

        strSQL = "select * from table1"
        Set rs = conn.Execute(strSQL)
        If Not rs.EOF Then
            sh.Range("a5").CopyFromRecordset rs
        rs.Close
        End If

Set sh = Nothing
Set rs = Nothing
conn.Close
Set conn = Nothing
End Sub
 
Katılım
11 Haziran 2008
Mesajlar
121
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
27-09-2022
Teşekkür, iyi çalışmalar.
 
Katılım
11 Haziran 2008
Mesajlar
121
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
27-09-2022
SQL timeout süresini nasıl uzatırız.
Excel çalışan sorgu timeout hatası veriyor.
 
Katılım
11 Haziran 2008
Mesajlar
121
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
27-09-2022
.ConnectionTimeout = 0
.CommandTimeout = 0

şeklinde parametreler buldum, çözdüm teşekkür.
 
Katılım
11 Haziran 2008
Mesajlar
121
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
27-09-2022
SQL sorgu kısmına Stored Procedure kullandığımda hata alıyorum.
Yazılım şekli nasıl olmalıdır.Aşağıda ki yazım hata veriyor.

strSQL = "exec dbo.sp_Musteri ''," & ay1 & " ," & ay2
Set sp_Musterix = cmd.Execute(strSQL)
 
Üst