المشاركات

عرض الرسائل ذات التصنيف vba

اصول التعامل الصحيح مع التاريخ في مايكروسوفت اكسس

صورة
عندما يتم التعامل مع التاريخ باستخدام محرر الكود VBA او باستخدام SQL في مايكروسوفت اكسس فان تنسيق التاريخ سيتغير الى التنسيق الامريكي MM/DD/YYYY مهما كانت اعدادات تنسيق التاريخ الخاصة بجهاز المستخدم. يمكنكم مشاهدة الفيديو للحصول على الشرح التفصيلي او الاستمرار بقرأة الموضوع ولمشاهدة مثال على ذلك يمكنكم اضافة تاريخ في معايير الاستعلام ثم مشاهدة SQL لهذا الاستعلام    في كثير من الاحيان نجد ان الكود او الاستعلام لا يعمل بشكل صحيح فمثلا قد تطلب التواريخ التي بعد تاريخ 7/4/2016 ولكن الاستعلام او الكود يفهمها بشكل معكوس ويعطي النتائج لما بعد تاريخ 4/7/2016. للتغلب على هذا الامر يجب علينا استخدام الدالة Format حتى نحول التاريخ الى الصيغة الامريكية ليتم التعامل معهة بالشكل الصحيح، وهنا يجب الانتباه ايضا الى فواصل التاريخ المستخدمة في اعدادات الوندوز فلو  استخدمنا اشارة "/" كفاصل فانه لا مشكلة في ذلك ولكن اذا تم استخدام "\" فان هذا سيسبب مشكلة وسيظهر لنا الخطأ رقم 3075 ولهذا سنستخدم الاشارتين "/" و"\" في التنسيق للدلالة على ان الفاصل متغ...

تصفية السجلات حسب ما يتم كتابته اولا باول

صورة
لتصفية البيانات اولا باول حسب ما يتم كتابته نحتاج الى ما يلي: يمكنك مشاهدة الفيديو او الاستمرار بقراءة الموضوع 1- انشاء نموذج (النوعة نماذج مستمرة Continues Forms او نماذج مقسومة Split Form) ونقوم باضافة كومبو بوكس في رأس النموذج  ملاحظه : استخدام مربع نص بدلا من القائمة المنسدلة ( الكومبو بوكس ) يعطي نفس النتيجة ولكنه ابطأ يكون شكل النموذج عند تشغيلة كما يلي: 2- نقوم باضافة الكود التالي في حدث عند التحديث (On Change) الخاص بالكومبوبوكس على فرض ان: الكومبوبوكس اسمة Combo01   و الحقل الذي سيتم البحث فيه اسمة  StName 'اذا كان الكومبو فاغ فانه يتم الغاء الفلتر If Nz(Me. Combo01 .Text) = "" Then Me.Form.Filter = "" Me.FilterOn = False 'اذا تم الاختيار من الكومبو. ' اذا قمت باستخدام مربع نص فان الكود التالي يجب حذفة. ElseIf Me. Combo01 .ListIndex <> -1 Then Me.Form.Filter = "[ StName ] = '" & _ Replace(Me. Combo01 .Text, "'", "'...

انشاء استعلام الحاق باستخدام الكود في مايكروسوفت اكسس

صورة
قمنا سابقا بشرح موضوع  استعلامات الالحاق باستخدام منشئ الاستعلام  واليوم سسنتكلم عن هذا النوع من الاستعلامات ولكن باستخدام الكود VBA  وجملة SQL. للحصول على معلومات حول هذا النوع من الاستعلامات يرجى زيارة الرابط اعلاة. يمكنك مشاهدة الفيديو لكيفية انشاء استعلام الالحاق او الاستمرار بقراءة الموضوع  في بعض الاحيان يتطلب البرنامج تنفيذ كود معين لالحاق بيانات معينة الى جدول او اكثر وعندما تتعقد الامور فان الحل سيكون اسهل اذا ما استخدمنا الكود، فمثلا قد نكون في نموذج لادخال البيانات وهذا النموذج يحتوي على بيانات يجب ادخالها في جدولين وليس جدول واحد، او ربما لا نريد ان يقوم المستخدم بادخال البيانات بشكل مباشر في قاعدة البينات وانما يقوم بادخالها في النموذج وعند الضغط على زر معين يتم نقل البيانات الى الجدول. الصيغة VBA DoCmd.RunSQL " insert into Table ( Field1,Field2 ) VALUES ( value1,value2 ) " حيث ان Table = اسم الجدول الذي سيتم اضافة البيانات الية Field1,Field2 = اسماء الحقول الموجودة في الجدول value1,value2 = القيم التي سيتم ادخالها الى الجدو...

نسخ ونقل وتسمية الملفات باستخدام مايكروسوفت اكسس

