پنجره ای به جهان فناوری اطلاعات
 
             
   

راهنما

 

اینجا هستید :

مطالب سایت

پایگاه داده ها و بانک های اطلاعاتی

اکسس Access

 

 

مطالب مشابه

 

»

برنامه نویسی بانکهای اطلاعاتی توسط اکسس

»

تابعی برای تبدیل عدد به معادل حرفی (فارسی)

»

معرفی سایت های مختلف کامپیوتر (برنامه نویسی ، پایگاه داده ها ، بانک اطلاعات ، اطلاعات عمومی )

 

 

جستجو های مشابه

 

G برنامه نویسی با اکسس

G مثال اکسس

G اکسس

G برنامه نویسی در اکسس

G مثالهایی از جداول اکسس

G چگونه برنامه نویسی کنیم

G کد جستجو در اکسس

G زبان برنامه نویسی

G کد اکسس

G برنامه نویسی اکسس

G جستجو در اکسس

G مقاله در مورد اکسس

G حلقه ها در اکسس

G متغیر ها در اکسس

G دستورات اکسس

G مثالهایی اکسس

G ایندکس در اکسس

 

 

سایر بخش های سایت

 
صفحه اول پنجره ای به جهان فناوری اطلاعات صفحه اول

درباره من درباره من

About me About me

تماس با من تماس

عضویت در خبرنامه عضویت در خبرنامه

جستجوی پیشرفته در سایت جستجوی پیشرفته

فید خوان آر اس اس - RSS Feeds

فیدخوان (RSS)

فید خوان اتم - ATOM Feeds

فیدخوان (ATOM)

 

 

پنجره ای به جهان فناوری اطلاعات

 
صفحه اول پنجره ای به جهان فناوری اطلاعات صفحه اول

طراحی وب سایت

تازه های رایانه و تکنولوژی

برنامه نویسی

پایگاه داده ها و بانک های اطلاعاتی

اینترنت و شبکه

امنیت

نکته ها و ترفند ها

معرفی نرم افزار

سخت افزار

گرافیک کامپیوتری

سیستم عامل

بازی های رایانه ای

کتاب الکترونیک ebook

تجارت، مدیریت و بازاریابی

حسابداری و امور مالی

تحقیق و توسعه

پیوند ها
 

 

 

پیوند های روزانه

   
 

دارای مقام مشورتی ویژه از اکوسوک سازمان ملل متحد
اولین موسسه خیریه دریافت کننده مجوز ملی از وزارت کشور
سوئیس SGS دارای گواهی استاندارد جهانی موسسات غیر دولتی از

 
 

 
 

توسعه نرم افزار منظم
ارائه راهکار های اینترنتی
نرم افزار های مالی و اداری

 
 

 

تبلیغات

   
 

 
 

 

 

مجموعه ها در اکسس

کد مطلب : 507 چاپ - مجموعه ها در اکسس عضویت در خبرنامه سایت تماس با من

 

 

 

مجموعه ها در اکسس

Access هر یک از دو جزء فوق را به عنوان مجموعه هایی از یک بانک اطلاعاتی می شناسد البته مجموعه های دیگری نیز در Access وجود دارند که بعدا به آنها خواهیم پرداخت .

 

با توجه به اینکه Access از زبان VBA مخفف Visual Basic for Application برای نوشتن کد برنامه ها استفاده می کند . در این مقاله میخواهیم ببینیم نحوه دسترسی به این اجزا از طریق کد برنامه چگونه است.

Access هر یک از دو جزء فوق را به عنوان مجموعه هایی از یک بانک اطلاعاتی می شناسد البته مجموعه های دیگری نیز در Access وجود دارند که بعدا به آنها خواهیم پرداخت . جهت دسترسی به هر یک از اجزای یک مجموعه در Access نیاز به تعریف متغیرهایی از همان نوع داریم. تعریف متغیرها توسط دستور Dim صورت می گیرد و علاوه بر انواع معمول در سایر زبانهای برنامه نویسی مانند Integer و String ، انواع زیر نیز کاربرد دارند .

1) Database (برای دسترسی به یک بانک اطلاعاتی )

2) TableDef (برای دسترسی به جداول یک بانک اطلاعاتی )

3) QueryDef (برای دسترسی به پرس وجوهای یک بانک اطلاعاتی )

4) Property (برای دسترسی به خصوصیات یک عنصر اطلاعاتی مانند فیلد )

5) Index (برای دسترسی به اندیسهای یک جدول)

6) Field (برای دسترسی به فیلد های یک جدول)

دستورات زیر مثالهایی از تعریف متغیر هستند

Dim db As Database

Dim tabel As tabledef

Dim Query As QueryDef

Dim fld As Field

Dim Prop As Property

Dim s As String

Dim i As Integer

که از الگوی کلی زیر جهت تعریف متغیر تبعیت میکنند

Dim نام متغیر AS نوع متغیر

جهت انتساب هر یک از متغیرهای اطلاعاتی فوق به عنصر متناظر از بانک اطلاعاتی از دستور Set به شکل زیر استفاده میشود

Set نام متغیر = مقدار

برای مثال دستور Set db = CurrentDb جهت انتساب متغیر db به بانک اطلاعاتی جاری به کار میرود (از تابع CurrentDb جهت اشاره به بانک اطلاعاتی جاری استفاده شده است )

برای دسترسی به اجزا یا خصوصیات یک متغیر اطلاعاتی بین نام متغیر و جزء مربوطه نقطه قرار می گیرد

برای مثال روال زیر که در رویداد کلیک دگمه Command1 واقع بر یک فرم نوشته شده است باعث نمایش نام کلیه جداول اطلاعاتی موجود در بانک اطلاعاتی جاری میشود. البته جداول اطلاعاتی دیگری نیز علاوه بر جداولی که خودتان ایجاد کرده اید نیز نمایش داده میشوند که جدول سیستمی مورد استفاده Access هستند .

Private Sub Command1_Click()

Dim db As Database

Dim i As Integer

Set db = CurrentDb

For i = 0 To db.TableDefs.Count - 1

MsgBox db.TableDefs(i).Name, vbOKOnly

Next i

End Sub

همانطور که در کد فوق مشاهده میشود مجموعه TableDefs مربوط به عنصر بانک اطلاعاتی آرایه ای است از جداول اطلاعاتی .

اندیس آرایه ها از صفر شروع میشود و توسط متد Count تعداد آنها به دست می آید .

جهت مرور اجزای یک مجموعه در Access روش ساده تری نیز وجود دارد و آن استفاده از حلقه For Each Next با الگوی زیر میباشد.

For Each element In Collection

Next element

با استفاده از این دستور روال فوق به شکل زیر در می آید

Private Sub Command1_Click()

Dim db As Database

Dim tabel As tabledef

Set db = CurrentDb

For Each tabel In db.TableDefs

MsgBox tabel.Name, vbOKOnly

Next tabel

End Sub

فیلدهای یک جدول اطلاعاتی نیز تشکیل مجموعه ای به نام Fields را میدهند. کد زیر با مرور فیلدهای جدول TableName نام کلیه فیلدهای آن را نمایش میدهد.

Private Sub Command2_Click()

Dim db As Database

Dim fld As Field

Set db = CurrentDb

For Each fld In db.TableDefs("TableName").Fields

MsgBox fld.Name, vbOKOnly

Next fld

End Sub

در کد فوق امکان انتساب جدول TableName به یک متغیر اطلاعاتی از نوع tabledef و استفاده از آن در برنامه نیز وجود دارد .

هر یک از فیلدهای یک جدول اطلاعاتی دارای خصوصیاتی هستند که این خصوصیات نیز تشکیل یک مجموعه به نام Properties میدهند مثلا خاصیت AllowZeroLength مربوط به یک فیلد مشخص میکند که در هنگام ورود اطلاعات میتوان آن فیلد را خالی رد کرد یا نه . کد زیر با به کارگیری سه حلقه تو در تو نام کلیه خصوصیات مربوط به کلیه فیلدهای جداول اطلاعاتی بانک اطلاعاتی جاری را نمایش میدهد از آنجایی که ای ن تعداد زیاد است میتوانید با فشار Ctrl+Break برنامه را متوقف کرد.

Private Sub Command3_Click()

Dim db As Database

Dim tabel As tabledef

Dim fld As Field

Dim Prop As Property

Set db = CurrentDb

For Each tabel In db.TableDefs

For Each fld In tabel.Fields

For Each Prop In fld.Properties

MsgBox Prop.Name, vbOKOnly, tabel.Name & "." & fld.Name

Next Prop

Next fld

Next tabel

End Sub

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

پرس و جوهای موجود در هر بانک اطلاعاتی نیز تشکیل یک مجموعه به نام QueryDefs میدهند کد زیر با مرور این مجموعه در بانک اطلاعاتی جاری اسامی آنها را نمایش میدهد.

Private Sub Command4_Click()

Dim db As DAO.Database

Dim Query As QueryDef

Set db = CurrentDb

For Each Query In db.QueryDefs

MsgBox Query.Name, vbOKOnly

Next Query

End Sub

هر یک از مجموعه های فوق را علاوه بر مرور با دستور For Each Next توسط اندیس آرایه مربوطه نیز میتوان مرور کرد کد قبل را با این روش نیز بازنویسی میکنیم.

Private Sub Command4_Click()

Dim db As DAO.Database

Dim i As Integer

Set db = CurrentDb

For i = 0 To db.QueryDefs.Count - 1

MsgBox db.QueryDefs(i).Name, vbOKOnly

Next

End Sub

جهت جستجوی سریع رکوردهای یک جدول اطلاعاتی از ایندکس استفاده می شود . اکسس توصیه میکند هر جدول اطلاعاتی دارای یک Primary Key یا کلید اولیه باشد که در حقیقت نوعی ایندکس است که اجازه ورود مقادیر تهی یا Null به فیلد مربوطه را نمی دهد و همچنین از ورود مقادیر تکراری به آن فیلد جلوگیری میکند . به عنوان مثال فیلد کد پرسنلی در جدولی که حاوی اطلاعات پرسنل است میتواند یک فیلد Primary Key باشد.

جهت ایجاد یک ایندکس ، در محیط طراحی یا Design جدول مربوطه روی آیکن Indexes واقع در Toolbar اکسس کلیک کنید در اینجا هر سطر میتواند بیانگر یک ایندکس یا ترتیب بر اساس یک فیلد به صورت صعودی یا نزولی باشد . برای ایجاد یک ایندکس بر اساس چند فیلد ، در سطرهای بعدی ستون نام ایندکس را خالی بگذارید و فقط نام فیلد را انتخاب نمایید.

اندیسهای هر جدول اطلاعاتی نیز تشکیل یک مجموعه به نام Indexes میدهند که توسط کد زیر میتوان آنها را مرور کرد .

Private Sub Command5_Click()

Dim db As Database

Dim tabel As tabledef

Dim ind As Index

Set db = CurrentDb

Set tabel = db.TableDefs("TableName")

For Each ind In tabel.Indexes

MsgBox ind.Name, vbOKOnly

Next ind

End Sub

دستور انتساب

Set tabel = db.TableDefs("TableName")

را به شکل

Set tabel = db!TableName

نیز میتوان نوشت.

در این مقاله به مرور و نمایش عناصر مجموعه های TableDefs ، QueryDefs ، Fields ، Properties و Indexes بسنده کردم در مقاله بعد اگر عمری باقی باشد قصد دارم نحوه اضافه نمودن یک عنصر جدید به هر یک از این مجموعه ها و نیز حذف یک عنصر موجود را تشریح کنم .

هاشمی

prdev

 

 

 

 

موضوعات مرتبط با این مطلب :

  پایگاه داده ها و بانک های اطلاعاتی اکسس Access