الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

*عام* شرح دوال أكسيس

مغلق
بدأه ابن مسقط في 26 ديسمبر 2001 · 23 رد · 16,337 مشاهدة · في قسم الدروس والمشاريع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

جميع الأخوة

السلام عليكم ورحمة الله

لدي أقتراح وأرجو الا يكون ثقيلاً عليكم ، وعسى الجميع أن يستفيد منه بعد تطبيقه: -

أقترح على الأخوة في هذا المكان ممن لديهم إلمام في إستخدام الدوال القيام بشرح عمل أي دالة في الأكسيس سبق له التعامل معها ، ويا حبذا مع مثال ان أمكن.

وبذلك سيكون هذا الموضع مرجعاً لمن يرغب بالإستفادة وتعلم كيفية إستخدام دوال الأكسيس.

فما هو رأيكم طال عمركم ؟ (f)

ibnmusqat.gif
#2

وأنا أويدك لكن الموضوع صعب ويحتاج وقت ممن يستطيع ذلك .

#3

الأخ/ الغريب

أشكرك على تجاوبك ، وأتفق معك في أن ذلك يحتاج إلى وقت وجهد ولكنه ليس بصعب ومشوار الألف ميل يبدأ بخطوة واحدة.

لا بأس من كل شخص يعرف عمل دالة واحده يتكرم علينا بوضعها في هذا الموضوع وبذلك سنجد ان شاء الله هذا المكان ممتلىء بشرح دالات أكسيس.

والله الموفق.

ibnmusqat.gif
#4

بسم الله الرحمن الرحيم

الأخوة الكرام

السلام عليكم ورحمة الله وبركاته

يعلم الله بأنني مشغول جداً ولا أجد الوقت ولكن سوف أحاول المساهمة بقدر الإمكان وأي دالة قمت بشرحها وتوقفت قبل إكمالها الرجاء من لإخوة إكمالها عندما اتأخر في ذلك فقد يكون تأخري عدم وجود الوقت الكافي 0

الدوال كثيرة ومعظمها بالغ التعقيد ولذلك سنحاول شرح ما نستطيع عن تلك الدوال ونقسمها على هيئة دروس لأنه لايمكن أن تشرح مرة واحدة خاصة لابد من الإيضاح0

أنواع الدوال0

1 _دوال التاريخ والوقت0

2 _دوال التحويلات 0

3 _الدوال الماليه0

4 _الدوال الرياضية وحساب المثلثات0

5 _دوال سلاسل البيانات0

6 _دوال المجال التجميعية0

7 _دوال التحقق من أنواع البيانات

8 _دوال المدخلات والمخرجات0

9 _دوال أخرى متنوعة

*******************************************

----[gl]الدرس الأول[/gl]

********

دوال الوقت والتاريخ (Date And time )****

الدالة Now تعيد اليوم والوقت المسجل في الحاسب باستخدام ساعة الحاسب ولا بد من ضبط التاريخ والوقت في الحاسب ولإ النتائج غير دقيقة0

الدالة:Now

الصيغة : Now = اسم مربع النص

-------------------------------------------------------

الدالة : () Time أو ()$Time تعيد الوقت 0

الصيغة: ()Time =اسم مربع النص

------------------------------------------------------

الدالة : Date أو $Date

الصيغة : Date=اسم مربع النص0

------------------------------------------------------

الدالة : Day(Date()) Day

الصيغة:

