آموزش قابلیت های اکسز

قابلیت‌های Microsoft Access

توسط admin | گروه آموزش اکسس Microsoft access | 1403/12/09

نظرات 0

قابلیت‌های Microsoft Access

مایکروسافت اکسس (Microsoft Access) یکی از ابزارهای مدیریت پایگاه داده (DBMS) است که بخشی از مجموعه Microsoft Office محسوب می‌شود. این نرم‌افزار امکان ذخیره، مدیریت، و تحلیل داده‌ها را برای کاربران فراهم می‌کند.

قابلیت‌های کلیدی اکسس

  1. ایجاد و مدیریت پایگاه داده‌ها

    • امکان طراحی و ایجاد جداول (Tables) برای ذخیره داده‌ها
    • پشتیبانی از کلیدهای اصلی و خارجی (Primary & Foreign Keys) برای برقراری ارتباط بین جداول
  2. ساخت و اجرای کوئری‌ها (Queries)

    • امکان جستجو، فیلتر کردن و تحلیل داده‌ها با استفاده از SQL
    • پشتیبانی از Query Design برای کاربرانی که با SQL آشنایی ندارند
  3. طراحی فرم‌ها (Forms)

    • ایجاد رابط کاربری گرافیکی برای ورود و مشاهده داده‌ها
    • امکان استفاده از کنترل‌های گرافیکی مانند دکمه‌ها، لیست‌ها و چک‌باکس‌ها
  4. ایجاد گزارش‌ها (Reports)

    • امکان تولید و چاپ گزارش‌های سفارشی از داده‌ها
    • قابلیت افزودن نمودارها و خلاصه‌های آماری به گزارش‌ها
  5. اتوماسیون با ماکروها (Macros) و VBA

    • امکان خودکارسازی فرآیندها با استفاده از Macros
    • برنامه‌نویسی پیشرفته با Visual Basic for Applications (VBA)
  6. پشتیبانی از چند کاربر (Multi-User Support)

    • امکان استفاده چند کاربره با اتصال به پایگاه داده‌های مشترک
    • امکان اتصال به SQL Server برای کاربرانی که به محیط پایدارتر و مقیاس‌پذیرتر نیاز دارند

مقایسه نسخه‌های مختلف Microsoft Access

هر نسخه جدید از Microsoft Access قابلیت‌های جدید و بهبودهایی نسبت به نسخه‌های قبلی دارد. در جدول زیر، برخی از ویژگی‌های نسخه‌های مختلف آورده شده است:

نسخه ویژگی‌های کلیدی
Access 2007 معرفی فرمت جدید فایل (ACCDB)، Ribbon Interface، بهبود در طراحی فرم‌ها
Access 2010 قابلیت‌های جدید در ماکروها، پشتیبانی از Web Databases با SharePoint
Access 2013 طراحی مدرن‌تر، معرفی Web Apps، سازگاری بیشتر با Office 365
Access 2016 بهبود در اتصال به منابع داده خارجی، پشتیبانی از داده‌های JSON
Access 2019 بهبود در نمودارها و گزارش‌ها، سازگاری بهتر با Cloud و OneDrive
Access 2021 (Office 365) عملکرد بهینه‌تر، اضافه شدن Linked Table Manager برای مدیریت جداول متصل

نتیجه‌گیری

  • اگر به یک نسخه پایدار نیاز دارید و به Cloud وابسته نیستید، Access 2016 و 2019 گزینه‌های خوبی هستند.
  • اگر از Office 365 استفاده می‌کنید، نسخه 2021 بهترین انتخاب است، زیرا پشتیبانی بهتری از ویژگی‌های جدید دارد.
  • اگر نیاز به کار چند کاربره پیشرفته دارید، بهتر است به جای Access از SQL Server استفاده کنید.

در ادامه لیستی از توابع پرکاربرد در این نرم‌افزار آورده شده است. این توابع در دسته‌های مختلفی مانند ریاضی، متنی، تاریخی و ... قرار دارند. توجه داشته باشید که این فهرست شامل توابعی است که در نسخه‌های قبلی Access نیز موجود بوده‌اند و ممکن است برخی از آن‌ها در نسخه‌های جدیدتر بهبود یافته یا تغییراتی داشته باشند.