صورة
قد نحتاج الى جعل الاكسس يقوم بعملية نسخ الملفات كأن يقوم بنسخ قاعدة البيانات وحفظها في مكان معين أو ان يقوم بنسخ ملف معين واعادة تسميته او تغيير امتدادة من اجل زيادة الامان ومستوى السرية ، وللقيام بنسخ الملفات باستخدام اكسس فان كل ما عليك هو بعض الاجراءءات البسيطة وكما يلي: 1- اضافة زر امر لتنفيذ عملية النسخ الى النموذج 2- اضافة كود النسخ في حدث عند النقر (الخاص بزر الامر وكما يلي VBA FileCopy " C:\ Ahmad .txt ", " D:\Ahmad.txt " حيث ان  C:\ Ahmad .txt هو اسم الملف الذي نريد نقلة وامتداده مع مكانه (المسار) ، وان  D:\Ahmad.txt هو المسار الجديد واسم الملف  وامتداده  . واذا رغبت بنقل الملف مع تغيير اسمه فان كل ما عليك هو تغيير الاسم الجديد كما في المثال التالي VBA FileCopy "C:\ Ahmad .txt", "D:\ Khaled. txt" واذا رغبت بنقل الملف مع تغيير اسمه ونوعه  ( الامتداد)  فان كل ما عليك هو تغيير الامتداد الجديد كما في المثال التالي (مع مراعاة ان الملف لن يفتح الا اذا تم اعادة امتدادة الى الامتداد الاصلي) VBA FileC...

تبديل التسميات والنصوص بشكل تفاعلي باستخدام الكود في مايكروسوفت اكسس

صورة
يمكنكم مشاهدة الفيديو في نهاية الصفحة  للحصول على الشرح الكامل يمكن تغيير اي تسمية Caption موجودة في النموذج او التقرير باستخدام الكود ولفهم الموضوع بشكل اكبر لنفرض ان لدينا زر يقوم باخفاء صورة اذا كانت ظاهرة او اظهارها اذا كانت مخفية، ونريد ان تكون تسمية الزر "اخفاء" عندما تكون الصورة ظاهرة وان يتحول الاسم الى "اظهار" عندما تكون الصورة مخفية اي اننا نريد تغيير النص او التسمية بشكل تفاعلي في النماذج وفقا لحاجة المستخدم . لتنفيذ ذلك نقوم باضافة زر  Command1  الى النموذج ونسمية  " اخفاء "  وبعد ذلك نقوم باضافة الكود التالي عند النقر VBA Private Sub Command1_Click() If Command1.Caption = "اخفاء" Then    Command1.Caption = "اظهار" Else     Command1.Caption = "اخفاء" End If End Sub شرح الكود : عند الضغط على الزر سيتم التحقق ما اذا كانت التسمية الحالية للزر = "اخفاء" فسيتم تغييرها الى "اظهار" اما اذا لم تكن التسمية = "اخفاء" فسيتم تحويلها الى "اخفاء". ...

Timer Interval & On Timer Event استخدام الفاصل الزمني ( فترة التوقيت) في حدث عند المؤقت في اكسس

صورة
 استخدام الفاصل الزمني (فترة التوقيت) Timer Interval في حدث عند المؤقت On Timer  في اكسس  لتنفيذ كود معين بشكل متكرر في كل فترة يتم استخدام هذا الحدث On Timer وهنا يجب تحديد طول الفترة (عدد الثواني) التي عندها سيتم تنفيذ الكود مرة اخرى، مثلا بعد ان يتم تحديث حقل الساعة والتاريخ في كل 5 ثواني. وهنا يجب ان يتم تحديد الفترة الزمنية او الفاصل الزمني (Timer Interval) والذي يعبر عنه باجزاء الثواني وهو قيمة محصورة بين 0 جزء من الثانية ولغاية  2,147,483,647 جزء من الثانية. والامثلة كثيرة على استخدام الحدث ( On Timer ) فمثلا لو اردنا انشاء ساعة في احد النماذج فاننا سنضطر الى تغيير قيمة حقل الساعة بشكل مستمر حتى يظهر لدينا الوقت بشكل محدث، و  على سبيل المثال   لو اردنا جعل لون الخلفية لتسمية معينة في النموذج يظهر بشكل وميض او مومض سنقوم باخفاء هذة التسمية واعادة اظهارها في كل ربع ثانية او بتغيير اللون من لون الى اخرفي كل نصف ثانية مثلا. مثال على جعل تسمية ( Label1 ) تظهر وتختفي كل نصف ثانية نقوم باضافة تسمية ونسميها ( Label1 ) في ...

التبديل المستمر للون الخلفية او لون الخط في نماذج اكسس

صورة
التبديل المستمر للون الخلفية او لون الخط  في نماذج اكسس ان  عملية تغيير اللون بشكل تلقائي من لون الى اخر   تعتبر من الامور السهلة من الناحية البرمجية ولتنفيذ ذلك فاننا سنستخدم الدالة IF  في حدث عند المؤقت ( On Timer ) كما سيتطلب منا معرفة ما يلي: 1-       ForeColor = وتستخدم لتحديد لون النص 2-       BackColor = وتستخدم لتحديد لون الخلفي ولفهم الموضوع بشكل اكبر سنقوم بعمل نموذج جديد يحتوي على مربع نص (Text2 ) وتسمية ( Lable2 ) وسنقوم  بعمل تنبيه ضوئي عليها بعد اضافة المربعات نقوم بتعديل فترة التنبيه (Timer Inteval) ونقوم باضافة الكود التالي في حدث عند التنبية (On Timer)  VBA Private Sub Form_Timer() 'Label2  لتغيير لون الخلفية للتسمية   If Label2.BackColor = 255 Then Label2.BackColor = 967400 Else Label2.BackColor = 255 End If ' Text2  لتغيير لون الخط في المربع   If Text2.ForeColor = 255 Then Text2.ForeColor = 12349952 Else Text2.ForeCol...

Dfirst في مايكروسوفت اكسس، استخدام الدالة

MS  Access :  Dfirst  Function تقوم هذة الدالة باسترجاع ( احضار) اول قيمة تم ادخالها  في عمود محدد في جدول او استعلام معين  تستخدم هذة الدالة لتحديد اول قيمة تم ادخالها  في عمود معين وبشرط معين او بدون شرط  ،  ويمكن استخدام هذة الدالة في محرر فجوال بيسك (VBA) او الماكرو او في الاستعلامات او في منشئ التعبير. الصيغة Dfirst ("FieldName" , "TableName" , "creteria") FieldName = المتغير (العمود) الذي نريد معرفة  اول قيمة تم ادخالها  فية. TableName=  اسم الجدول او الاستعلام   Criteria = الشرط او المعيار    اذا كان الشرط = رقم Dfirst ("FieldName" , "TableName" , "n") Dfirst ("nam","table1","color= 5") اذا كان المعيار مستمد من مربع نص في نموذج او تقرير Dfirst ("nam","table1","id= " & [box1]) اذا كان المعيار مستمد من مربع نص في نموذج او تقرير اخر    (بشرط ان يكون مفتوح) Dfirst ("nam","table1...

Dlast في مايكروسوفت اكسس، استخدام الدالة

MS  Access :  Dlast  Function تقوم هذة الدالة باسترجاع ( احضار) اخر قيمة تم ادخالها  في عمود محدد في جدول او استعلام معين  تستخدم هذة الدالة لتحديد اخر قيمة تم ادخالها  في عمود معين وبشرط معين او بدون شرط  ،  ويمكن استخدام هذة الدالة في محرر فجوال بيسك (VBA) او الماكرو او في الاستعلامات او في منشئ التعبير. الصيغة Dlast ("FieldName" , "TableName" , "creteria") FieldName = المتغير (العمود) الذي نريد معرفة  اخر قيمة تم ادخالها  فية. TableName=  اسم الجدول او الاستعلام   Criteria = الشرط او المعيار    اذا كان الشرط = رقم Dlast ("FieldName" , "TableName" , "n") Dlast ("nam","table1","color= 5") اذا كان المعيار مستمد من مربع نص في نموذج او تقرير Dlast ("nam","table1","id= " & [box1]) اذا كان المعيار مستمد من مربع نص في نموذج او تقرير اخر    (بشرط ان يكون مفتوح) Dlast ("nam","table1",...

Dmin في مايكروسوفت اكسس، استخدام الدالة

صورة
MS  Access :  Dmin  Function تقوم هذة الدالة باسترجاع ( احضار) ادنى قيمة في عمود محدد في جدول او استعلام معين  تستخدم هذة الدالة لتحديد ادنى (اقل) قيمة موجودة في عمود معين وبشرط معين او بدون شرط  ،  ويمكن استخدام هذة الدالة في محرر فجوال بيسك (VBA) او الماكرو او في الاستعلامات او في منشئ التعبير. الصيغة Dmin("FieldName" , "TableName" , "creteria") FieldName = المتغير (العمود) الذي نريد معرفة ادنى قيمة موجودة فية. TableName=  اسم الجدول او الاستعلام   Criteria = الشرط او المعيار    اذا كان الشرط = رقم Dmin("FieldName" , "TableName" , "n") Dmin ("price","table1","color= 5") اذا كان المعيار مستمد من مربع نص في نموذج او تقرير Dmin ("price","table1","id= " & [box1]) اذا كان المعيار مستمد من مربع نص في نموذج او تقرير اخر    (بشرط ان يكون مفتوح) Dmin (" price ","table1","id= ...