(()Day(Date=اسم مربع النص

(أي حقل تاريخ ) Day=اسم مربع النص

استخراج اليوم من أي تاريخ مسجل في الجدول مثل تاريخ التوظيف

---------------------------------

الدالة Month

الصيغة

(أي حقل تاريخ ) Month=اسم مربع النص

استخراج الشهر من أي تاريخ مسجل في الجدول مثل تاريخ التوظيف

------------------------------------

الدالة : Year

الصيغة : (أي حقل تاريخ ) Year=اسم مربع النص

استخراج السنة من أي تاريخ مسجل في الجدول مثل تاريخ التوظيف

-------------------------------------

الدالة Hour

اليغة (مربع نص يحتوي على ساعة الجهاز) Hour=اسم مربع النص

استخراج عدد الساعات من الوقت المحدد في مربع النص

-------------------------------------

الدالة Minute

اليغة (مربع نص يحتوي على ساعة الجهاز) Minute =اسم مربع النص

استخراج عدد الدقائق من الوقت المحدد في مربع النص

------------------------------------

الدالة Second

اليغة (مربع نص يحتوي على ساعة الجهاز) Second =اسم مربع النص

استخراج عدد الثواني من الوقت المحدد في مربع النص

------------------------------------

الدالة DateAdd

اليغة (التاريخ ,عدد , الفصل الزمني ) DateAdd =اسم مربع النص

تعيد هذه الدالة تاريخ جديد بعد أن تضيف له قيمة جديدة ويوضح الجدوال التالي المقصود بالفاصل الزمني0

---------------------------------------------

الفاصل الزمني التوضيح

yyyy سنة

q ربع سنة

m شهر

y يوم في السنة

d يوم

w يوم من أيام الاسبوع

ww اسبوع

h ساعة

n دقيقة

s ثانية

-----------------------------------------------------------------

[gl]الدرس الثاني: الدوال المالية[/gl]

هذه الدوال يستخدمها المحاسبون ومن لهم إهتمام بأمور المحاسبة

وهي : ( PMT , PV , FV , RATE ,DDB, SLN ,SYD )

الدالة : PMT تقوم هذه الدالة بحساب الدفعة الدورية لتسديد قرض0

مثال:

 Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
Const MB_YESNO = 4  ' Define Yes/No buttons.
Const ID_NO = 7     ' Define No as a response.
NL = Chr(13) & Chr(10)  ' Define newline.
TB = Chr(9)             ' Define tab.
Fmt = "###,###,##0.00"  ' Define money format.
fVal = 0                    ' Usually 0 for a loan.
pval = InputBox("كم المبلغ الذي تود اقتراضه؟")
APR = InputBox("كم معدل الفائدة السنوية؟")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = InputBox("كم المبلغ الذي سيدفع كقسط شهري؟")
paytype = MsgBox("هل الدفع في نهاية الشهر؟", MB_YESNO, "استفسار")
If paytype = ID_NO Then paytype = BEGINPERIOD Else paytype = ENDPERIOD
payment = Abs(-Pmt(APR / 12, TotPmts, pval, fVal, paytype))
Msg = "مبلغ القسط الشهري = " & Format(payment, Fmt)
Msg = Msg & NL & "هل تود رؤية قائمة بالدفعات  "
Msg = Msg & "والفائدة في كل فترة؟"
MakeChart = MsgBox(Msg, MB_YESNO, "استفسار")  ' See if chart is desired.
If MakeChart <> ID_NO Then
    If TotPmts > 20 Then MsgBox "سنظهر لك 20 فترة فقط .", , "ملحوظة"
    Msg = "الشهر            الدفعة        الأصل        الفائدة" & NL
    For period = 1 To TotPmts
        If period > 20 Then Exit For    ' Only show first 25.
        P = PPmt(APR / 12, period, TotPmts, -pval, fVal, paytype)
        P = (Int((P + 0.005) * 100) / 100)  ' Round principal.
        I = payment - P
        I = (Int((I + 0.005) * 100) / 100)  ' Round interest.
        Msg = Msg & period & TB & Format(payment, Fmt)
        Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
    Next period
    MsgBox Msg, , "قائمة الدفعات "        ' Display amortization table.
End If

------------------------------------------------------------

وهذا مثال أخر قد يكون أوضح ومفهوم أفضل من سابقه

 Dim العملية_الحسابة As Variant
Const نهاية_الشهر = 0, بداية_الشهر = 1
FVal = txt1
If النسبة >1 then النسبة = النسبة /12
الجواب=PMT ( النسبة / 12  , عدد_الأقساط , _   المبلغ  , FVal, وقت_الدفع)

حيث :

النسبة : مربع نص يتم فيه إدخال نسبة الفائدة السنوية

عددالأقساط : هي عدد الأشهر التي يستغرقها المدين في الدفع حتى ينهي الدين

المبلغ : هو مجموع الدين أي المبلغ الأجمالي

FVAL : القيمة المستقبلية

وقت_الدف : هي رقم يعرف متى يتم الدفع فالرقم " 1 " يعني دفع القسط أول الشهر والرقم " 0 " يعني بأن الدفع يكون نهاية الشهر

------------------------------------------------

الدالة : FV

تقوم هذه الدالة بحساب القيمة المستقبلية لمبلغ معين يراد إيداعه على دفعات 0

تأخذ هذه الدالة الشكل التالي:

  FV(rate , nper , pmt , pv , due )

حيث:

rate : معدل الفائدة

nper :المدة ( عدد الدفعات )

pmt : مقدار الدفعة ( 1000 أو 2000 أو000000 الخ )

pv :القيمة المستقبلية أو الرصيد بعد أخر فترة يتم الرصد فيها

due :رقم يوضح هل يتم إدخار المبلغ في أول الشهر أو أخر الشهر والرقم 1 يعني أول كل شهر

مثال على ذلك:

  Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
Const MB_YESNO = 4  ' Define Yes/No buttons.
Const ID_NO = 7     ' Define No as a response.
Fmt = "###,###,##0.00"  ' Define money format.
payment = InputBox("كم المبلغ الذي تود ادخاره شهرياً ؟")
APR = InputBox("ماهي الفائدة السنوية ؟")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = InputBox("ماعدد الأشهر التي ستدخر فيها ؟")
paytype = MsgBox("هل الدفع في بداية الشهر؟", MB_YESNO, "استفسار")
If paytype = ID_NO Then paytype = BEGINPERIOD Else paytype = ENDPERIOD
pval = InputBox("كم المبلغ الذي ستدخره الآن؟")
fVal = fv(APR / 12, TotPmts, -payment, -pval, paytype)
MsgBox "مجمل ادخارك = " & Format(fVal, Fmt) & ".", , "النتيجة"

----------------------------------------------

الدالة : nper

هذه الدالة تعطيك كم شهراً سوف تستغرق لكي تسدد مبلغ معين

  title = "الجواب"
Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
Const MB_YESNO = 4  ' Define Yes/No buttons.
Const ID_NO = 7     ' Define No as a response.
fVal = 0                    ' Usually 0 for a loan.
pval = InputBox("كم قيمة الدين ؟")
APR = InputBox("كم معدل الفائدة السنوية؟")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
payment = InputBox("كم المبلغ الذي تستطيع تقسيطه شهرياً ؟")
paytype = MsgBox("هل الدفع في نهاية الشهر ؟", MB_YESNO)
If paytype = ID_NO Then paytype = BEGINPERIOD Else paytype = ENDPERIOD
TotPmts = nper(APR / 12, -payment, pval, fVal, paytype)
If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1
Msg = "سوف تأخذ  " & TotPmts & " شهراً لإنهاء الدين ."
MsgBox Msg, , title

------------------------------------------------

الدالة : IPmt

هذه الدالة تعطي نسبة الفوائد السنوية0

 Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
Const MB_YESNO = 4  ' Define Yes/No buttons.
Const ID_NO = 7     ' Define No as a response.
fVal = 0                    ' Usually 0 for a loan.
Fmt = "###,###,##0.00"  ' Define money format.
pval = InputBox("كم المبلغ الذي تود اقتراضه؟")
APR = InputBox("كم نسبةالفائدة السنوية؟")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
TotPmts = InputBox("كم المبلغ الذي تستطيع تقسيطه شهرياً؟")
paytype = MsgBox("هل الدفع في بداية الشهر؟", MB_YESNO, "استفسار")
If paytype = ID_NO Then paytype = BEGINPERIOD Else paytype = ENDPERIOD
For period = 1 To TotPmts   ' Total all interest.
    IntPmt = IPmt(APR / 12, period, TotPmts, -pval, fVal, paytype)
    TotInt = TotInt + IntPmt
Next period
Msg = "سوف تدفع مبلغ = " & Format(TotInt, Fmt)
Msg = Msg & " كفائدة على هذا المبلغ."
MsgBox Msg, , "النتيجة"           ' Display results.

---------------------------------------

الدالة : SYD

تستخدم هذه الدالة في حساب قيمة إهلاك الأصول الثابته ويكون قسط الإهلاك السنوي لهذه الدالة عالياً في السنوات الأولى من عمر الأصل عنه في السنوات الأخيرة0

مثال توضيحي:

 txt5 = SYD(txt1, txt2, txt3, txt4)

حيث

txt5 :مربع نص يعرض ناتج الداله

SYD :الدالة

Txt1 :مربع نص يتم فيه إدخال ثمن الشراء

Txt2 :مربع نص يتم فيه إدخال قيمة الأصل المتوقعة في نهاية المدة

Txt3 :العمر الإفتراضي للسلعة

Txt4 :سنة معينة تحسب فيها القيمة

------------------------------------------------------

الدالة SLN

تستخدم هذه الدالة لحساب الخط المستقيم لانخفاض قيمة ملكية معينة خلال فترة دورة زمنية معينة أي قسط الإهلاك السنوي الثابت الأصل0

مثال توضيحي:

 txt5 = SLN(txt1, txt2, txt3)

حيث

txt5 :مربع نص يعرض ناتج الداله

SYD :الدالة

Txt1 :مربع نص يتم فيه إدخال ثمن الشراء

Txt2 :مربع نص يتم فيه إدخال قيمة الأصل المتوقعة في نهاية المدة

Txt3 :العمر الإفتراضي للسلعة

Txt4 :سنة معينة تحسب فيها القيمة

-----------------------------------------------------------------

الدالة DDB:

تستخدم هذه الدال في حساب قيمة إهلاك الأصول الثابته بطريقة الإستهلاك المتناقص وكما هو معروف في علم المحاسبة أن قسط الإهلاك طبقاً لهذه الطريقة يكون عالياً في السنوات الأولى من عمر الأصل الثابت0

مثال توضيحي:

 txt5 = DDB(txt1, txt2, txt3, txt4)

حيث

txt5 :مربع نص يعرض ناتج الداله

SYD :الدالة

Txt1 :مربع نص يتم فيه إدخال ثمن الشراء

Txt2 :مربع نص يتم فيه إدخال قيمة الأصل المتوقعة في نهاية المدة

Txt3 :العمر الإفتراضي للسلعة

Txt4 :سنة معينة تحسب فيها القيمة

------------------------------------------------------------------

[gl]الدرس الثالث: الدوال الرياضية[/gl]

الدالة : ٍ Sin

تحدد هذه الدالة قيمة جيب زاوية معينة

مثال:

 
 Fmt = "0.00000"
Pi = 4 * Atn(1)     ' Calculate Pi.
Degrees = InputBox("ادخل الزاوية بالدرجات:0")   ' Specify angle.
Radians = Degrees * (Pi / 180)  ' Convert to radians.
Sine = Sin(Radians) ' Calculate sine.
MsgBox "جيب الزاوية=  " & Format(Sine, Fmt), , "الجواب"

الدالة: Cos

تستخدم هذه الدالة لحساب قيمة جيب تمام أي زاوية

مثل:

 Fmt = "0.00000"
Pi = 4 * Atn(1)     ' Calculate Pi.
Degrees = InputBox("أدخل الزاوية بالدرجات :0")   ' Specify angle.
Radians = Degrees * (Pi / 180)  ' Convert to radians.
Cosine = Cos(Radians) ' Calculate sine.
MsgBox "جيب تمام الزاوية  =  " & Format(Cosine, Fmt), , "الجواب"

[gl]الدرس الرابع دوال سلاسل البيانات[/gl]

دوال سلاسل البيانات

تستخدم هذه الدوال لتعامل مع سلاسل البيانات وهي على النحو التالي:

الدالة: Format

الحقل أو مربع النص المراد تنسيقه= Format (اسم الحقل , "شكل التنسيق المراد ")

مثال على ذلك التاريخ التالي:

TxtDate = Format ( Now , " yyyy/mm/dd ")

هذا التنسيق يعرض التاريخ الهجري في تنسيق كالتالي: 11/11/1422

التنسيق التالي يعرض اسم اليوم بدلا من الرقم

TxtDate = Format ( Now , " yyyy/mm/dddd ")

فهو يعرض التاريخ الهجري كالتالي : السبت 11/1422

ويمكن تنسيق البيانات بأشكال مختلفه كما نريد0

الدالة : instr

هذه الدالة تعيد رقم يدل على ترتيب عبارة داخل عبارة أخرى مثل:

?instr(   "علي ", " ل ")

الناتج هو الرقم " 2 " لأن حرف اللام هو الحرف الثاني في ترتيب حروف اسم علي

الدالة " Lcase "

تقوم هذه الدالة بتحويل سلسلة حروف كبيرة إلى حروف صغيرة

مثال :

 Lcase$ ( "ALY ")

تصبح هكذا aly

الدالة " Ucase "

هذه الدالة تحول سلسلة حروف صغيرة إلى حروف كبيرة 0

مثال :

 Ucase أو Ucase$ ( " aly ")

تصبح الجملة هكذا ALY

الدالة " Left "

تعيد هذه الدالة مجموعة من الحروف الموجودة في سلسلة بدءاً من الشمال بالعدد المطلوب: مثال

 txtName2 = Left(txtName1, 3)

فإذا كان مربع الاسم يحتوي على اسم سعود فسوف تعود الدالة ب " عود " وتضعها في مربع النص المسمى " TxtName2 "

الدالة " RIHT أو RIHT$ "

تعيد هذه الدالة مجموعة من الحروف الموجودة في سلسلة بدءاً من اليمين بالعدد المطلوب: مثال

 txtName2 = RIHT (txtName1, 3)

فإذا كان مربع الاسم يحتوي على اسم سعود فسوف تعود الدالة ب " سعو " وتضعها في مربع النص المسمى " TxtName2 "

الدالة " Mid وا MID$ "

تعيد هذه الدالة جزء من السلسة سواء بيانات حرفيه أو رقمية بالطول وإبتداء من الموقع المحدد : مثال

TxtName2= MID(TxtName1,5,4)

فإذا كان الاسم الموجود في مربع النص المسمى " txtName1" يحتوي على " العالمية "

فسوف تكون نتيجة الدالة هي " لمية "

وإذا كان مربع النص يحتوي على رقم مثل" 1234567 " سوف يكون ناتج الدالة هو " 567 "

الدالة " Len و Len$ "

تعيد هذه الدالة عدد الحروف الموجودة في السلسلة

مثال :

TxtName2= Len(TxtName1,5,4)

فإذا كان الاسم الموجود في مربع النص المسمى " txtName1" يحتوي على " العالمية "

فسوف تكون نتيجة الدالة هي " 8 " أي عدد حروف كلمة العالمية

الدالة " Rtrim و RTRIM$ "

تقوم هذه الدالة بحذف الفراغات الموجودة في جهة يمين السلسلة

مثال

TxtName2= Rtrim(TxtName1)

سوف تزيل هذه الدالة الفراغات الموجودة جهة اليمنى من الاسم

ألدالة Ltrim و LTRIM$ "

تقوم هذه الدالة بحذف الفراغات الموجودة في جهةاليسرى السلسلة

مثال

TxtName2= Rtrim(TxtName1,5,4)

سوف تزيل هذه الدالة الفراغات الموجودة جهة اليمنى من الاسم

الدالة " Trim و Trim$ "

تقوم هذه الدالة بحذف الفراغات الموجودة في الجهة اليسرى واليمنى من السلسة

مثال:

TxtName2TRIM(TxtName1)

هنا سوف تقوم بحذف الفراغات الموجودة يمين ويسار الاسم

الدالة " Space و Space$ "

تقوم هذه الدالة بوضع مسافة بين كلمتين محددتين بحسب الرقم المسجل

مثال:

 " عبد الله" + Space (2) + " البدر"

النتيجة هي جعل مسافة بين الاسمين هكذا " عبد الله البدر " أمر بمعنى عليك أيها الجهاز بعد كتابة اسم عبد الله أن تنقر المفتاح سبيس بالعدد المحدد وهو نقرتين بدليل 2 الموجودة في الكود

الدالة " String و String $ "

تقوم هذه الدالة بتكرار سلسلة بالعدد المحدد

مثال:

 String(5, "ع ")

ناتج هذا الكود هو ع ع ع ع ع

الدالة " ASC "

تقوم هذه الدالة بتحويل حرف أو مجموعة حروف إلى القيم الأسكي لها 0

مثل

ASC( " A ")

ناتج هذا التعبير هو 65

وتستخدم هذه الدالة لمعرفة الرقم المقابل للحروف الموجودة على لوحة المفاتيح

الدالة " CHR و CHR$ "

هذه الدالة هي عكس السابقة مثال :

Chr(65)
 ناتج هذا التعبير هو                                                             A
الدالة  "  Strcomp "
تقارن هذه الدالة بين سلسلتين لتحدد هل هما متساويتين ثم تعيد رقماً بنتيجة المقارنة
مثال
[code] txt3 = StrComp(txt1, txt2)

سوف تقارن الدالة بين محتوى مربعي النص Txt1 و Txt2 وتضع النتيجة في مربع النص Txt3 فإذا كان مربع النص الأول يحتوي على اسم " سعد " ومربع النص الثاني على اسم " سعد" عندها تكون قيمة مربع النص Txt3 هي " 0 "

[gl]الدرس الخامس دوال المجال التجميعية[/gl]

الدرس الخامس

دوال المجال التجميعية Domain aggregate Function

سبق وأن تم وضع أمثلة عن تلك الدوال في المنتدى ولكن لا مانع من شرحها مرة أخرى لتعم الفائدة

* دوال المجال التجميعية هي (( Dmax _Dmin _Dsum _Dcount _Dlookup _Dlast Dfirst _ Davg _DstDev _Dvar

تستخدم هذه الدوال عادة في استخراج بيانات إحصائية مثل المجموع والمتوسط الحسابي وأعلى قيمة وأقل قيمة وعمل مقرانات بين بيانات معينه ومن وجهة نظري وهذا رأيي الشخص أن هذا الدوال هامة جداً ولا غنى لأي مبرمج أكسيس وأرجو أن أوفق في شرحها0

الدالة : Dmax

وظيفتها : استخراج أعلى قيمة في حقل معين في جدول معين

 X =Dmax( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا أعلى قيمة موجودة في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DAvg ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا المتوسط الحسابي الأرصدة الموجودة في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DCount ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا مجموع العملاء الذين لهم أرصدة مسجلة في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DLast ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا أخر عميل أدخل له رصيد في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DLookup ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا تستخدم غالباً في البحث وفي مثالنا هذا فهيا تعطي أول رصيد مسجل في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول وعند الرغبة في عرض رصيد مرتبط برقم العميل نضيف لها شرط أخر وهو " اسم النموذج وراسم مربع النص الذي يعرض رقم العميل على النموذج0

 X = DMin ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا أقل قيمة موجودة في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DStDev ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا الإنحراف المعياري للرصيد الموجود في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DSum ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا مجموع الأرصدة المدخلة في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DVar ( " [Ord] ","tblOrders ","[bnk_Name]='Arabi '")

هذا المثال يعطينا تباين الأرصدة في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول 0

 X = DSum ( " [Ord] ","tblOrders")

هذا المثال يعطينا مجموع الأرصدة لجميع البنوك في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders 0

وبالإمكان إضافة شروط على الدوال مثل عرض أرصدة بنك معين خلال فترة وذلك بإضافة العبارة التاليه مثلاً

txtd = DMax(" [Ord] ", "orders", "[bnk_Name]='الرياض'And [Date]Between [forms]![FrmOrders]![TxtDate1]And [forms]![frmOrders]![txtDate2")

هذا المثال يعطينا أعلى قيمة موجودة في حقل الرصيد المسمى Ord والمسجلة في جدول العملاء المسمى Orders بشرط أن يكونون عملاء البنك العربي فقط مع إهمال بقية البنوك المسجلة في الجدول وعلى أن تكون الأرصدة المسجلة بين التاريخين المسجلين في مربعي النص الموجودين على النموذج وهما TxtDate1 و TxttDate2 ففي هذه الحالة تقوم الدالة بالبحث عن أعلى رصيد مسجل في الجدول في البنك العربي للفترة الواقعة بين التاريخين المسجلين في حقلي البحث من تاريخ إلى تاريخ على النموذج وهذان مربعي نص ليس لهما مصدر وإنما للبحث فقط وتعتمد المقارنة على حقل في الجدول يتم فيه تسجيل تاريخ إدخال الرصيد للبنك0

يمكن تعديل الدالة بما يتناسب مع المطلوب 0

1
#5

الأخ/ 5060

جزيت خيرا والله يوفقك في كل خير تقصده. (y)

لكي تزيد الفائدة أود إضافة الأتي :-

في حالة استخدام دالة ( ) Time ينتج الوقت في صورة 24 ساعة ، أي أن الساعة 3:15 عصراً على الصورة 15:15 أما مع الدالة ( ) Now فإن الوقت يظهر بتنسيق 12 ساعة مضافاً إليها رمز م أو ص أقصد AM أو PM

والله الموفق

ibnmusqat.gif
#6

** من استبد برأيه هلك **

الاخوة الكرام

كما رأيتم يوجد في أكسيس 9دوال وهي :

1 _دوال التاريخ والوقت0

2 _دوال التحويلات 0

3 _الدوال الماليه0

4 _الدوال الرياضية وحساب المثلثات0

5 _دوال سلاسل البيانات0

6 _دوال المجال التجميعية0

7 _دوال التحقق من أنواع البيانات

8 _دوال المدخلات والمخرجات0

9 _دوال أخرى متنوعة 0

وكل دالة تتفرع إلى دوال فرعية والدوال الـ 9 = 80 دالة فرعية ولا بد من شرح الدوال الأساية وفوائدها بإختصار ثم شرح الدوال الفرعية بالتفصيل حتى تعم الفائدة ولذلك لدي طريقتان هما :

الأولى : استكمال شرح الدوال والدوال الفرعية الذي سبق بدءه اعلاه وسوف يأخذ الموضوع مساحة كبيرة جداً فلا مجال للإختصار في الشرح اضافة لذلك وجود الإستفسارات والردود والآراء0

الطريقة الثانية :

إنشاء برنامج يحتوى على أمثلة لأنواع الدوال كل نوع مخصص له نموذج يسمى باسم الدالة ويرفق مع كل نموذج مستند من وورد فيه شرح كامل ووافي عن هذه الدالة والدوال المتفرعة منها وطريقة أو مراحل التنفيذ خطوة بخطوة وفي النهاية وضع رابط للبرنامج ليتمكن الجميع من تحميله0

___

المطلوب : آرائكم أين من الطريقتين نتبع 0

بارك الله مساعيكم 0

#7

أولا : بداية طيبة أعانكم الله وسدد خطاكم .

ثانياً : اقترح أن تبدؤا بالطريقة الأولى وهي الشرح في المنتدى وبعد نهاية كل قسم يوضع مثال وإن رأيتم جمع دوال النوع في مستند وور مضغوط لمن يرغب في تحميله .

ومن فوائد هذه الطريقة :

1- أن الدوال تعرض جزء جزء وهذا يفتح باب للمناقشة والاستفسارات وعرض الإشكالات وتصحيح الأخطاء وإكمال الناقص والتعليم وهذه من أهم أهداف إنشاء المنتدى .

2- أن عرضها بهذه الطريقة يجعل الأعضاء ملتزمون بمتابعتها ومتابعة الردود والمناقشات التي ترد في الموضوع بينما بالطريقة الثانية سيتم تحميل المثال وقد لايستفيد منه وقد لايعرف أن يستخدم بعض الدوال إذا أشكل عليه أمر بسيط وقد يمضي عليه وقت طويل حتى يحتاجها بعكس من قام الآن بالمتابعة والتطبيق المباشر .

3- أن العلم يؤخذ بالتدرج والطريقة الأولى تتدرج بالمتعلم .

4- أن الردود التي لاداعي لها سيتم حذفها في نهاية الشرح وسيتبقى مادة علمية مفيدة .

هذا رأيي .

وللجميع التحية

#8

الإخوة الكرام

الرجاء متابعة الشرح والتدقيق وتصحيح الأخطاء فليس عيب أن نخطيء ولكن العيب التمادي في الخطأ وعدم إصلاحه فصوبوني إذا أخطأت

وفقنا الله جميعاً

دمتم في رعاية الله0

#9

إضافة بسيطة في دوال التاريخ والوقت :

الدالة NOW() تعيد التاريخ والوقت والفرق بينها وبين دالة DATE() أن الأخيرة تعيد التاريخ فقط .

DATE$ تعيد تاريخ هجري بهذا الشكل :

10-15-1422

شهر-يوم-سنة

Time$ تعيد الوقت محذوفاً منه رمز صباحا (ص) أو مساءً (م)

الدالة DateAdd يمكن بواسطته الاضافة أو الانقاص من التاريخ أمثلة :

DateAdd("m", 2, (Date))

المثال السابق يعيد لنا تاريخ بعد إضافة شهرين الى الشهر الحالي .

DateAdd("m", -2, (Date))

المثال السابق يعيد لنا تاريخ بعد انقاص شهرين من الشهر الحالي .

وللجميع التحية

#10

شكراً لجميع المشاركين .

أخي 5060 ، إن ماتقدمت به من عرض شرح الدوال أمر مهم جداً لكل مستخدمي الآكسس وتشكر عليه ، وأقترح أن تقوم بوضع الشرح للدوال على مستند وورد أو على موقع مختصر ، ولايلزم أخي أن تتعب نفسك بوضع مثال على كل دالة إلا إذا رأيت أن ذلك أفضل . تمنيات لك بالتوفيق.

وللجميع أطيب تحياتي .

#11

الأخ /غريب

اولاً : أشكرك هذا بناءً على توجيه من اساذنا الكبير ابو حمود فقد رأى أن من الأفضل شرح الدوال هنا عندما عرضت عليه فكرت الشرح على مستندات وورد0

ثانياً: لكل دالة أوردت مثال فربما يكون هناك من لا يعرف كيف تتم الطريقة ويكون الأمر واضح وميسر0

تحياتي للجميع

#12

أتمنى لك التوفيق بأي طريقة ترى بها الشرح مناسباً . وأكرر الشكر لك مرة ثانية .

وتحياتي للجميع .

#13

الأخ 5060 حفظه الله

السلام عليكم ورحمة الله وبركاته

يا أخي و الله لقد قمت بعمل جميل ..

و يكفي توقيعك ( قل أعملوا فسيرى الله عملكم ورسوله والمؤمنين)

نسأل الله أن يجزل لك المثوبة .. فقد و الله أفدت وفقك الله

اللهم إنه قد أفادني .ز فأجزل له الثواب عني يا ارحم الراحمين

محبك/ أبو زيد

#14

الإخوة الكرام

أولاً أشكركم جزيل الشكر على الإطراء الذي لا استحقه

ثانياً : أعتذر عن تأخري في في مواصلة الشرح الردعلى رسائلكم وذلك بسبب ضروف مرتبي في الأوان الأخيرة 0 وقريباً بإذن الله نواصل ما بدئناه

ثالثاً : فرؤساء هذا المنتدى والأعضاء قدموا لي الكثير0

أكرر شكر الجميع

#15

الأخ 5060

أشكرك على هذه المشاركات القيمة والردود النافعة والتي بدأ يلمسها الزوار والأعضاء في كثير من المواضيع ثم هذا الدرس الذي أسأل الله أن يعينك عليه وييسر لك ويزيدك علما .

وأوصيك بالمواصلة فهذا الموضوع نافع ولاشك ويحتاجه كل منا وأيضا سيفتح هذا طرق للإستخدامات والاستفادة متعددة فأكثر من الأمثلة ما استطعت إلى ذلك .

ولك تحياتي وشكري .

#16

اولاً : أشكركم

ثانياً : أنا عازماً بإذن الله على تقديم ما استطيع وما أملك في هذا المجال وهذا واجباً 0

ثالثاً : إن الوقت لا يسعفني كثيراً لأنه لابد من تحري الدقة في جميع المواضيع 0 ولكن أرجو من الله أن يعينني على ذلك0

1
#17

أخي وعزيزي /ابو حمود

شكراً لك على العبارات الجميله وما أقوم به ما هو إلا نتائج لتوجيه منكم وعملي هذا يتم تحت إشرافكم أنت وجميع الاخوة لتصويبي فلست كاملاً فالكمال لله وحده سبحانه وتعالى ولو كنت لحالي لما استطعت فعل ذلك وأرجو من الله أنيكون فيما قدمت الفائدة 0

بارك الله فيكم وزادكم علماً وحلماً وأكرر شكريوتقديري0

1
#18

للرفع

نأمل المواصلة ....:'(

ولك تحياتي

1
#19

بإذن الله عز وجل

1
#20

ممكن من الأخوه من يفيدني بطريقه ممكن اني اصمم على الأكسس شي يفيدني في سوبر ماركت ..

وكيف يمكنني استخدامها ..

يعني ابي شرح مفصل بطريقه تفيدني في سوبر ماركت من جميع النواحي ..

وشكرا لكم على دروسكم النافعه والله يجزاكم الف خير

تحياتي لكم

#21

الأخ الكريم/ Al3as]-[iQ

مرحبا بمشاركاتك في هذا المنتدى.

لا يخفى عليك ان هذا الموضوع فتح وخصص "لشرح دوال أكسيس"

وأتمنى لو أنك قمت بفتح موضوع جديد لسؤالك وقمت بشرح ألية

العمل "بالسبور ماركت" ووضعت تصور لأسماء حقول قاعدة البيانات

لكي يسهل للأخوة مساعدتك دون أن يكون هناك أي تداخل بين الموضوعين.

والله الموفق.

(f)

ibnmusqat.gif
#22

شكرا لك اخوي ابن مسقط

انا في سؤالي حبيت اعرف طرق تصميم البرنامج من جميع النواحي .. مثلا لو قلنا ان السوبر ماركت يحتوي على معلبات من جميع الأصناف بالأضافة الى الأصناف الأخرى .. ممكن اني اضعها في نقاط كالتالي :

1- معلبات .. ومنها :

نوع الصنف

سعر الصنف ( بالحبه )

سعر الصنف ( بالجملة )

سعر البيع .

2- أدوات منزلية :

نوع الصنف

سعر الصنف ( بالحبه )

سعر الصنف ( بالجملة )

سعر البيع .

3- منظفات :

نوع الصنف

سعر الصنف ( بالحبه )

سعر الصنف ( بالجملة )

سعر البيع .

. . . . .

. . . . .

. . . . .

. . . . .

وهكذا ....

يستحسن طبعا لو خلينا الأصناف بدون مسميات لشان نقدر ندخل النوعيات على حسب الشئ الموجود في السوبر ماركت .

وفيه شي ثاني اللي هو :

مبيعات هذا الشهر مثلا كم راح منها وكم المتبقي ..

أشياء كثير وبصراحه ماقدر اذكرها كلها ولو اعرفها كلها كان صممت البرنامج بمساعدة الأخوان اللي في المنتدى ببعض الأكواد أو الطرق الناقصه اللي اجهلها .

اتمنى اني اقدر اوصل للمفيد في هالبرنامج .. لأني بعد حابب اني اطوره على الأكسس .. بس هذا شي فيما بعد اهم شي اعرف البداية مع الأكسس ..

مشكور اخوي ابن مسقط على تجاوبك معاي

وشكرا للجميع ..

تحياتي

#23

الأخ/ Al3as]-[iQ

أرجو التكرم بفتح موضوع جديد لسؤالك

وان شاء الله سوف تجد أهل المساعده والخير يهرعون لمساعدتك.

والله الموفق.

ibnmusqat.gif
#24

جزاكم الله الف خير على هذه الدوال الرائعه التي استفدت منها فعلاً

وعملياً....

ويبارك الله فيكم جميعاً

ونبقى دائماً يداً واحده

اخوكم في الله :)

هذا الموضوع مغلق.

مواضيع مشابهة