ردیف نام تابع دسته‌بندی
1 Abs ریاضی
2 Acos ریاضی
3 Acosh ریاضی
4 Array آرایه
5 Asc متنی
6 Asin ریاضی
7 Asinh ریاضی
8 Atn ریاضی
9 Atanh ریاضی
10 Avg تجمیعی
11 Beep عمومی
12 CallByName عمومی
13 CBool تبدیل
14 CByte تبدیل
15 CCur تبدیل
16 CDate تبدیل
17 CDbl تبدیل
18 CDec تبدیل
19 Choose انتخاب
20 Chr متنی
21 ChrB متنی
22 ChrW متنی
23 CInt تبدیل
24 CLng تبدیل
25 Cos ریاضی
26 Cosh ریاضی
27 CSng تبدیل
28 CStr تبدیل
29 CurDir فایل
30 CVar تبدیل
31 CVErr خطا
32 DAvg تجمیعی
33 DCount تجمیعی
34 DFirst تجمیعی
35 DLast تجمیعی
36 DLookup جستجو
37 DMax تجمیعی
38 DMin تجمیعی
39 DStDev آماری
40 DStDevP آماری
41 DSum تجمیعی
42 DVar آماری
43 DVarP آماری
44 Date تاریخ و زمان
45 DateAdd تاریخ و زمان
46 DateDiff تاریخ و زمان
47 DatePart تاریخ و زمان
48 DateSerial تاریخ و زمان
49 DateValue تاریخ و زمان
50 Day تاریخ و زمان
51 Debug.Assert اشکال‌زدایی
52 Debug.Print اشکال‌زدایی
53 Dir فایل
54 DoEvents عمومی
55 Environ سیستم
56 EOF فایل
57 Error خطا
58 Exp ریاضی
59 FileAttr فایل
60 FileDateTime فایل
61 FileLen فایل
62 Fix ریاضی
63 Format متنی
64 FormatCurrency متنی
65 FormatDateTime متنی
66 FormatNumber متنی
67 FormatPercent متنی
68 FreeFile فایل
69 FV مالی
70 GetAllSettings سیستم
71 GetAttr فایل
72 GetObject سیستم
73 GetSetting سیستم
74 Hex متنی
75 Hour تاریخ و زمان
76 IIf منطقی
77 IMEStatus سیستم
78 Input فایل
79 InputB فایل
80 InputBox متنی
81 InStr متنی
82 InStrB متنی
83 InStrRev متنی
84 Int ریاضی
85 IPmt مالی
86 IRR مالی
87 IsArray نوع داده
88 IsDate نوع داده
89 IsEmpty نوع داده
90 IsError نوع داده
91 IsMissing نوع داده
92 IsNull نوع داده
93 IsNumeric نوع داده
94 IsObject نوع داده
95 Join متنی
96 LBound آرایه
97 LCase متنی
98 Left متنی
99 LeftB متنی
100 Len متنی
101 LenB متنی
102 LoadPicture گرافیک
103 Loc فایل
104 LOF فایل
105 Log ریاضی
106 LTrim متنی
107 Me شیء
108 Mid متنی
109 MidB متنی
110 Minute تاریخ و زمان
111 MIRR مالی
112 Month تاریخ و زمان
113 MonthName تاریخ و زمان
114 MsgBox متنی
115 Now تاریخ و زمان
116 NPer مالی
117 NPV مالی
118 Oct متنی
119 Partition ریاضی
120 Pmt مالی
121 PPmt مالی
122 PV مالی
123 QBColor گرافیک
124 Rate مالی
125 RGB گرافیک
126 Right متنی
127 RightB متنی
128 Rnd ریاضی
129 Round ریاضی
130 RTrim متنی
131 Second تاریخ و زمان
132 Seek فایل
133 Sgn ریاضی
134 Shell سیستم
135 Sin ریاضی
136 Sinh ریاضی
137 SLN مالی
138 Space متنی
139 Spc متنی
140 Sqr ریاضی
141 StDev آماری
142 Str متنی


