[Yardım]  makro içinde prosedür çalıştırmak

Excel sayfalarında kullandığımız yerleşik fonksiyonlar ya da kendi yazabileceğiniz fonksiyonlar ile ilgili bilmek istedikleriniz, sorunlar ve çözümleri

makro içinde prosedür çalıştırmak

İleti#1)  MasterofOmk » 26 Nis 2020 22:31

Merhaba değerli arkadaşlar,
Öncelikle sağlıklı günleriniz olsun, aşağıda verdiğim prosedür sql içinde sorunsuz çalışırken, excel makro olarak çağırdığımda nesne kapalı hatası veriyor. Ancak başka prosedürler excel içinde çalışıyor, daha önce bu tip sorunla karşılaşan ve çözen varmı yardımcı olabilir mi?

exec p_uretim_makinalari_performansi 2, '2020-04-13' , '2020-04-13' ,0, N'SL' ,0

Şimdiden cevap veren arkadaşlara teşekkür ederim.
Kullanıcı avatarı
MasterofOmk
İsimsiz Üye
 
Kayıt: 27 Mar 2019 22:06
Meslek: analist
Yaş: 43
İleti: 15
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: beylikdüzü

Cevap: makro içinde prosedür çalıştırmak

İleti#2)  Tarkan VURAL » 06 May 2020 10:51

Merhaba,
Hangi metotla Excel içinden SQL tarafına gönderiyorsunuz ?

Connection nesnesinin execute özelliği ile bu stringi direkt SQL tarafına post edebilirsiniz.

Kod: Tümünü seç
set con = createobject("adodb.connection")
con.open "provider=sqloledb; data source=sunucu;initial catalog=veritabani;user id=sqlkullanici;password=parola"
sorgu="exec p_uretim_makinalari_performansi 2, '2020-04-13' , '2020-04-13' ,0, N'SL' ,0"
con.execute sorgu
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 47
İleti: 27420
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Cevap: makro içinde prosedür çalıştırmak

İleti#3)  MasterofOmk » 11 May 2020 10:05

Tarkan VURAL yazdı:Merhaba,
Hangi metotla Excel içinden SQL tarafına gönderiyorsunuz ?

Connection nesnesinin execute özelliği ile bu stringi direkt SQL tarafına post edebilirsiniz.

Kod: Tümünü seç
set con = createobject("adodb.connection")
con.open "provider=sqloledb; data source=sunucu;initial catalog=veritabani;user id=sqlkullanici;password=parola"
sorgu="exec p_uretim_makinalari_performansi 2, '2020-04-13' , '2020-04-13' ,0, N'SL' ,0"
con.execute sorgu



Sorgum aşağıda gördüğünüz gibidir, işin tuhaf tarafı aynı metod ile başka prosedürler çalışıyor.

Kod: Tümünü seç
Public Sub mak_perfor()

Dim cnPubs  As ADODB.Connection
Set cnPubs = New ADODB.Connection
Dim strConn As String



cnPubs.ConnectionTimeout = 0
cnPubs.CommandTimeout = 0
strConn = "Provider=SQLOLEDB.1;Initial catalog=maklar;User ID=sa;Password=*****;Data Source=*********;"


cnPubs.Open strConn


Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

Dim sirketkod As Integer
Dim tarih As String
Dim aybasi As String
Dim vardiya As Integer
Dim islemyer As String
Dim interco As Integer
Dim sqlkod As String


sirketkod = 2
tarih = WorksheetFunction.Text(Sheets(1).Range("a1"), " 'yyyy-mm-dd' ")
ay = Day(Sheets(1).Range("a1")) - 1
If ay = 0 Then
aybasi = tarih
Else
aybasi = WorksheetFunction.Text(Sheets(1).Range("a1") - ay, " 'yyyy-mm-dd' ")
End If
vardiya = 0
islemyer = " 'SL' "
interco = 0
cikis_yeri = 0


sqlkod = "exec p_uretim_makinalari_performansi  " & sirketkod & "," & tarih & "," & tarih & "," & vardiya & "," & islemyer & "," & interco & " "
With rsPubs
.ActiveConnection = cnPubs

Set rsPubs = cnPubs.Execute(sqlkod)
Kullanıcı avatarı
MasterofOmk
İsimsiz Üye
 
Kayıt: 27 Mar 2019 22:06
Meslek: analist
Yaş: 43
İleti: 15
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: beylikdüzü

Cevap: makro içinde prosedür çalıştırmak

İleti#4)  Tarkan VURAL » 11 May 2020 21:49

Parametreler procecure içine giderken string gitmesi gerekebilir. Belki aşağıdaki şekilde tek tırnak ilavesi ile çözülür.

Kod: Tümünü seç
sqlkod = "exec p_uretim_makinalari_performansi  '" & sirketkod & "','" & tarih & "','" & tarih & "','" & vardiya & "','" & islemyer & "','" & interco & "' "


SP içindeki değişken veri tiplerini görmediğimiz için çok yorum yapamıyoruz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 47
İleti: 27420
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Forum Kullanıcı Tanımlı Fonksiyonlar ( KTF )

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe