سلام بر اساتید محترم
آیا میشه stored procedure نوشته شده در sql server را در اکسس صدا زد ؟
دیتابیس sql server است و فرم ها در اکسس است .
اساتید محترم لطفا یه راهنمایی بکنید ممنون میشم . یه نمونه کد هم کافیه
سلام بر اساتید محترم
آیا میشه stored procedure نوشته شده در sql server را در اکسس صدا زد ؟
دیتابیس sql server است و فرم ها در اکسس است .
اساتید محترم لطفا یه راهنمایی بکنید ممنون میشم . یه نمونه کد هم کافیه
سلام و روز خوش
شما باید از Pass-Through Query استفاده کنین.
البته مشخص نکردین که این stored procedure شما قراره چه کار کنه:
میتونه مقدار برنگردونه (مثل کوئری های DD یا عملیات CUD) یا این که
یک مقدار تکی یا رکوردست برگردونه (برای اکسس کلا فرقی نداره این موضوع - همه رو رکوردست میبینه).
روش کار هم اینجوری هست که در property sheet کوئری یک ODBC connection string هست که باید اون رو درست تنظیم کنین،
بعد دیگه هر کوئری مجار در MS SQL رو میتونین بنویسین (بطور واضح در نمای SQL View) و اجرا کنین.
اجرای sp هم دقیقا مثل همون فرمتی هست که در خود MS SQL استفاده میکنین:
USE [NorthWind];
EXEC [dbo].[Sales by Year]
@Beginning_Date = '1990-01-01',
@Ending_Date = '2020-01-01';
اینجا فرض بر این هست که یک sp به نام Sales by Year دارین
که دوتا پارامتر Beginning_Date@ و Ending_Date@ از نوع datetime داره.
سلام دوباره
تاپیک زیر رو ببینین، نمونه کد هم هست:
مشکل سورس گزارش موقع استفاده از استور پروسیجر
استاد کدی که استفاده کردم و جواب داد
Dim db As DAO.Database
Dim qdfPassThrough As DAO.QueryDef
Dim strConnect, SQL As String
On Error Resume Next
CurrentDb.QueryDefs.Delete "passThroughA"
On Error GoTo 0
Application.RefreshDatabaseWindow
Set db = CurrentDb
Set qdfPassThrough = db.CreateQueryDef("passThroughA")
qdfPassThrough.Connect = "ODBC;DRIVER=SQL Server Native Client 11.0;SERVER=.;UID=sa;PWD=123;"
qdfPassThrough.SQL = "use test_03 ; exec [dbo].[usp_select2] @nam=N'" & Forms!frm_sp!txt_nam & "' , @city=N'" & Forms!frm_sp!txt_city & "';"
qdfPassThrough.ReturnsRecords = True
qdfPassThrough.Close
Set qdfPassThrough = Nothing
Set db = Nothing
Application.RefreshDatabaseWindow
Forms!frm_sp.Form.RecordSource = "passThroughA"