در ادامه، هر یک از این توابع را با توضیح و مثال عملی در Microsoft Access VBA بررسی می‌کنیم:


1. Array Function

تابع Array برای ایجاد یک آرایه در VBA استفاده می‌شود.

مثال:

vba
Sub TestArray() Dim arr As Variant arr = Array("Apple", "Banana", "Cherry") ' ایجاد یک آرایه از رشته‌ها MsgBox arr(1) ' نمایش مقدار عنصر دوم (Banana) End Sub

خروجی: Banana


2. Filter Function

تابع Filter برای فیلتر کردن عناصر یک آرایه بر اساس یک مقدار خاص استفاده می‌شود.

مثال:

vba
Sub TestFilter() Dim arr As Variant Dim result As Variant arr = Array("Apple", "Banana", "Cherry", "Apricot") result = Filter(arr, "Ap") ' فیلتر کردن مواردی که شامل "Ap" هستند MsgBox result(0) ' نمایش اولین مقدار فیلتر شده (Apple) End Sub

خروجی: Apple


3. Join Function

تابع Join برای ترکیب عناصر یک آرایه به یک رشته واحد استفاده می‌شود.

مثال:

vba
Sub TestJoin() Dim arr As Variant Dim result As String arr = Array("Apple", "Banana", "Cherry") result = Join(arr, ", ") ' ترکیب آرایه با جداکننده ", " MsgBox result End Sub

خروجی: Apple, Banana, Cherry


4. LBound Function

تابع LBound مقدار کمترین ایندکس (شروع) یک آرایه را برمی‌گرداند.

مثال:

vba
Sub TestLBound() Dim arr As Variant arr = Array("Apple", "Banana", "Cherry") MsgBox LBound(arr) ' نمایش مقدار کمترین ایندکس (معمولاً 0) End Sub

خروجی: 0


5. Split Function

تابع Split یک رشته را با استفاده از یک جداکننده مشخص، به یک آرایه تبدیل می‌کند.

مثال:

vb
Sub TestSplit() Dim arr As Variant arr = Split("Apple,Banana,Cherry", ",") ' تبدیل رشته به آرایه MsgBox arr(1) ' نمایش مقدار دوم آرایه (Banana) End Sub

خروجی: Banana


6. UBound Function

تابع UBound مقدار بیشترین ایندکس (انتهای) یک آرایه را برمی‌گرداند.

مثال:

vba
Sub TestUBound() Dim arr As Variant arr = Array("Apple", "Banana", "Cherry") MsgBox UBound(arr) ' نمایش مقدار بالاترین ایندکس (2) End Sub

خروجی: 2


جمع‌بندی

تابع کاربرد مثال خروجی
Array ایجاد آرایه "Banana"
Filter فیلتر کردن عناصر آرایه "Apple"
Join ترکیب عناصر آرایه به یک رشته "Apple, Banana, Cherry"
LBound کمترین ایندکس آرایه 0
Split تبدیل رشته به آرایه "Banana"
UBound بیشترین ایندکس آرایه 2

سوال یا نکته خاصی اگر بود در انتهای صفحه بپرسین تا پاسخ بدهم.

در ادامه، توابع مربوط به تبدیل داده‌ها (Conversion Functions) در Microsoft Access VBA را با توضیح و مثال بررسی می‌کنیم:


1. Asc Function

تابع Asc کد ASCII یک کاراکتر را برمی‌گرداند.

مثال:

vba
Sub TestAsc() MsgBox Asc("A") ' مقدار 65 را نمایش می‌دهد End Sub

خروجی: 65


2. Chr Function

تابع Chr یک عدد ASCII را به کاراکتر مربوطه تبدیل می‌کند.

مثال:

vba
Sub TestChr() MsgBox Chr(65) ' مقدار "A" را نمایش می‌دهد End Sub

خروجی: A


3. EuroConvert Function

تابع EuroConvert برای تبدیل ارزها به یورو استفاده می‌شود. در Access 2021 پشتیبانی از این تابع ممکن است بسته به تنظیمات منطقه‌ای متفاوت باشد.

