ارتباط اکسس با SQL بدون جدول یا Query

بحث ارتباط با SQL Server برای کاربران اکسس معمولا پر دردسر و پیچیده تلقی می شود و به همین دلیل بسیار دیده شده که حتی کاربران حرفه ای اکسس از انجام این موضوع واهمه دارند. در این مقاله یک تکنیک بسیار کاربردی برای ارتباط با SQL Server به شما ارائه می کنیم. اکسس برای ارتباط با SQL Server ابزارهای مختلفی دارد، مانند استفاده از ODBC، ایجاد Linked Table و ...  که هر کدام مزایا و معایب خود را دارند و احتمالا مهمترین مشکل بیشتر این روش ها بحث امنیت می باشد. در این مقاله می خواهیم کدی را به شما معرفی کنیم که با نوشتن آن درون یک فرم، بدون وجود هیچ جدول یا Query، فرم شما این قابلیت را پیدا می کند که به سرورر SQL Server وصل شده و داده های دلخواه را برداشته و نمایش دهد. با توجه به اینکه ما برای ارتباط از کتابخانه ADO استفاده کرده ایم، قبل از هر چیزی، در محیط VBE مربوط به فایل اکسس خود از منوی Tools گزینه Preferences را انتخاب کرده و در پنجره باز شده کتابخانه Microsoft ActiveX Data Object 2.8 (یا نسخه های قبل) را به فایل اکسس خود زمینه کنید. ارتباط اکسس با SQL بدون جدول یا Query پایگاه داده نمونه ما همان Northwind است که در  فایل پیوست همین مقاله می توانید آن را دانلود کنید و می خواهیم یک فرم در اکسس داشته باشیم که اطلاعات جدول Products در آن نمایش داده شود. ابتدا در اکسس یک فرم Tabular میسازیم و سپس دو TextBox روی آن قرار می دهیم. ویژگی RecordSource هر کدام از TextBox ها را برابر فیلدی از جدول که می خواهیم نمایش داده شود قرار می دهیم و سپس درون رویداد Load از فرم، کد زیر را قرار می دهیم.
Dim cnn1 As ADODB.Connection
               Dim rst1  As ADODB.Recordset
               
               Dim strServer, strDatabase, strUsername, strPassword As String
               Dim strConnectionString As String
               strServer = "."
               strDatabase = "Northwind"
               strUsername = "sa"
               strPassword = "123"
               
               strConnectionString = "Provider=SQLOLEDB;Data Source=" & strServer & ";Initial Catalog=" & strDatabase & ";User ID=" & strUsername & ";Password=" & strPassword & ";"
               
               
               Set cnn1 = New ADODB.Connection
               cnn1.ConnectionString = strConnectionString
               cnn1.CommandTimeout = 0
               cnn1.Open
               
               Dim strSQL As String
               strSQL = "select * from dbo.Products"
               
               
               Set rst1 = New ADODB.Recordset
               rst1.Open strSQL, cnn1, adOpenKeyset, adLockOptimistic
               
               Set Me.Recordset = rst1
               
  همانطور که میدانید برای خواندن اطلاعات از یک سرور SQL Server به اطلاعات زیر احتیاج داریم :
  • نام سرور
  • نام پایگاه داده
  • نام کاربری
  • رمز ورود
کافیست که در کد بالا اطلاعات سرور خود را با اطلاعات نمونه جایگزین کنید (در بخش زیر)
strServer = "."
               strDatabase = "Northwind"
               strUsername = "sa"
               strPassword = "123"
و مشاهده خواهید کرد که فرم شما بدون وجود هر گونه جدول یا Query و مستقیما اطلاعات را با استفاده از ADO از SQL Server میگیرد و در فرم نمایش میدهد. ارتباط اکسس با SQL بدون جدول یا Query و دو نکته که در پایان باید خدمتتان عرض کنم : اولا اینکه برای دسترسی به اطلاعات جداول دیگر باید سطر زیر را ویرایش کنید :
strSQL = "select * from dbo.Products"
و ثانیا اینکه ما را از نظرات و انتقادات خود محروم نفرمائید ! (لینک دانلود فایل در پایین مطلب)   ارادتمند ، وحید فرزام [purchase_link id="6738" text="اضافه کردن به سبد خرید" style="button" color="blue"]  
نویسنده : وحید فرزام
تاریخ انتشار : 1394-09-22 03:30:00
10015

2 نظر

user


ثبت نظر 1394-11-08 03:30:00
سلام چطور میتوان فایل های رایگان را دانلود نمود؟
ثبت نظر
وحید فرزام 1394-11-08 03:30:00
راهنمای خرید فایل و دانلود فایل های رایگان را می توانید در لینک زیر مشاهده کنید : http://www.fardanesh.ir/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D9%86%D8%AD%D9%88%D9%87-%D8%AE%D8%B1%DB%8C%D8%AF-%D9%85%D8%AD%D8%B5%D9%88%D9%84%D8%A7%D8%AA-%D9%81%D8%B1%D8%AF%D8%A7%D9%86%D8%B4/
ثبت نظر 1394-12-02 03:30:00 مرتضی
سلام - من اجرا میکنم روی دستور cnn1.Open خطا میده و اجرا نمیکنه . چرا ؟
ثبت نظر
وحید فرزام 1394-12-02 03:30:00
سلام- مهمترین دلیل خطا در باز کردن کاننکشن، درست نبودن اطلاعات اکانت SQL می باشد. مطمئن شوید که نام سرور، نام دیتابیس، نام کاربری، رمز ورود و بالاخره جمله اس کیو ال را درست نوشته اید.

تازه ترین ها