View Full Version : سوال: اجرای store procedure در vba
IMANAZADI
سه شنبه 18 شهریور 1393, 17:31 عصر
با سلام
من یک جدول رو بوسیله Link table با sql server ارتباط دادم
در بانک sql یک store procedure به نام voidcheck ساختم که 3 تا پارامتر ورودی میگیره و بر اساس اون پارامتر ها یک سری عملیات آپدیت انجام میده
حالا میخوام اون store procedure رو در یک فرم در اکسس با vba با پارامتر های مرتبط فراخوانی کنم
ممنون میشم بگید از چه کدهایی واسه اجرای store procedure باید استفاده کنم .
amirzazadeh
چهارشنبه 19 شهریور 1393, 08:40 صبح
سلام
از اين نمونه كد كمك بگيريد:
Public Sub UpdateWithStoredProcedure()
Dim cmd As New ADODB.Command
Dim conn As ADODB.Connection
Dim prm As ADODB.Parameter
Dim strConn As String
Dim strSQL As String
strConn = "Provider=SQLOLEDB.1;" & _
"Data Source=(local); Initial Catalog=NorthWind;" & _
"Integrated Security=SSPI"
Set conn = New ADODB.Connection
conn.Open strConn
Set cmd = New ADODB.Command
cmd.CommandText = "Sp_name"
cmd.CommandType = adCmdStoredProc
cmd.ActiveConnection = conn
Set prm = cmd.CreateParameter("OrderID", adInteger, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("OrderID").Value = 1
Set prm = cmd.CreateParameter("OrderDate", adDate, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("OrderDate").Value = "1/1/2007"
Set prm = cmd.CreateParameter("ShipVia", adInteger, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("ShipVia").Value = 2
Set prm = cmd.CreateParameter("Freight", adCurrency, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("Freight").Value = "10.5"
'Execute the Stored Procedure
cmd.Execute
'Close the connection
conn.Close
End Sub
فقط در هنگام پاس كردن پارامترها به اين شكل عمل كنيد
[cmd.Parameters("Parameter_Name").Value = me.[TextboxName
موفق باشيد
mhamedm2008
جمعه 29 اسفند 1393, 00:58 صبح
با سلام
می خواستم ببینم که اگر من مثلا کدهای insert و update را در VBA بنویسم چه فرقی می کنه با حالتی که store procedure insert و update بنویسم و آنها را با VBA فراخوانی کنم؟
با تشکر
mhamedm2008
جمعه 29 اسفند 1393, 16:03 عصر
سلام
من یک store procedure توی SQL ساختم که مقدار max یک فیلد رو محاسبه می کنه و زمانی که توی SQL رو اجرا می کنم خروجی رو بهم میده.حالاچی کار باید بکنم که این خروجی توی یک TExtbox توی اکسس برام نمایش داده بشه
ممنون
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.