مثال:

vba
Sub TestEuroConvert() MsgBox EuroConvert(100, "USD", "EUR") ' تبدیل 100 دلار به یورو End Sub

نیازمند تنظیمات ارزی صحیح در سیستم است.


4. FormatCurrency Function

تابع FormatCurrency یک عدد را به فرمت ارز تبدیل می‌کند.

مثال:

vba
Sub TestFormatCurrency() MsgBox FormatCurrency(1234.56) ' نمایش مقدار $1,234.56 End Sub

خروجی: $1,234.56 (بسته به تنظیمات محلی)


5. FormatDateTime Function

تابع FormatDateTime یک تاریخ را به فرمت‌های استاندارد نمایش می‌دهد.

مثال:

vba
Sub TestFormatDateTime() MsgBox FormatDateTime(Now, vbLongDate) ' نمایش تاریخ کامل End Sub

خروجی: Saturday, February 27, 2025 (بسته به تنظیمات)


6. FormatNumber Function

تابع FormatNumber عدد را به فرمت عددی خاص نمایش می‌دهد.

مثال:

vba
Sub TestFormatNumber() MsgBox FormatNumber(1234.567, 2) ' نمایش مقدار 1,234.57 End Sub

خروجی: 1,234.57


7. FormatPercent Function

تابع FormatPercent عدد را به فرمت درصدی نمایش می‌دهد.

مثال:

vba
Sub TestFormatPercent() MsgBox FormatPercent(0.75) ' نمایش مقدار 75.00% End Sub

خروجی: 75.00%


8. GUIDFromString Function

تابع GUIDFromString یک رشته GUID را به یک مقدار GUID تبدیل می‌کند.

مثال:

vba
Sub TestGUIDFromString() Dim myGUID As Variant myGUID = GUIDFromString("{12345678-1234-1234-1234-123456789ABC}") MsgBox myGUID End Sub

نیازمند تنظیمات خاص GUID در سیستم است.


9. Hex Function

تابع Hex یک مقدار عددی را به فرمت هگزادسیمال تبدیل می‌کند.

مثال:

vba
Sub TestHex() MsgBox Hex(255) ' نمایش مقدار FF End Sub

خروجی: FF


10. Nz Function

تابع Nz مقدار Null را به مقدار پیش‌فرض جایگزین می‌کند.

مثال:

vba
Sub TestNz() Dim myVar As Variant myVar = Null MsgBox Nz(myVar, "No Data") ' مقدار جایگزین را نمایش می‌دهد End Sub

خروجی: No Data


11. Oct Function

تابع Oct یک عدد را به پایه ۸ (Octal) تبدیل می‌کند.

مثال:

vba
Sub TestOct() MsgBox Oct(255) ' نمایش مقدار 377 End Sub

خروجی: 377


12. Str Function

تابع Str یک عدد را به رشته متنی تبدیل می‌کند.

مثال:

vba
Sub TestStr() Dim myNum As Integer myNum = 123 MsgBox Str(myNum) ' نمایش مقدار " 123" End Sub

خروجی: " 123" (فضای اضافی قبل از عدد به دلیل فرمت پیش‌فرض رشته در VBA)


13. StringFromGUID Function

تابع StringFromGUID مقدار GUID را به رشته تبدیل می‌کند.

مثال:

vba
Sub TestStringFromGUID() Dim myGUID As String myGUID = StringFromGUID(GUIDFromString("{12345678-1234-1234-1234-123456789ABC}")) MsgBox myGUID End Sub

نیازمند تنظیمات خاص GUID در سیستم است.


14. Type Conversion Functions

این توابع برای تبدیل انواع داده‌ها استفاده می‌شوند:

تابع کاربرد مثال خروجی
CInt تبدیل به عدد صحیح CInt(123.9) → 124
CDbl تبدیل به عدد اعشاری CDbl("12.34") → 12.34
CStr تبدیل به رشته CStr(100) → "100"
CDate تبدیل به تاریخ CDate("02/27/2025") → 27-Feb-2025

مثال:

