نوشته شده در تاریخ: شنبه,3 آبان 1384 |
|
نوشته شده در تاریخ: پنج شنبه,10 آبان 1384 |
|
نوشته شده در تاریخ: جمعه,23 آبان 1384 |
|
نوشته شده در تاریخ: یک شنبه,10 آذر 1384 |
|
ماجول تاریخ هجری شمسی با توابع جانبی آن در بانک اطلاعاتی Access فیلدهای نوع Date پاسخگوی نیاز کاربران فارسی که با تاریخ هجری شمسی کار می کنند نیست . البته برنامه هایی مثل پارسا ۹۹ تقویم سیستم را به تقویم هجری شمسی تبدیل می کند و بعد از آن کاربران فارسی می توانند از فیلدهای نوع Date اکسس استفاده کنند .بدین ترتیب پارسا مشکل تاریخ هجری شمسی را حل میکند ولی بعضا تاریخ شمسی سیستم بنا به دلایلی از بین میرود . مثلا اگربعد از نصب پارسا، Officeنصب شود تاریخ هجری شمسی سیستم به هم می خورد. برای رهایی از وابستگی برنامه های شما به پارسا و ... ، توابع زیر می تواند مشکل شما را بطور کامل حل کند . این ماجول در چندین برنامه تست شده و جواب گرفته است شما هم می توانید از آن استفاده کنید.
(توجه داشته باشید که کدهای نوشته شده ، در اینجا از چپ به راست نمایش داده شده اند ولی با کپی آن در اکسس ، نمایش آن از چپ به راست خواهد شد)
در صورت استفاده از این ماجول ، فیلدهای از نوع تاریخ را باید از نوع Number تعریف کنید. توضیحات بیشتر جهت استفاده از ماجول ، درون خود ماجول نوشته شده است. برای استفاده از این ماجول ، از دو خط پایین تر تا انتهای متن را در حافظه کپی کرده (Copy) و سپس در یک ماجول جدید در اکسس یا VB قرار دهید (Paste):
- تعریف کنید Number(Long) است را بصورت Date فیلدهایی که نوع آنها
' 2- این فیلدها را بصورت 00/00/00 تنظیم کنید InputMask خاصیت
' بدلیل 6 رقمی در نظر گرفتن فیلد تاریخ ، این توابع تا سال 1399 کارایی دارد
' ...
' تاریخ جاری سیستم را به هجری شمسی تبدیل می کند Shamsi() تابع
' بکار ببرید Now() را می توانید در گزارشات بجای تابع Dat() تابع
' :برای جلوگیری از ورود تاریخ غلط به درون یک فیلد بترتیب زیر عمل میکنید
' :بشکل زیر بکار ببرید ValidationRule را در خاصیت ValidDate() تابع
' ValidDate([نام فیلد])=True
' ...
'*******************************************
Public Function Rooz(F_Date As Long) As Byte
'این تابع عدد مربوط به روز یک تاریخ را برمگرداند
Rooz = F_Date Mod 100
End Function
'*******************************************
Function Mah(F_Date As Long) As Byte
'این تابع عدد مربوط به ماه یک تاریخ را برمگرداند
Mah = Int((F_Date Mod 10000) / 100)
End Function
'*******************************************
Public Function Sal(F_Date As Long) As Byte
'این تابع عدد مربوط به سال یک تاریخ را برمگرداند
Sal = Int(F_Date / 10000)
End Function
'*******************************************
Public Function Kabiseh(ByVal OnlySal As Variant) As Byte
'ورودی تابع عدد دورقمی است
'این تابع کبیسه بودن سال را برمیگرداند
'اگر سال کبیسه باشد عدد یک و درغیر اینصورت صفر را بر میگرداند
Kabiseh = 0
If OnlySal >= 75 Then
If (OnlySal - 75) Mod 4 = 0 Then
Kabiseh = 1
Exit Function
End If
ElseIf OnlySal <= 70 Then
If (70 - OnlySal) Mod 4 = 0 Then
Kabiseh = 1
Exit Function
End If
End If
End Function
'*******************************************
Function ValidDate(F_Date As Long) As Boolean
Dim M, S, R As Byte
' این تابع اعتبار یک عدد ورودی را از نظر تاریخ هجری شمسی بررسی می کند
' را برمی گرداند False واگر نامعتبر باشد True اگر تاریخ معتبر باشد
ValidDate = True
S = Sal(F_Date)
M = Mah(F_Date)
R = Rooz(F_Date)
'********
If F_Date < 100101 Then
ValidDate = False
Exit Function
End If
If M > 12 Or M = 0 Or R = 0 Then
ValidDate = False
Exit Function
End If
If R > MahDays(S, M) Then
ValidDate = False
Exit Function
End If
End Function
'*******************************************
Public Function AddDay(ByVal F_Date As Long, ByVal add As Integer) As Long
Dim K, M, S, R, Days As Byte
R = Rooz(F_Date)
M = Mah(F_Date)
S = Sal(F_Date)
K = Kabiseh(S)
'تبدیل روز به عدد 1 جهت ادامه محاسبات و یا اتمام محاسبه
Days = MahDays(S, M)
If add > Days - R Then
add = add - (Days - R + 1)
R = 1
If M < 12 Then
M = M + 1
Else
M = 1
S = S + 1
End If
Else
R = R + add
add = 0
End If
While add > 0
K = Kabiseh(S) 'کبیسه: 1 و غیر کبیسه: 0
Days = MahDays(S, M) 'تعداد روزهای ماه فعلی
Select Case add
Case Is < Days
'اگر تعداد روزهای افزودنی کمتر از یک ماه باشد
R = R + add
add = 0
Case Days To IIf(K = 0, 365, 366) - 1
'اگر تعداد روزهای افزودنی بیشتر از یک ماه و کمتر از یک سال باشد
add = add - Days
If M < 12 Then
M = M + 1
Else
S = S + 1
M = 1
End If
Case Else
'اگر تعداد روزهای افزودنی بیشتر از یک سال باشد
S = S + 1
add = add - IIf(K = 0, 365, 366)
End Select
Wend
AddDay = (S * 10000) + (M * 100) + (R)
End Function
'***********************************************
Public Function Shamsi() As Long
'تاریخ جاری سیستم را به تاریخ هجری شمسی تبدیل می کند
Dim Shamsi_Mabna As Long
Dim Miladi_mabna As Date
Dim Dif As Long
'در اینجا 80/10/11 با 2002/01/01 معادل قرارداده شده
Shamsi_Mabna = 791012
Miladi_mabna = #1/1/01#
Dif = DateDiff("d", Miladi_mabna, Date)
If Dif < 0 Then
MsgBox "تاریخ جاری سیستم شما نادرست است , آنرا اصلاح کنید."
Else
Shamsi = AddDay(Shamsi_Mabna, Dif)
End If
End Function
'***********************************************
Public Function DayWeek(F_Date As Long) As String
Dim a As String
Dim N As Byte
N = DayWeekNo(F_Date)
Select Case N
Case 0
a = "شنبه"
Case 1
a = "یکشنبه"
Case 2
a = "دوشنبه"
Case 3
a = "سهشنبه"
Case 4
a = "چهارشنبه"
Case 5
a = "پنجشنبه"
Case 6
a = "جمعه"
End Select
DayWeek = a
End Function
'***********************************************
Public Function Dat()
Dim D As Long
D = Shamsi
Dat = DayWeek(D) & " 13" & Sal(D) & "/" & Mah(D) & "/" & Rooz(D)
End Function
'***********************************************
Public Function Diff(ByVal FromDate As Long, ByVal To_Date As Long) As Long
'این تابع تعداد روزهای بین دو تاریخ را ارائه می کند
Dim Tmp As Long
Dim S1, M1, r1, S2, m2, r2 As Integer
Dim Sumation As Single
Dim Flag As Boolean
Flag = False
If FromDate = 0 Or IsNull(FromDate) = True Or To_Date = 0 Or IsNull(To_Date) = True Then
Diff = 0
Exit Function
End If
If FromDate > To_Date Then
'اگر تاریخ شروع از تاریخ پایان بزرگتر باشد آنها موقتا جابجا می شوند
Flag = True
Tmp = FromDate
FromDate = To_Date
To_Date = Tmp
End If
r1 = Rooz(FromDate)
M1 = Mah(FromDate)
S1 = Sal(FromDate)
r2 = Rooz(To_Date)
m2 = Mah(To_Date)
S2 = Sal(To_Date)
Sumation = 0
Do While S1 < S2 - 1 Or (S1 = S2 - 1 And (M1 < m2 Or (M1 = m2 And r1 <= r2)))
'اگر یک سال یا بیشتر اختلاف بود
If Kabiseh((S1)) = 1 Then
If M1 = 12 And r1 = 30 Then
Sumation = Sumation + 365
r1 = 29
Else
Sumation = Sumation + 366
End If
Else
Sumation = Sumation + 365
End If
S1 = S1 + 1
Loop
Do While S1 < S2 Or M1 < m2 - 1 Or (M1 = m2 - 1 And r1 < r2)
'اگر یک ماه یا بیشتر اختلاف بود
Select Case M1
Case 1 To 6
If M1 = 6 And r1 = 31 Then
Sumation = Sumation + 30
r1 = 30
Else
Sumation = Sumation + 31
End If
M1 = M1 + 1
Case 7 To 11
If M1 = 11 And r1 = 30 And Kabiseh(S1) = 0 Then
Sumation = Sumation + 29
r1 = 29
Else
Sumation = Sumation + 30
End If
M1 = M1 + 1
Case 12
If Kabiseh(S1) = 1 Then
Sumation = Sumation + 30
Else
Sumation = Sumation + 29
End If
S1 = S1 + 1
M1 = 1
End Select
Loop
If M1 = m2 Then
Sumation = Sumation + (r2 - r1)
Else
Select Case M1
Case 1 To 6
Sumation = Sumation + (31 - r1) + r2
Case 7 To 11
Sumation = Sumation + (30 - r1) + r2
Case 12
If Kabiseh(S1) = 1 Then
Sumation = Sumation + (30 - r1) + r2
Else
Sumation = Sumation + (29 - r1) + r2
End If
End Select
End If
If Flag = True Then
Sumation = -Sumation
End If
Diff = Sumation
End Function
Public Function DayWeekNo(F_Date As Long) As String
'این تابع یک تاریخ را دریافت کرده و مشخص می کند چه روزی از هفته است
'اگر شنبه باشد عدد 0
'اگر 1شنبه باشد عدد 1
'......
'اگر جمعه باشد عدد 6
Dim day As String
Dim Shmsi_Mabna As Long
Dim Dif As Long
'مبنا 80/10/11
Shmsi_Mabna = 801011
Dif = Diff(Shmsi_Mabna, F_Date)
If Shmsi_Mabna > F_Date Then
Dif = -Dif
End If
'با توجه به اینکه 80/10/11 3شنبه است محاسبه میشود day متغیر
day = (Dif + 3) Mod 7
If day < 0 Then
DayWeekNo = day + 7
Else
DayWeekNo = day
End If
End Function
Function MahName(ByVal Mah_no As Byte) As String
Select Case Mah_no
Case 1
MahName = "فروردین"
Case 2
MahName = "اردیبهشت"
Case 3
MahName = "خرداد"
Case 4
MahName = "تیر"
Case 5
MahName = "مرداد"
Case 6
MahName = "شهریور"
Case 7
MahName = "مهر"
Case 8
MahName = "آبان"
Case 9
MahName = "آذر"
Case 10
MahName = "دی"
Case 11
MahName = "بهمن"
Case 12
MahName = "اسفند"
End Select
End Function
Function SalMah(ByVal F_Date As Long) As Integer
'چهار رقم اول تاریخ که معرف سال و ماه است را برمی گرداند
SalMah = Val(Left$(F_Date, 4))
End Function
Function MahDays(ByVal Sal As Byte, ByVal Mah As Byte) As Byte
'این تابع تعداد روزهای یک ماه را برمی گرداند
Select Case Mah
Case 1 To 6
MahDays = 31
Case 7 To 11
MahDays = 30
Case 12
If Kabiseh(Sal) = 1 Then
MahDays = 30
Else
MahDays = 29
End If
End Select
End Function
Function Make_Date(ByVal F_Date As Long) As String
'یک تاریخ را بصورت یک رشته 10 رقمی با ذکر چهار رقم برای سال ارائه می کند
Dim D As String
D = Trim(Str(F_Date))
If IsNull(F_Date) = True Or F_Date = 0 Then
Make_Date = ""
Else
Make_Date = "13" & Mid(D, 1, 2) & "/" & Mid(D, 3, 2) & "/" & Mid(D, 5, 2)
End If
End Function
Function NextMah(ByVal Sal_Mah As Integer) As Integer
If (Sal_Mah Mod 100) = 12 Then
NextMah = (Int(Sal_Mah / 100) + 1) * 100 + 1
Else
NextMah = Sal_Mah + 1
End If
End Function
Function PreviousMah(ByVal Sal_Mah As Integer) As Integer
If (Sal_Mah Mod 100) = 1 Then
PreviousMah = (Int(Sal_Mah / 100) - 1) * 100 + 12
Else
PreviousMah = Sal_Mah - 1
End If
End Function
Function SubtractDay(ByVal F_Date As Long, ByVal Subtract As Long) As Long
'به تعداد روز معینی از یک تاریخ کم کرده و تاریخ حاصله را ارائه میکند
Dim K, M, S, R, Days As Byte
R = Rooz(F_Date)
M = Mah(F_Date)
S = Sal(F_Date)
K = Kabiseh(S)
'تبدیل روز به عدد 1 جهت ادامه محاسبات و یا اتمام محاسبه
If Subtract >= R - 1 Then
Subtract = Subtract - (R - 1)
R = 1
Else
R = R - Subtract
Subtract = 0
End If
While Subtract > 0
K = Kabiseh(S - 1) 'کبیسه: 1 و غیر کبیسه: 0
Days = MahDays(IIf(M >= 2, S, S - 1), IIf(M >= 2, M - 1, 12)) 'تعداد روزهای ماه قبلی
Select Case Subtract
Case Is < Days
'اگر تعداد روزهای کاهش کمتر از یک ماه باشد
R = Days - Subtract + 1
Subtract = 0
If M >= 2 Then
M = M - 1
Else
S = S - 1
M = 12
End If
Case Days To IIf(K = 0, 365, 366) - 1
'اگر تعداد روزهای کاهش بیشتر از یک ماه و کمتر از یک سال باشد
Subtract = Subtract - Days
If M >= 2 Then
M = M - 1
Else
S = S - 1
M = 12
End If
Case Else
'اگر تعداد روزهای کاهش بیشتر از یک سال باشد
S = S - 1
Subtract = Subtract - IIf(K = 0, 365, 366)
End Select
Wend
SubtractDay = (S * 10000) + (M * 100) + (R)
End Function آموزش اکسس (بخشششم)
Join کردن بیش از ۲ جدول برای Database های Access
کتاب ColSELECT
c.CompanyID,
c.CompanyName,
e.LastName,
e.FirstName,
e.Salary,
d.FullName,
d.RelationShip
FROM
Company c INNER JOIN Employee e
ON c.CompanyID = e.CompanyID
INNER JOIN Dependant d
ON e.SSN = d.SSN
که در بیشتر برنامه های Database Server درست عمل می کند. اما در بانکهای اطلاعاتی Microsoft Access پیغام خطایی با توضیح زیر می دهد :
Operator expected
من پس از یک کم جستجو در کتاب ها و پرسش از دیگران ، یک دوست آمریکایی من راه حل زیر را پیشنهاد داد. در اکسس در برخی قسمت ها وجو د پارانتز الزامی است با اینکه در انواع دیگر بانک های اطلاعاتی نیازی به آن پارانتز ها نیست. یعنی کد مورد نظر را باید به صورت زیر باز نویسی کنیم :
SELECT
c.CompanyID,
c.CompanyName,
e.LastName,
e.FirstName,
e.Salary,
d.FullName,
d.RelationShip
FROM
(Company c INNER JOIN Employee e
ON c.CompanyID = e.CompanyID)
INNER JOIN Dependant d
ON e.SSN = d.SSN
و یک نمونه ی دیگر در اتصال ۴ جدول :
SELECT
cfarticle.id,
cfarticle.title,
cfarticle.description,
cfarticle.dateadded,
editorial.authorname as author,
categories.name,
levels.levelname
FROM
((cfarticle INNER JOIN categories ON cfarticle.category=categories.id)
INNER JOIN editorial ON cfarticle.author=editorial.id)
INNER JOIN levels ON cfarticle.skllevel=levels.id
dFusion MX Bible برای Join کردن بیش از دو جدول یک بانک اطلاعاتی راه حل زیر را پیشنهاد می کند
Access تعریف کلی از اکسس
اکسس ابزاری برای تولید بانکهای اطلاعاتی رابطه ای است . بانکهای اطلاعاتی امکان گردآوری انواع اطلاعات را برای
ذخیره سازی ،جستجو و بازیابی فراهم می کند.
اجزا بانک اطلاعاتی اکسس عبارتند از:
:DataBase
Table .1
Query .2
Form .3
Report .4
Macros .5
Modules .6
جدول) هر جدول برای نگهداری داده های خام بانک اطلاعاتی است.داده ها را شما در جدول وارد ): Table •
می کنید.جداول سپس این داده ها را به شکل سطرها و ستونهایی سازماندهی میکند.
هر پرس و جو برای استخراج اطلاعات مورد نظر از یک بانک اطلاعاتی مورد استفاده قرار می گیردهر پرس : Query •
و جو می تواند گروهی از رکوردها را که شرایط خاص دارا هستند انتخاب کند .پرس و جوها را می توان بر اساس
جداول یا پرس و جوهای دیگر اماده نمود . با استفاده از پزس وجوها می توان رکوردهای بانک اطلاعاتی را انتخاب
کرد، تغییر داد و یا حذف نمود.
متداولترین روش استفاده از فرمها،برای ورود و نمایش داده ها است. : Form •
گزارش ها می توانند بر اساس جدول ،پرس وجوها باشند ،قابلیت گزارش چاپ داده ها می باشدگزارشها را : Repor t •
می توان بر اساس چند جدول و پرس وجو تهیه نمود تا رابطه بین داده ها را نشان داد.
ماکروها به خودکار کردن کارهای تکراری ،بدون نوشتن برنامه های پیچیده یا فراگیری یک زبان برنامه : Macro •
نویسی ، یاری می کند، در واقع ماکروها یکسری قابلیت هایی هستند که امکان سریع سازی را فراهم می سازند .
محیط بسیار قوی و با کیفیت برای برنامه نویسی محاسبات و عملیات پیچیده روی سیستم بانک اطلاعاتی. : Modules •
تکنیک های کار در اکسس
: Data الف - تعریف داده
هرگونه اطلاعات لازم و کاربردی درباره یک موجودیت را یک داده می گویند.
: Fild ب - تعریف
به هر ستون یک جدول که در بر گیرنده ک لیه اطلاعات مربوط به آن ستون می باشد و بخشی از یک موجودیت را
تشگیل میدهد فیلد گفته می شود.
: Rcord ت - تعریف
به هر سطر یک جدول که اطلاعات مربوط به یک موجودیت را نشان می دهد ، رکورد گویند .
ث - تعریف پایگاه داده ای ارتباطی:
پایگاه داده های ارتباطی، مجموعه ای از جدول های داده است که یک فیلد مشترک در هر یک از جدولهای موجود
دارد و از طریق آن می توان داده ها را بهم ربط داد .به این مدل از پایگاه داده ها ، پایگاه داده های ارتباطی
می گویند. RelationShip
به دو صورت زیر می توان یک پایگاه داده رابطه ای ایجاد نمود :
: Database
Blank database .1
Database Wizard .2
Blank Database
قابل طراحی توسط کاربر می باشد . برای ایج اد ………, Table کلیه اشیائ اکسس شامل Blank در صورت انتخاب
را تعیین نمود. Data Base پایگاه داده ابتدا باید نام ومسیر
مشترک میباشد Table, Query, Form گزینه های زیر در اجزا
نمای ورود داده) ) Open .1
نمای طراحی) ) Design .2
ایجاد شئ جدید) ) New .3
دارای گزینه های زیر می باشند: Macros ,modules
اجرا) )Run.1
Design .2
New .3
شامل: Report
پیش نمایش) )Preview .1
Design .2
New .3
Table طراحی جدول
گزینه های زیر قابل استفاده برای طرحی جدول می باشد. New با انتخاب گزینه
Table
:New
DataSheet View .1
Design View .2
Table Wizard .3
Import Table .4
Link Table .5
: DataSheet View
داده ها را به شکل یک صفحه گسترده یا با فرمت جدولی نمایش می دهد.ستونها نماینگر فیلدهای موجود در جدول
در آن موجود می باشد Field تا 10 Field هستند. که از 1
: Open-DataSheet View
در این نما می توان مراحل زیر را انجام داد:
1. وارد کردن داده
2. ویرایش داده ها
3. مشاهده داده ها
4. چاپ کردن داده ها
5. کنترل املای متن
6. تغییر ساختار جدول
7. مرتب کردن رکوردها
8. فیلتر یا صافی روی جدول
9. تغییر صفحه داده ها
: Design View
با استفاده از این نما می توانید ساختار جداول ، فیلدها و خصوصیات را تنظیم نمودو یا مشاهده نمود .
در این نمای طراحی با گزینه های زیر مواجه می شویم :
در قسمت اول پنجره طراحی داریم:
Field Name .1
Data Type .2
Description .3
: Field Properties
General .1
Up Look .2
امکان نام گذاری برای فیلدها را امکان پذیر می سازد :Field Name
قواعد نامگذاری فیلدها
1. نام فیلدها نباید از 64 کاراکتر بیشتر باشد
2. حتما باید اول نام فیلدها با حروف الفبا شروع شود ولی در ادامه نام می توان از ارقام نیز استفاده کرد .
3. در نام فیلد از علامتهایی همچون ] , [ , ? ,! , ) ,( نباید استفاده کرد.
اصل و اساس جدول را مشخص می کند و در واقع نوع داده و اطلاعاتی که در فیلد ذخیره : Data Type
می شود را مشخص می کند.
نوع داده شامل گزینه های زیر می باشد:
نوع داده متنی شامل حرف و عدد که از 1 تا 255 کارکتر را می پذیرد. :Text
نوع داده متنی که 65000 کارکتر حرفی را می پذیرد. : Memo
نوع داده عددی است و برای نگهداری عملیات محاسباتی به کار می رود. : Number
نوع داده تاریخ و زمان که برای مشخص کردن تاریخ و زمان به کار می رود. : Date/Time
نوع داده که برای مقادیر پولی به کار می رود. : Currency
نوع داده که به طور متوالی رقم می اندازد. : AutoNumber
نوع داده به صورت گزینشی : Yes/No
را پشتیبانی می کند ، نگهداری می کند. ole کلیه برنامه های کاربردی که : Ole Object
را نگهداری می کند. Web کلیه سندها و صفحات : HyperLink
امکان انتخاب گزینه ها را به صورت انتخاب از لیست فراهم می کند.این گزینه روی دو نوع : LookUp Wizard
قابل اجرا است و به دو صورت می توان آن را ایجاد نمود : Text,Number داده
Table or Query 1. از
2. ایجاد مقادیر توسط کاربر
ایجاد می گردد. Look Up در هر دو مورد از طریق ویزارد با انتخاب گزینه های مورد نظر به آسانی
: Description •
ایجاد توضیحات در مورد فیلدها در صورت لزوم
: Field Properties •
متناسب با نوع داده خصوصیات را نشان می دهد و نشان می دهدچه خصوصیاتی را می توان وارد کرد.
Table Wizard
امکان استفاده از جداول از پیش طراحی شده برای جدول مورد طراحی.
گزینه های زیر موجود است: Table wizard در قسمت
نمونه جدول توسط این گزینه انتخاب می شود.که بر اساس دو مورد :Sample Tabales .1
Business .A
Personal .B
قابل انتخاب می باشد
نمونه فیلد را تعیین می کند. :Fields Sample .2.
تعیین فیلد برای جدول مورد طراحی توسط دکمه های راهنما. : Fields In My Table .3
NEXT .4
5. در این مرحله انتخاب نام برای جدول و تعیین فیلد کلید اصلی ،در صورتی که پیش فرض را بپذیرید
خود برنامه کلید اصلی ایجاد می کند در غیر این صورت خود باید تعیین نمایید .
NEXT .6
7. در این مرحله می توان نحوه اجرا جدول را تعیین نمود :
Data Enter أ . اجرا در نمای ورود داده
Modify ب . اجرا در نمای طراحی
Finish . ت . اجرا در نمای ورود داده همراه با ایجاد فرم از ان 8
وارد کردن یک فایل از برنامه های تحت آفیس به عنوان جدول : Import Table
پیوند یک فایل از برنامه های تحت آفیس به عنوان جدول : Link Table
آشنایی با خصوصیات فیلدها در محیط طراحی
: Field Size •
دارای فیلد سایز می باشند. Text,Number,AutoNumber نوع داده
Field size: 50 Text
مقدار این نوع داده به صورت عددی بوده که بطور پیش فرض مقدار 50 را نشان میدهدبه عبارتی دیگر کنترل کننده
تعداد کارکترهای ورود داده برای فیلد است.
: Format •
نحوه نمایش و قالب بندی را کنترل می کند فرمت برای نوع داده های زیر کاربرد دارد:
: Text
: Number,Autonumber,Currency
Date/Time
Yes/No
فرمت آن به صورت زیر می باشد
: Input Mask •
Text , Number , این خصوصیت نحوه ورود داده ها را از لحاظ قالبندی کنترل می کند.داده های از نوع
به شرح زیر Input Mask دارای این خصوصیت می باشند ، گزینه ها و علائم مطرح در Date/Time , Currency
می باشد:
0 : احتیاج به عدد است .1
9 : عدد یا فاصله خالی می تواند وارد شود اما الزامی نیست .2
3. #:عدد،علامت مثبت ، علامت منفی و فاصله خالی می تواند وارد شود اما الزامی نیست
احتیاج به حرف است : L .4
5. ? :حرف می تواند وارد شود اما الزامی نیست
احتیاج به حرف یا عدد است : A .6
حرف یا عدد می تواند وارد شود اما الزامی نیست a : .7
8. & :احتیاج به حرف یا فاصله خالی است
هر کارکتر یا فاصله خالی می تواند وارد شود اما الزامی نیست : C .9
10 . < : کارکترهایی که بعد از آن وارد می شود را به حروف کوچک تبدیل می کند
11 . > : کارکترهایی که بعد از آن وارد می شود را به حروف بزرگ تبدیل می کند
12 . ! :باعث می گردد کارکترها از راست به چپ وارد شوند
13 . \ :کارکترهای که به دنبال آن می آیند به جای اینکه به عنوان کد خوانده شود به صورت تحت الفظی نمایش
داده میشود.
: Caption •
عنوان و برچسبی برای فیلد طراحی شده می باشد.در این قسمت قابلیت فارسی نویسی داریم.
: Default Value •
ازقابلیت این خصوصیت برای فیلد طراحی شده تعیین یک مقدار به صورت پیش فرض می باشد.
: Rule Validatin •
خصوصیتی است که امکان کنترل ورود داده ها را دارا می باشد، به عبارتی دیگر با تعیین مقدار در این خصوصیت
کاربر را ملزم به وارد کردن مقادیر تعیین شده می نمایید.
انواع عملگرها
عملگرهای مقایسه ای :
< .1
> .2
= .3
=< .4
=> .5
< > .6
عملگرهای منطقی:
And .1
Or .2
Xor .3
Not .4
.…Between ….And .5
: Validation Text •
درصورتی که کاربر مقادیری خارج از مقادیر تعیین شده در خصوصیت قبل وارد نماید پیغام خطا صادر
می نماید.(کاربر می تواند خود پیغام مناسبی درج نمایید)
: Required •
در صورت فعال کردن این خصوصیت ورود داده برای آن فیلد الزامی می باشددر صورت وارد نکردن داده پیغام اخطار
می دهد.
:Length Allow Zero •
مشخص می کند که آیا متنی به طول صفر در فیلد قابل قبول است یا خیر.
Design روی محیط Edit
Rows Insert • مراحل درج سطر
Rows انتخاب Inser t • استفاده از منو
Rows Insert • استفاده از ابزار
Delete Rows • مراحل حذف سطر
Delete و یا Delete Rows انتخاب Edit • استفاده از منو
Delete Rows • استفاده از ابزار
از روی صفحه کلید Delete • انتخاب سطر و انتخاب
Data sheet View آشنایی با تنظیم خصوصیات محیط ورود داده
: Format -1 منو
تغییر ساختار صفحه گسترده از : …Datasheet یا effect Cell تغییر فونت ،سبک فونت ،سایز فونت و : Font
ها و……. Grid لحاظ
امکان تنظیم ارتفاع سطر ، در صورتی که گزینه استاندارد فعال شود ارتفاع پیش فرض فعال : Row Height
میشود.
امکان تنظیم طول ستون ، در صورتی که گزینه استاندارد فعال شود طول پیش فرض فعال : Column Width
باعث میشود که طول ستون بر اساس نوشته ها تنظیم شود . BestFit میشود.انتخاب گزینه
امکان تغییر نام فیلد را فراهم می اورد. :Rename Column
امکان پنهان کردن فیلد را فراهم می اورد. : Hide Columns
امکان آشکار شدن فیلدپنهان شده را فراهم می اورد. : UnHide Columns
فیلد فریز شده در ابتدا فیلدها قرار گرفته و ثابت می شود،و سایر فیلدها می توانند به صورت : Freeze Columns
عکس عمل فریز می باشد. : UnFreeze All Columns کشویی منطبق با آن فیلد قرار کیرند
-2 طریقه وارد کردن داده ها روی رکورد:
-1-2 تایپ داده متناسب با نوع داده انتخابی و قالبندی انتخابی
که اطلاعات رکورد قبلی را به رکورد جاری منتقل می سازد. ’+Ctrl -2-2 استفاده از
برای ورود تاریخ جاری سیستم :+Ctrl -3-2 استفاده از
برای ورود زمان جاری سیستم ;+Ctrl+Sift -4-2 استفاده از
Paste و سپس Ctrl+C،Copy -5-2 استفاده از
Paste و سپس Ctrl+X،Cut -6-2 استفاده از
-3 طریقه حذف رکوردها:
Edit از منو Delete Rcord -1-3 انتخاب گزینه
Delete Record روی رکورد و انتخاب گزینه R.C -2-3
از باکس ابزار Delete -3-3 استفاده از ابزار
-4 اضافه کردن رکورد به جدول:
Insert از منو Rcord New -1-4 انتخاب گزینه
از راهنمای رکورد New Record -2-4 انتخاب گزینه
از باکس ابزار New Record -3-4 استفاده از ابزار
New Record روی رکورد و انتخاب گزینه R.C -4-4
ادامه تنظیم خصوصیات محیط ورود داده
-5 نحوه
انتخاب فیلد
و رکورد:
-6 حرکت در جدول باکلیدهای صفحه کلید:
: Search -1-7
All -1-1-7
Up -2-1-7
Down -3-1-7
: Match -2-7
جستجو بر اساس بخشی از داده درج شده ) )Field Any Part Of -1-2-7
جستجو بر اساس تمام داده درج شده ) )Whole Field -2-2-7
جستجو بر اساس شروع داده درج شده ) )Start Of Field -3-2-7
اگر دنبال داده قالبندی شده ای می گردید باید از آن استفاده نمایید .بطور : Search Field As Formatted -4-2-7
نمایش دهدو شما به January, به نوعی قالبندی شده باشد که تاریخ را بصورت 2003،11 Date/Time مثال اگر فیلد
نتیجه جستجو را مثبت تلقی کرده اما اگر گزینه مزبور را فعال Access ، 2003 بگردید /1/ دنبال تاریخ با فرمت 11
وارد شده باشد . January, فقط در صورتی نتیجه را مثبت می دهد که تاریخ به صورت 2003،11 Access کنید
براساس قالبندی زیر: Find
بقیه هر تعداد و هر حرفی می تواند باشد. Sm یعنی دو حرف اول *Sm 1. :کارکتر هر.مثال
حرف سوم یک کارکتر و هر حرفی می تواند باشدو Sm یعنی دو حرف اول Sm?th 2. ? :یک کارکتر . مثال
.th سپس
تمامی دادهای 5 رقمی را که با 166 شروع شود access 3. # :تطبیق با یک عدد .لذا اگر به دنبال 166 ## بگردید
را انتخاب می کند
جایگزین کردن : Replase -8
درصورتی که بخواهیم دادهایی را تغییر دهیم از روش جستجو پیدا سپس داده مورد نظر را جایگز ین
می باشد. Find می کنیم.گزینه های آن مشابه
درج داده مورد جستجو : Find What
درج داده جایگزینی : Replace With
جایگزینی یکی یکی : Replace
جایگزینی همه موارد : Replace All
صافی): ) Filter -9
می توان داده های مورد نظر را از بقیه داده ها جدا نمود. Record از منوی Filter توسط گزینه
انواع فیلترها
فیلتر شرطی) ) Filter by form .1
این فیلتر دارای محیطی می باشد با گزینه های زیر:
امکان جستجوو جدا سازی) ) For Look •
امکان شرکت گذاری) ) Or •
فیلتر بر اساس انتخاب) ) selection Filter by .2
عکس عمل فیلتر قبل) ) Filter Excluding Selection .3
فیلتر شرطی با ساختار پرس و جو : Advanced Filter / Sort .4
روی رکورد به صورت یک میانبر عمل می کند و R.C تنها فیلتری است که با :For Filter .5
عمل فیلتر را انجام داد. Enter و Filter For می توان با تایپ کلمه مورد نظر در
نکته:
به طور کلی فیلترها روی سلولی از فیلدها یا به عبارتی روی فیلدها اعمال می گردد.
برای اجرای فیلتر بکار می رود. : Apply Filter •
از حالت فیلتر به جدول بر می گردد. : Remove Filter •
Query آشنایی با طراحی
:Query ---- New
Design View .1
Simple Query Wizard .2
Cross Tab Query Wizard .3
Duplicate Query Wizard Find .4
Find Unmatched Query Wizard .5
1. ایجاد از طریق طراحی
2. ایجاد با ساده ترین شکل از ویزارد
3. گروهبندی فیلدها به صورت سطری ستونی و استنتاج نتایج از تقاطع داده های حاصل از سطر و ستون ایجاد شده.
4. مقایسه دو جدول و یافتن تمام رکوردهای تکراری از دو جدول .
5. مقایسه دو جدول و یافتن تمام رکوردهای تکراری از یک جدول .
:Query تعریف
اطلاعات یک یا چند جدول را با شرایط خاص تحت پرس و جو ایجاد می نماید، و همچنین امکان ساختن فیلدهای
محاسباتی نیز امکان پذیر می باشد.
به دو بخش تقسیم می گردد: Query تعریف
Select Query.1
Action Query.2
می باشد ،یعنی پرس و جو بر اساس انتخاب. Select Query ساده ترین پرس و جو
می تواند یک فیلد را در بر بگیرد. Query
داده اند. Dynamic چون تغییرات روی پرس و جو روی جدول متناظرش اعمال می شود بنابراین صفت
داده اند. SubSet چون پرس و جو زیر مجموعه یک یا چند جدول یا پرس و جو است به آن صفت
Design View از طریق Query ایجاد
را از : Query میتوان Table Show • با ظاهر شدن پنجره
Table .1
Query .2
Both .3
ایجاد نمود.
انتقال داد: Design Gerid در قسمت Field به گزینه Field List به طروق زیر می توان فیلدها را از قسمت
Drop & Drag 1. انتخاب فیلد با عمل
2. انتخاب فیلد و عمل دابل کلیک روی فیلد
و زدن حرف اول Field 3. انتخاب گزینه
4. توسط *میتوان همه فیلدها به پایین منتقل کرد که نتیجه آن در زمان اجرا مشخص می شود.
Drop & Drag 5. انتخاب عنوان جدول و استفاده از
مشخص کننده نام جدول : Table •
مرتب کردن به صورت صعودی و یا نزولی : Sort •
امکان فعال یا عدم فعال بودن فیلد : Show •
Validation امکان شرط گذاری توسط این قسمت فراهم می شود.از عملگرها و شروط ذکر شده در : Criteria •
برای این قسمت می توان استفاده نمود. Rule
شرط یا : Or •
تعریف نحوه شرط گذاری بر اساس نوع داده ها:
مقدار متنی را وارد می نماییم.امکان استفاده از دو کارکتر عام *,? امکان پذیر می باشد. : Text •
مقدار عددی را وارد می نماییم. : Number,Currency •
مقدار تاریخ/ زمان را وارد می نماییم. : Date/Time •
#2002/2/ 2002 عکس العمل برنامه# 11 /2/ مثال: 11
را می نویسد. ”Is”Nall برنامه Null بنویسیم Criteria • اگر در قسمت
Relationship طرز ایجاد
1. ارتباط یک به چند
2. ارتباط یک به یک
3. ارتباط چند به چند
- برای مورد 1و 2 حداقل 2 جدول نیاز است
- نکات ایجاد ارتباط در ارتباط یک به چند
-2 در جدول اول
-1-2 انتخاب فیلدی به صورت منحصر بفرد با شرایط زیر
Primary Key -1-1-2
Index:Yes-No Duplicates -2-1-2
-3-1-2 انتخاب فیلدی هم نام و هم نوع در جدول متناظر
-3 در جدول دوم
-1-3 انتخاب فیلدی هم نام و هم نوع هماهنگ با فیلد جدول اول
Index:Yes-Duplicates Ok -1-1-3
لازم نیست Primary Key -2-1-3
نکات ایجاد ارتباط در ارتباط یک به یک
-3 در جدول اول
-1-4 انتخاب فیلدی به صورت منحصر بفرد با شرایط زیر
Primary Key -1-1-4
:Index-Yes-No Duplicates -2-1-4
-3-1-4 انتخاب فیلدی هم نام و هم نوع در جدول متناظر
-5 در جدول دوم
-1-5 انتخاب فیلدی هم نام و هم نوع هماهنگ با
فیلد جدول اول
:Duplicates Index-Yes- No -1-1-5
Primary Key -2-1-5
نکات ایجاد ارتباط در ارتباط چند به چند
در این نوع 3 جدول مورد نیاز می باشد.
-6 در جدول اول
-1-6 انتخاب فیلدی به صورت منحصر بفرد با شرایط زیر
Primary Key -1-1-6
:Index-Yes-No Duplicates -2-1-6
-3-1-6 انتخاب فیلدی هم نام و هم نوع در جدول واسط
-7 در جدول واسط
-1-7 انتخاب فیلدی هم نام و هم نوع هماهنگ با فیلد جدول اول
:Index-Yes- No Duplicates -1-1-7
Primary Key -2-1-7
-8 در جدول دوم
-1-8 انتخاب فیلدی به صورت منحصر بفرد با شرایط زیر
Primary Key -1-1-8
:Index-Yes-No Duplicates -2-1-8
-3-1-8 انتخاب فیلدی هم نام و هم نوع در جدول واسط
ارتباط یک به چند ، ارتباطی است که در آن محتوای یک فیلد از جدولی در فیلد مشابه از جدول دیگری بیش از
یک بار تکرار شده باشد.
در ارتباط یک به یک درست همان تعداد رکورد که در جدول اول است در جدول دوم نیز وجود دارد .
تلفیق دو مورد بالا در مورد رابطه چند به چند صادق است.
می توان ارتباط برقرار Drop & Drag با عمل Tools از منو RelationShip بعد از تعیین خصوصیات به وسیله
نمود.
Select Query در Total کاربرد
این گزینه را انتخاب می نماییم.یا از ابزار آن View از منو
این گزینه شامل موارد زیر می باشد:
محاسبه جمع مقادیر Sum .1
محاسبه میانگین مقادیر Avg .2
تعیین کمترین مقدار Min .3
تعیین بیشترین مقدار Max .4
محاسبه تعداد مقادیر Count .5
محاسبه انحراف معیار StDev .6
محاسبه واریانس Var .7
تعیین اولین مقدار First .8
تعیین آخرین مقدار Last .9
امکان استفاده از عبارت ساز برای ساختن فیلد محاسباتی Expression .10
مثال:محاسبه نمره نهایی
Field-total:(nomreh) *(zarib nomreh)، در گزینه
. Totals از Expression فعال بودن فیلدهای شرکت کرده در این فیلد محاسباتی همچنین فعال بودن
از علائم ریاضی و همچنین از + ،&(الصاق)در عبارت ساز ی می توان استفاده نمود .
تابعی است که مقدار عددی را با واحد پول نمایش می دهد. ( )CCUR
Action Query آشنایی با
شامل:
: Make-Table Query
: Update Query
گزینه جایگزینی) )Update to: 2.5
گزینه ای که باید تغییر کندو به روز شود) ) Criteria: 2
: Append Query
می باشد با این تفاوت که نام جدولی که می خواهیم داده ها به ان الصاق شود را از Query make- Table همانند
لیست انتخاب می کنیم.
: Delete Query
Where :Delete
همه یکهای موجود در جدول انتخابی را حذف می نمایید) ) Criteria: 1
شود و ذخیره سپس نتیجه آن را روی جدول متناظر مشاهده نمود Run ها باید بعد از ایجاد ابتدا action تذکر: تمام
یا از ابزار آن ! Query از منو Run
Form آشنایی باطراحی فرم
:New <------ Form
Design View .1
Form Wizard .2
AutoForm:Columner .3
AutoForm:Tabuler .4
AutoForm :Datasheet .5
Chart Wizard .6
Wizard Pivot Tabale .7
1. ایجاد فرم از طریق طراحی
2. ایجاد فرم از گزینه های از پیش تعریف شده
3. ایجاد سریع فرم با قرار گیری فیلدها ستونی زیر هم
4. ایجاد سریع فرم با قرار گیری فیلدها ستونی در مجاورت هم
5. ایجاد سریع فرم با نمای صفحه داده
6. ایجاد چارت از ویزارد
7. ایجاد نمودار از جدول به طریق ویزارد
تذکر :
ایجاد فرم از شماره 2 تا 7 با انتخاب نام جدول یا پرس و جو مورد نظر حاصل می شود.
فرم چیست؟
فرم کار جمع آوری اطلاعات را آسان می کند.
فرم را می توان طوری طراحی کرد که هنگام ورود اطلاعات، هر بخش از فرم در جدول خاصی قرار داده شود .یعنی
یک فرم می تواند برای چند جدول اطلاعات فراهم کند بدون آن که پر کننده فرم لازم باشد این نکته را بداندو برای
آن تدارک خاصی ببیند.
: Form Wizard طرز کار
نام جدول یا پرس و جوی مورد نظر را انتخاب کنید.
و اضافه کردن آنها با استفاده از دکمه های راهنما به قسمت Available Field انتخاب نام فیلدهای مورد نظر از
. Selected Field
Next
نحوه قرار گیری فیلدها را تعیین می کنیم.
Columner .1
Tabuler .2
Datasheet .3
Justified .4
Next-
- تعیین پس زمینه برای فرم .
Next- .2
. Finish - نحوه اجرا فرم و سپس
: AutoForm طرز کار
ها قابلیت ایجاد فرم از جدول و پرس و جو را به طور خودکار و سریع امکان پذیر می سازد ،کافیست AutoForm
ها را انتخاب کرده و سپس در قسمت تعیین نام جدول یا پرس و AutoForm گزینه فرم یکی از New از قسمت
کردن فرم ایجاد می گردد. Ok جو گزینه مورد نظر را انتخاب کنیم سپس با
گزارش چیست؟
تفاوت فرم و گزارش:
1. فرم همواره نمایشی است اما گزارش چون به شکل چاپ شده عرضه می شود ثابت و متداوم است .
2. فرم را باید در صفحه نمایش دید و این کار برای بسیاری از کسانی که به اطلاعات نیاز دارند ناممکن است .
3. فرم را نمی توان مبنا قرار داد و بر اساس یک فیلد مشاهده نمود ، در گزارش بر مبنای یک فیلد می توان
گزارش تهیه نمود.
-گزارش را به صورت تصویری نیز می توان ارائه داد .
: Report آشنایی با طراحی
:New <--------- Report
Design View .1
Report Wizard .2
AutoForm:Columnar .3
AutoForm:Tabular .4
Wizard Chart .5
Label Wizard .6
ها می توان گزارش به صورت ستونی زیر هم و یا AutoForm نحوه ایجاد گزارش همانند فرم می باشد، در حالت
ستونی در مجاورت هم داشته باشیم
Report Wizard طرز کار
1. ابتدا تعیین جدول یا پرس و جو
Next .2
3. انتخاب فیلدهای شرکت کننده در گزارش
(Grouping Levels) 3. انتخاب فیلد سر گروه در صورت نیاز
Next .4
6. امکان مرتب کردن تا 4 فیلد به دو صورت صعودی یا نزولی
Next .6
8. امکان آرایش گزارش از لحاظ مر تب شدن و خط کشی و همچنین نحوه قرار گرفتن گزارش به صورت افق
یا عمودی
Next .9
10 . در این مرحله چند شیوه رایج ایجاد گزارش از لحاظ رنگ و قلم حروف را عرضه می کند هر گزینه نام یکی از
این شیوه هاست. با انتخاب یکی از این گزینه ها نتیجه در سمت چپ قابل مشاهده می باشد ، در این مرحله با انتخاب
گزارش تهیه می شود.__