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

قابلیتهای کلیدی اکسس
-
ایجاد و مدیریت پایگاه دادهها
- امکان طراحی و ایجاد جداول (Tables) برای ذخیره دادهها
- پشتیبانی از کلیدهای اصلی و خارجی (Primary & Foreign Keys) برای برقراری ارتباط بین جداول
-
ساخت و اجرای کوئریها (Queries)
- امکان جستجو، فیلتر کردن و تحلیل دادهها با استفاده از SQL
- پشتیبانی از Query Design برای کاربرانی که با SQL آشنایی ندارند
-
طراحی فرمها (Forms)
- ایجاد رابط کاربری گرافیکی برای ورود و مشاهده دادهها
- امکان استفاده از کنترلهای گرافیکی مانند دکمهها، لیستها و چکباکسها
-
ایجاد گزارشها (Reports)
- امکان تولید و چاپ گزارشهای سفارشی از دادهها
- قابلیت افزودن نمودارها و خلاصههای آماری به گزارشها
-
اتوماسیون با ماکروها (Macros) و VBA
- امکان خودکارسازی فرآیندها با استفاده از Macros
- برنامهنویسی پیشرفته با Visual Basic for Applications (VBA)
-
پشتیبانی از چند کاربر (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 استفاده میشود.
مثال:
خروجی: Banana
2. Filter Function
تابع Filter
برای فیلتر کردن عناصر یک آرایه بر اساس یک مقدار خاص استفاده میشود.
مثال:
خروجی: Apple
3. Join Function
تابع Join
برای ترکیب عناصر یک آرایه به یک رشته واحد استفاده میشود.
مثال:
خروجی: Apple, Banana, Cherry
4. LBound Function
تابع LBound
مقدار کمترین ایندکس (شروع) یک آرایه را برمیگرداند.
مثال:
خروجی: 0
5. Split Function
تابع Split
یک رشته را با استفاده از یک جداکننده مشخص، به یک آرایه تبدیل میکند.
مثال:
خروجی: Banana
6. UBound Function
تابع UBound
مقدار بیشترین ایندکس (انتهای) یک آرایه را برمیگرداند.
مثال:
خروجی: 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 یک کاراکتر را برمیگرداند.
مثال:
خروجی: 65
2. Chr Function
تابع Chr
یک عدد ASCII را به کاراکتر مربوطه تبدیل میکند.
مثال:
خروجی: A
3. EuroConvert Function
تابع EuroConvert
برای تبدیل ارزها به یورو استفاده میشود. در Access 2021 پشتیبانی از این تابع ممکن است بسته به تنظیمات منطقهای متفاوت باشد.
مثال:
نیازمند تنظیمات ارزی صحیح در سیستم است.
4. FormatCurrency Function
تابع FormatCurrency
یک عدد را به فرمت ارز تبدیل میکند.
مثال:
خروجی: $1,234.56
(بسته به تنظیمات محلی)
5. FormatDateTime Function
تابع FormatDateTime
یک تاریخ را به فرمتهای استاندارد نمایش میدهد.
مثال:
خروجی: Saturday, February 27, 2025
(بسته به تنظیمات)
6. FormatNumber Function
تابع FormatNumber
عدد را به فرمت عددی خاص نمایش میدهد.
مثال:
خروجی: 1,234.57
7. FormatPercent Function
تابع FormatPercent
عدد را به فرمت درصدی نمایش میدهد.
مثال:
خروجی: 75.00%
8. GUIDFromString Function
تابع GUIDFromString
یک رشته GUID را به یک مقدار GUID تبدیل میکند.
مثال:
نیازمند تنظیمات خاص GUID در سیستم است.
9. Hex Function
تابع Hex
یک مقدار عددی را به فرمت هگزادسیمال تبدیل میکند.
مثال:
خروجی: FF
10. Nz Function
تابع Nz
مقدار Null را به مقدار پیشفرض جایگزین میکند.
مثال:
خروجی: No Data
11. Oct Function
تابع Oct
یک عدد را به پایه ۸ (Octal) تبدیل میکند.
مثال:
خروجی: 377
12. Str Function
تابع Str
یک عدد را به رشته متنی تبدیل میکند.
مثال:
خروجی: " 123"
(فضای اضافی قبل از عدد به دلیل فرمت پیشفرض رشته در VBA)
13. StringFromGUID Function
تابع StringFromGUID
مقدار GUID را به رشته تبدیل میکند.
مثال:
نیازمند تنظیمات خاص 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 |
مثال:
خروجی: 123.45
15. Val Function
تابع Val
عدد را از داخل یک رشته استخراج میکند.
مثال:
خروجی: 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 کاربرد دارد.
مثال: دریافت مقدار از یک سلول در اکسل
⚠ توجه: مایکروسافت استفاده از DDE را منسوخ کرده و پیشنهاد میشود از Automation (OLE) برای ارتباط با برنامههای دیگر استفاده کنید.
2. DDEInitiate Function
این تابع برای ایجاد یک کانال DDE بین Access و برنامه دیگر مانند Excel یا Word استفاده میشود.
مثال: برقراری ارتباط بین Access و Excel
خروجی: نمایش یک پیام که تأیید میکند ارتباط با Excel برقرار شده است.
3. DDERequest Function
این تابع مقدار یک سلول یا داده خاص را از یک کانال DDE درخواست میکند.
مثال: دریافت مقدار از سلول A1 در اکسل
خروجی: مقدار سلول A1 در Excel.
4. DDESend Function
این تابع مقدار را از Access به برنامهای دیگر مانند Excel ارسال میکند.
مثال: ارسال مقدار به سلول A1 در اکسل
اثر: مقدار "Hello, Excel!"
در سلول A1 در اکسل قرار میگیرد.
5. Eval Function
تابع Eval
یک عبارت متنی را بهعنوان کد VBA اجرا میکند و مقدار آن را برمیگرداند.
مثال: اجرای یک عبارت ریاضی
خروجی: 7
6. Partition Function
تابع Partition
مقدار عددی را در یک بازه (رنج) قرار داده و مشخص میکند که عدد در کدام قسمت قرار میگیرد.
مثال: تقسیمبندی اعداد به بازههای 10تایی
خروجی: 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
- ایجاد ارتباط با Excel در Access از طریق VBA و انجام عملیات روی یک ورکبوک.
شرح:
- این کد Excel را از طریق OLE Automation در Access باز میکند و مقداری از سلولها را خوانده و تغییر میدهد.
- به راحتی میتوانید دادهها را بین Access و Excel منتقل کنید.
2. ADO (ActiveX Data Objects)
ADO برای ارتباط با پایگاهدادهها (مثلاً SQL Server یا MySQL) و اجرای کوئریها به صورت برنامهنویسی استفاده میشود. شما میتوانید از ADO برای اتصال، خواندن و نوشتن دادهها در پایگاهدادهها در داخل Access استفاده کنید.
مثال: اتصال به SQL Server با ADO در Access
- اتصال به یک پایگاه داده SQL Server و خواندن دادهها از یک جدول.
شرح:
- در این مثال، از 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 استفاده کرد:
- OLE Automation برای ارتباط با Excel و ADO برای دریافت دادهها از پایگاه دادههای SQL Server.
- خروجی SQL Server را میتوان در Excel با OLE ذخیره کرد.
مثال ترکیب OLE و ADO
شرح:
- این کد ابتدا به SQL Server متصل میشود و دادهها را از یک جدول میخواند.
- سپس دادهها را به Excel منتقل میکند.
نتیجهگیری
- OLE Automation به شما این امکان را میدهد که از برنامههای دیگر مانند Excel و Word در Access استفاده کنید و آنها را کنترل کنید.
- ADO برای ارتباط با پایگاهدادهها و اجرای کوئریهای SQL در Access کاربرد دارد.
- این دو روش میتوانند در پروژههای Access به صورت ترکیبی استفاده شوند تا دادهها را از منابع مختلف مدیریت کنید.