vba
Sub TestTypeConversion() Dim myValue As Variant myValue = "123.45" MsgBox CDbl(myValue) ' مقدار عددی 123.45 را نمایش می‌دهد End Sub

خروجی: 123.45


15. Val Function

تابع Val عدد را از داخل یک رشته استخراج می‌کند.

مثال:

vba
Sub TestVal() MsgBox Val("123ABC") ' نمایش مقدار 123 End Sub

خروجی: 123


جدول خلاصه

تابع کاربرد نمونه خروجی
Asc کاراکتر به کد ASCII Asc("A") → 65
Chr کد ASCII به کاراکتر Chr(65) → "A"
EuroConvert تبدیل ارز به یورو (بسته به تنظیمات)
FormatCurrency فرمت ارز $1,234.56
FormatDateTime فرمت تاریخ Saturday, February 27, 2025
FormatNumber فرمت عددی 1,234.57
FormatPercent فرمت درصد 75.00%
GUIDFromString تبدیل رشته به GUID (نیازمند تنظیمات GUID)
Hex تبدیل به هگزادسیمال Hex(255) → "FF"
Nz جایگزین مقدار Null "No Data"
Oct تبدیل به عدد هشت‌پایه Oct(255) → "377"
Str تبدیل عدد به رشته " 123"
StringFromGUID تبدیل GUID به رشته (نیازمند تنظیمات GUID)
Val استخراج عدد از رشته Val("123ABC") → 123

 

اگر سوالی داشتین در انتهای صفحه مطرح کنین.

توضیح و مثال‌های توابع مربوط به پایگاه داده (Database Functions) در Access VBA

در اینجا توابع Database در Access VBA را همراه با توضیح و مثال بررسی می‌کنیم:


1. DDE Function

تابع DDE در VBA برای دریافت داده از یک کانال DDE (Dynamic Data Exchange) استفاده می‌شود. این تابع معمولاً برای ارتباط بین برنامه‌ها مانند Access و Excel کاربرد دارد.

مثال: دریافت مقدار از یک سلول در اکسل

vba
Sub TestDDE() Dim myData As String myData = DDE("Excel", "Sheet1", "R1C1") ' دریافت مقدار از سلول A1 در اکسل MsgBox myData End Sub

توجه: مایکروسافت استفاده از DDE را منسوخ کرده و پیشنهاد می‌شود از Automation (OLE) برای ارتباط با برنامه‌های دیگر استفاده کنید.


2. DDEInitiate Function

این تابع برای ایجاد یک کانال DDE بین Access و برنامه دیگر مانند Excel یا Word استفاده می‌شود.

مثال: برقراری ارتباط بین Access و Excel

vba
Sub TestDDEInitiate() Dim channel As Long channel = DDEInitiate("Excel", "Sheet1") ' ایجاد کانال با اکسل MsgBox "کانال DDE ایجاد شد: " & channel DDETerminate channel ' بستن کانال End Sub

خروجی: نمایش یک پیام که تأیید می‌کند ارتباط با Excel برقرار شده است.


3. DDERequest Function

این تابع مقدار یک سلول یا داده خاص را از یک کانال DDE درخواست می‌کند.

مثال: دریافت مقدار از سلول A1 در اکسل

vba
Sub TestDDERequest() Dim channel As Long Dim myData As String channel = DDEInitiate("Excel", "Sheet1") myData = DDERequest(channel, "R1C1") ' دریافت مقدار از سلول A1 MsgBox "داده دریافت شده: " & myData DDETerminate channel ' بستن کانال End Sub

خروجی: مقدار سلول A1 در Excel.


4. DDESend Function

این تابع مقدار را از Access به برنامه‌ای دیگر مانند Excel ارسال می‌کند.

مثال: ارسال مقدار به سلول A1 در اکسل

vba
Sub TestDDESend() Dim channel As Long channel = DDEInitiate("Excel", "Sheet1") DDESend channel, "R1C1", "Hello, Excel!" ' ارسال مقدار به سلول A1 DDETerminate channel ' بستن کانال End Sub

اثر: مقدار "Hello, Excel!" در سلول A1 در اکسل قرار می‌گیرد.


5. Eval Function

تابع Eval یک عبارت متنی را به‌عنوان کد VBA اجرا می‌کند و مقدار آن را برمی‌گرداند.

مثال: اجرای یک عبارت ریاضی

vba
Sub TestEval() Dim result As Variant result = Eval("1 + 2 * 3") ' مقدار 7 را محاسبه می‌کند MsgBox result End Sub

خروجی: 7


6. Partition Function

تابع Partition مقدار عددی را در یک بازه (رنج) قرار داده و مشخص می‌کند که عدد در کدام قسمت قرار می‌گیرد.

مثال: تقسیم‌بندی اعداد به بازه‌های 10تایی

vba
Sub TestPartition() MsgBox Partition(27, 0, 100, 10) ' بررسی عدد 27 در بازه‌های 10تایی End Sub

خروجی: 20:29
(یعنی مقدار 27 در بازه [20 تا 29] قرار دارد.)


جدول خلاصه

تابع کاربرد نمونه خروجی / اثر
DDE دریافت مقدار از یک کانال DDE مقدار سلول A1 در اکسل
DDEInitiate ایجاد ارتباط بین Access و برنامه‌های دیگر مقدار عددی کانال DDE
DDERequest درخواست مقدار از کانال DDE مقدار یک سلول از اکسل
DDESend ارسال مقدار از Access به برنامه دیگر مقدار جدید در اکسل
Eval اجرای یک عبارت VBA از رشته Eval("1+2*3") → 7
Partition قرار دادن عدد در یک بازه مشخص Partition(27, 0, 100, 10) → "20:29"

 

این توابع بیشتر برای ارتباط Access با برنامه‌های دیگر یا تحلیل داده‌ها استفاده می‌شوند. OLE و ADO  برای ارتباطات بین Access و سایر برنامه‌ها مانند Excel، Word، یا SQL Server استفاده می‌شوند و به جای DDE از تکنیک‌های جدیدتر مثل OLE Automation و ADO (ActiveX Data Objects) بهره می‌برند.

بیاین این دو تکنیک رو بررسی کنیم و مثال‌هایی از نحوه استفاده در Access را مشاهده نمایید.


1. OLE Automation

OLE Automation به شما این امکان را می‌دهد که از برنامه‌های دیگر مانند Excel، Word یا Outlook در داخل Access استفاده کنید و کنترل کامل روی آنها داشته باشید. این تکنیک به شما اجازه می‌دهد که مستقیماً از VBA به اشیاء داخل این برنامه‌ها دسترسی پیدا کنید.

مثال: استفاده از Excel در Access با OLE

  1. ایجاد ارتباط با Excel در Access از طریق VBA و انجام عملیات روی یک ورک‌بوک.
vba
Sub UseExcelWithOLE() Dim xlApp As Object Dim xlBook As Object ' ایجاد نمونه Excel Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True ' نمایش Excel ' باز کردن یک فایل Excel Set xlBook = xlApp.Workbooks.Open("C:\Path\To\Your\File.xlsx") ' خواندن داده از سلول A1 MsgBox "مقدار سلول A1: " & xlBook.Sheets(1).Range("A1").Value ' تغییر مقدار سلول A1 xlBook.Sheets(1).Range("A1").Value = "Hello from Access!" ' ذخیره و بستن فایل xlBook.Save xlBook.Close ' پاک کردن شیء Set xlBook = Nothing Set xlApp = Nothing End Sub

شرح:

  • این کد Excel را از طریق OLE Automation در Access باز می‌کند و مقداری از سلول‌ها را خوانده و تغییر می‌دهد.
  • به راحتی می‌توانید داده‌ها را بین Access و Excel منتقل کنید.

2. ADO (ActiveX Data Objects)

ADO برای ارتباط با پایگاه‌داده‌ها (مثلاً SQL Server یا MySQL) و اجرای کوئری‌ها به صورت برنامه‌نویسی استفاده می‌شود. شما می‌توانید از ADO برای اتصال، خواندن و نوشتن داده‌ها در پایگاه‌داده‌ها در داخل Access استفاده کنید.

مثال: اتصال به SQL Server با ADO در Access

  1. اتصال به یک پایگاه داده SQL Server و خواندن داده‌ها از یک جدول.
vba
Sub ConnectToSQLServer() Dim conn As Object Dim rs As Object Dim strSQL As String ' ایجاد شیء اتصال به پایگاه داده SQL Server Set conn = CreateObject("ADODB.Connection") ' مشخص کردن رشته اتصال (Connection String) conn.ConnectionString = "Provider=SQLOLEDB;Data Source=YourServerName;Initial Catalog=YourDatabaseName;User ID=YourUsername;Password=YourPassword" ' اتصال به پایگاه داده conn.Open ' نوشتن یک کوئری SQL strSQL = "SELECT * FROM YourTable" ' اجرای کوئری و دریافت نتایج در یک رکوردست Set rs = conn.Execute(strSQL) ' نمایش نتایج در یک پیام Do While Not rs.EOF MsgBox rs.Fields("YourColumnName").Value rs.MoveNext Loop ' بستن اتصال و آزاد کردن منابع rs.Close conn.Close Set rs = Nothing Set conn = Nothing End Sub

شرح:

  • در این مثال، از ADO برای اتصال به SQL Server و اجرای یک کوئری SQL استفاده می‌کنیم.
  • می‌توانیم داده‌های جدول را از SQL Server در Access دریافت و استفاده کنیم.

3. مقایسه OLE و ADO:

ویژگی OLE Automation ADO
نوع کاربرد برای ارتباط با برنامه‌ها (مانند Excel، Word، Outlook) برای ارتباط با پایگاه داده‌ها (مانند SQL Server، Oracle)
استفاده اصلی کنترل و اتوماسیون برنامه‌ها از Access مدیریت پایگاه‌داده‌ها و اجرای کوئری‌ها
سازگاری Excel، Word، Outlook، و برنامه‌های مشابه پایگاه داده‌های مختلف مانند SQL Server، Oracle، Access
سختی استفاده آسان برای تعامل با برنامه‌های دیگر پیچیده‌تر از OLE، مخصوصاً برای پایگاه داده‌ها

4. ترکیب OLE و ADO در Access

می‌توان از هر دو تکنیک در یک پروژه Access استفاده کرد:

  1. OLE Automation برای ارتباط با Excel و ADO برای دریافت داده‌ها از پایگاه داده‌های SQL Server.
  2. خروجی SQL Server را می‌توان در Excel با OLE ذخیره کرد.

مثال ترکیب OLE و ADO

vba
Sub CombineOLEAndADO() Dim conn As Object Dim rs As Object Dim xlApp As Object Dim xlBook As Object Dim strSQL As String ' اتصال به SQL Server Set conn = CreateObject("ADODB.Connection") conn.ConnectionString = "Provider=SQLOLEDB;Data Source=YourServerName;Initial Catalog=YourDatabaseName;User ID=YourUsername;Password=YourPassword" conn.Open ' اجرای کوئری strSQL = "SELECT * FROM YourTable" Set rs = conn.Execute(strSQL) ' ایجاد Excel و قرار دادن داده‌ها در آن Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Set xlBook = xlApp.Workbooks.Add ' قرار دادن داده‌ها در اولین شیت xlBook.Sheets(1).Range("A1").CopyFromRecordset rs ' بستن اتصال rs.Close conn.Close Set rs = Nothing Set conn = Nothing End Sub

شرح:

  • این کد ابتدا به SQL Server متصل می‌شود و داده‌ها را از یک جدول می‌خواند.
  • سپس داده‌ها را به Excel منتقل می‌کند.

نتیجه‌گیری

  • OLE Automation به شما این امکان را می‌دهد که از برنامه‌های دیگر مانند Excel و Word در Access استفاده کنید و آن‌ها را کنترل کنید.
  • ADO برای ارتباط با پایگاه‌داده‌ها و اجرای کوئری‌های SQL در Access کاربرد دارد.
  • این دو روش می‌توانند در پروژه‌های Access به صورت ترکیبی استفاده شوند تا داده‌ها را از منابع مختلف مدیریت کنید.

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620