بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
10020 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
سؤال بشان تغير نوع الخط في جميع نماذج الاكسس
jjafferr replied to angelloay's topic in قسم الأكسيس Access
اخي الفاضل في سطر في الكود لازم نحذفه (مكرر مرتين ، فلازم نحذفه مرتين) ، فبدل ان اكتبه هنا ، فقد اصلحت الكود في مشاركتي الاصليه اعلاه ، وتستطيع ان تنسخه الى برنامجك وتجربته ، وقد جربته واشتغل تمام شكرا على التنبيه جعفر -
انا بدأت العمل عليه ، وان شاء الله اخلص اللي في يدي ، وابدا في موضوعك جعفر
-
وعليكم السلام اخوي بدر اولا: إلا في حالات قهرية ، لا تستخدم الرقم كإسم اي من كائنات برنامجك (مثل 1 ، 2 ، ...) ، ولا تبدأ إسم اي من الكائنات برقم (مثل 1tbl ، 2MyForm، ...) ، واقصد بالكائنات هنا ، الجداول والنماذج والتقارير والاستعلامات ، واسماء الحقول . ثانيا: تأكد ان تسلسل المرور على الحقول "متسلسل" ، يعني كل حقل يكون تسلسله بعد الحقل السابق: . ونعمل كود لقبل تحديث الحقل ، يرى فيه اذا تم ادخال المعلومة الى الحقل الذي يسبقه ، وإلا ، فلا يسمح له بإدخال المعلومة التالية ، والكود شئ من هذا القبيل: Private Sub txt_2_BeforeUpdate(Cancel As Integer) If Len(Me.txt_1 & "") = 0 Then MsgBox "You cannot leave the Fields txt_1 Empty" cancel=true me.undo End If End Sub Private Sub txt_3_BeforeUpdate(Cancel As Integer) If Len(Me.txt_2 & "") = 0 Then MsgBox "You cannot leave the Fields txt_2 Empty" cancel=true me.undo End If End Sub Private Sub txt_5_AfterUpdate() Me.txt_3 = Me.txt_5 End Sub . ولا تجعل التسلسل يتوقف على الحقلين 3 و 4 ، وبالنسبة للحقل 3 يأخذ قيمته من الحقل 5 ، فيكون بعد تحديث الحقل 5 (كما تشاهده في الكود) جعفر
-
سؤال بشان تغير نوع الخط في جميع نماذج الاكسس
jjafferr replied to angelloay's topic in قسم الأكسيس Access
ولا داعي للجداول ، اريد النماذج والتقارير فقط. قد تكون المشكلة في النموذج الفرعي ، فلم اجرب هذا. جعفر -
سؤال بشان تغير نوع الخط في جميع نماذج الاكسس
jjafferr replied to angelloay's topic in قسم الأكسيس Access
لوسمحت ترفق برنامجك حتى القي نظرة عليه ، نعم ، على احد برامج المنتدى المليئ بالنماذج والتقارير ، وقبل ان ارفق لك الكود لك. جعفر -
سؤال بشان تغير نوع الخط في جميع نماذج الاكسس
jjafferr replied to angelloay's topic in قسم الأكسيس Access
هل النماذج التي انتهى منها الكود ، هل تم تغيير نوع الخط فيها الى "الاندلس" (ستلاحظ اسماء النماذج التي انتهى منها الكود في الشاشة اسفل الكود ، ولكن ليس اسم النموذج الاخير) ؟ اسم النموذج الاخير هو النموذج الذي فيه المشكلة ، فهل بالامكان ارفاقه وبدون بقية البرنامج. جعفر -
كود برمجى ينسق الاجازات الاعتيادية المستحقة للموظف
jjafferr replied to حمدى الظابط's topic in قسم الأكسيس Access
جعفر -
سؤال بشان تغير نوع الخط في جميع نماذج الاكسس
jjafferr replied to angelloay's topic in قسم الأكسيس Access
اخي الفاضل حتى نستطيع ان نساعدك ، يجب ان نستطيع فهم ملاحظتك ، ويجب ان تعطينا اين المشكلة ونوع المشكلة ورقم الخطأ وووو !! مجرد " الطريقة لم تنجح يقف عند فورم معين ويعطي خطا عند سطر الخط " لا تعطينا معلومة كافية لمعرفة اي من اسطر الكود الـ 43 فيها المشكلة ، او اذا كان في نموذجك شئ خاص!! هل تاكدت من الكود؟؟؟؟ لا ، ليس على برنامجك ، ولكن بالاشارة الى الرابط السابق ، فالكود اشتغل تمام هناك جعفر -
وعليكم السلام أخي عبدالله ولو انه يمكن عمل المطلوب هكذا: Dim a1, a2 a1 = Me.EntryType a2 = Me.EntryCode DoCmd.OpenForm "frmtr", , , "[trtype]=" & a1 & " And [TTTT]=" & a2 ولكني انصح بهذه الطريقة ، لمرونتها ولسعة مجالات استعمالها: جعفر
-
سؤال بشان تغير نوع الخط في جميع نماذج الاكسس
jjafferr replied to angelloay's topic in قسم الأكسيس Access
وعليكم السلام الرابط الذي ارفقته لك في مشاركتي السابقة فيه الخطوات جعفر -
فتح تقرير مبني على استعلام جدولي متغير
jjafferr replied to mohamedeid2's topic in قسم الأكسيس Access
هذا احد الحلول وهذه طريقة اخرى . جعفر -
تفضل 1. بالفأرة اليمين انقر على المثلث الاخضر في الدائرة الحمراء 2. انقر على Navigation Options . ثم اختار المربع الذي على اليسار ، واذا اخترت المرع الذي على اليمين ، فان جميع جداول اكسس المخفية سوف تظهر كذلك . جعفر
-
السلام عليكم شباب اذا تسمحوا لي اوضح شو المشكلة ، وشو الحل انت جعلت الحقل No مفتاح اساسي في الجدول Ded_k2_In ، اي لا يمكن اضافة سجل بدون ادخال رقم في هذا الحقل ايضا . الاستعلام qry_Ded_k2_In هو مصدر بيانات النموذج Ded_k2 ، والعمل يبدا من هنا 1. العلاقة الموجودة بين الجدولين تقول: اجلب جميع السجلات التي بها قيمة في الحقل CustomerNr من الجدول tblCustomer ، سواء اكانت قيمة الحقل No من الجدول Ded_K2_In موجودة او لا ، 2. الحقول في ربط الجدولين هما: CustomerNr من الجدول tblCustomer ، والحقل No من الجدول Ded_K2_In ، 3. طريقة عرض السجلات هي Dynaset . وعلى اساس هذه العلاقة ، نجد هذه السجلات والملاحظ اننا لا نستطيع ادخال اي قيمة للحقلين New_Tot والحقل New_Mon من السجل الذي رقم CustomerNr هو 6 ، رجاء الملاحظة ان السجل رقم 5 فيه نفس المشكلة (سنرجع لهذا السجل لاحقا في النموذج) . نعمل التغيير التالي للإستعلام: نضيف الى الاستعلام الحقل No من الجدول Ded_k2_In ، ونغير طريقة عرض السجلات الى Dynaset (Inconsistent Updates . الان اصبح بامكاننا ان ندخل البيانات في السجل السابق ، ولكن بشرط ادخال الرقم في الحقل No والذي يجب ان يساوي CustomerNr ، وفي هذا السجل الرقم هو 6 ، وادخال اي قيمة للحقلين New_Tot والحقل New_Mon . والان لادخال البيانات في النموذج ايضا ، نضيف الحقل No الى النموذج ، ونغير طريقة عرض السجلات الى Dynaset (Inconsistent Updates . والان نستطيع ادخال البيانات في النموذج كذلك ، ولكن بشرط ادخال الرقم في الحقل No والذي يجب ان يساوي CustomerNr ، وفي هذا السجل الرقم هو 5 (انظر الى ملاحظتي اعلاه عن هذا السجل) ، وادخال اي قيمة للحقلين New_Tot والحقل New_Mon . ملاحظة مهمة: عندما تكون طريقة عرض السجلات في النموذج Dynaset (Inconsistent Updates ، وعند حذف سجل ، فإنه سيُحذف من جميع الجداول المرتبطة في الاستعلام ، وفي حالتنا هنا ، الجدولين tblCustomer و Ded_K2_In جعفر 477.db1.mdb.zip
-
طريقة اضافة معلومات لمجوعة افراد في نفس الوقت
jjafferr replied to ام ناصر's topic in قسم الأكسيس Access
عفوا على التدخل ، ولكن اذا كان الاستفسار عن رسالة الخطأ ، فقومي بتغيير الكلمة flase الى false حيث تم طباعتها خطأ جعفر -
كود برمجى ينسق الاجازات الاعتيادية المستحقة للموظف
jjafferr replied to حمدى الظابط's topic in قسم الأكسيس Access
وعليكم السلام اولا قمت بتعديل في برنامجك ، وعملت جداول كالتالي: هذا الجدول لا علاقة له بموضوعك ، ولكن من الافضل ان تجعل القيم المتغيره في جدول مستقل ، ولا تجعله في Dlookup الجدول ، لأن المستخدم يستطيع ان يضيف القيم في الجدول ببساطة وبدون تدخل المبرمج في اضافة/تعديل اي قيم . والان الى موضوعك: تم اضافة تاريخ التوظيف مع بيانات الموظفين ، . اسماء الوظائف تم عزلها الى جدول مستقل ، وامام كل وظيفة عدد ايام الاجازة المسموح له ، واما الاجازات التي تعتمد على تاريخ التوظيف ، فنترك المدة فاضية . عملنا الاستعلام التالي ، والذي ينادي الوحدة النمطية Vacation_Calc للحساب ، ولعمل الوحدة النمطية ، يجب ان نرسل (بالترتيب) أ. تاريخ التوظيف ب. التاريخ الذي نريد حسابه ج. عدد ايام الاجازة المسموح له وللتجربة استعملنا تاريخين مختلفين لحساب (التاريخ الذي نريد حسابه): Vac_Today = تاريخ اليوم Vac_on_3-3-11 = تاريخ 3-3-2011 . والنتيجة . ولعمل الحساب ، يجب استخدام هذه الوحدة النمطية Function Vacation_Calc(eD As Date, E As Date, vD) Dim A 'eD= Employement Start Date 'E= End Date 'vD= Days allowed for Employee 'هل يوجد عدد في جدول الاجازات If Len(vD & "") = 0 Then 'لا يوجد عدد ، اذن فليسوا معلمين 'اذن حساب اجازتهم تعتمد على تاريخ التوظيف 'نحسب فترة توظيفهم بالاشهر ، والسنوات Y = DateDiff("yyyy", eD, E) M = DateDiff("m", eD, E) A = 0 Vacation_Calc = 0 'اذا فترة التوظيف سنةاو اكثر ، استخدم قيمة السنة 'والا استخدم قيمة الشهر If Y >= 1 Then A = Y ElseIf M > 5 And M < 12 Then A = 0.6 End If 'Debug.Print A If A < 0.5 Then Vacation_Calc = 0 ElseIf A >= 0.5 And A < 1 Then Vacation_Calc = 15 ElseIf A >= 1 And A < 10 Then Vacation_Calc = 21 ElseIf A >= 10 And A < 50 Then Vacation_Calc = 30 ElseIf A >= 50 Then Vacation_Calc = 45 End If Else 'نعم يوجد عدد ، هؤلاء معلمين Vacation_Calc = vD End If End Function . جعفر 476.حضور وانصراف.mdb.zip -
استفسار : طريقة استيراد اكثر من ورقة عمل للاكسس
jjafferr replied to مبرمج على يديكم's topic in قسم الأكسيس Access
هاي ثقة اعتز فيها ، وانتم وبقية العمالقة في المنتدى ، كذلك خير وبركة جعفر -
استفسار : طريقة استيراد اكثر من ورقة عمل للاكسس
jjafferr replied to مبرمج على يديكم's topic in قسم الأكسيس Access
الروابط كان فيها الطرق ، واذا عندك مشكلة ، فالرجاء ارفاق ملفك الاكسل وبدون اي تعديلات عليه ، وبرنامجك الاكسس ، واخبرنا بالتفصيل ما تريد عمله جعفر -
-
طبعا ، الجدول عندك في البرنامج ، واضف ما احببت 1. لوسمحت تعدل في البرنامج ، وتعطيني مثال ، لأن جلب التاريخ بين التواريخ لن يكون سهلا بدون دقة في المعطيات ، وعلى اساس المثال او المثالين (واحد بين تاريخين ، والاخر كل الايام بدون تحديد تواريخ للبداية والنهاية (لازم افهم هذه من مثال واضح لوسمحت) ، 2. تمام جعفر
-
السلام عليكم وحتى يكتمل الموضوع ، اخذت جزئية من احد برامجي ، وهي لحساب السنه والشهر واليوم ، يعني الحساب بالكامل . وهكذا ننادي الوحدة النمطية . والنتيجة . والوحدة النمطية Public Function YMDDif2(sDate1, sDate2) 'Public Function YMDDif2(sDate1, sDate2, Cont_Type, Res_Date) On Error GoTo err_YMDDif2 'sDate1 earliest date 'sDate2 later date 'Cont_Type = Contract Type 'Res_Date = Resignation Date Dim dInterim1 As Date ' If Cont_Type = "استقالة" Or Cont_Type = "متقاعد" Then ' sDate2 = Res_Date ' End If iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay M = iMonth Mod 12 Y = iMonth \ 12 YMDDif2 = CStr(Y) & " س/" & CStr(M) & " ش/" & CStr(D) & " ي" Exit Function err_YMDDif2: If Err.Number = 94 Then 'ignor, null Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . جعفر 473.2.db.mdb.zip
-
سؤال بشان تغير نوع الخط في جميع نماذج الاكسس
jjafferr replied to angelloay's topic in قسم الأكسيس Access
وعليكم السلام الرابط التالي فيه طريقة وكود لتغيير الصور في جميع النماذج/التقارير ، من مضمنه الى مرتبطة ، . وبتغيير بسيط تستطيع ان تغيره الى طلبك ، ولاحظ ان نوع الخط الجديد هو "Andalus" في المثال Function Convert_img_Embed_to_Link() Dim frm As AccessObject Dim rpt As AccessObject Dim dbs As Object Dim frm1 As Access.Form Dim rpt1 As Access.Report Dim ctl As Access.Control Set dbs = Application.CurrentProject For Each frm In dbs.AllForms DoCmd.OpenForm frm.Name, acDesign Set frm1 = Forms(frm.Name) For Each ctl In frm1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then Debug.Print frm.Name & " > " & ctl.ControlType & " > " & ctl.Name ctl.FontName = "Andalus" If frm1.DefaultView = 2 Then frm1.DatasheetFontName = "Andalus" 'DataSheetForms End If End If Next ctl DoCmd.Close acForm, frm.Name, acSaveYes Next frm Exit Function For Each rpt In dbs.AllReports DoCmd.OpenReport rpt.Name, acDesign Set rpt1 = Reports(rpt.Name) For Each ctl In rpt1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then Debug.Print rpt.Name & " > " & ctl.ControlType & " > " & ctl.Name ctl.FontName = "Andalus" If rpt1.DefaultView = 2 Then frm1.DatasheetFontName = "Andalus" End If End If Next ctl DoCmd.Close acReport, rpt.Name, acSaveYes Next rpt End Function جعفر -
وعليكم السلام طبعا كمية البيانات لها دور في سرعة اداء الكمبيوتر ، بالاضافة الى ذلك ، اننا عملنا حقل في كل من الاستعلامين ، وربطنا الاستعلامين بهذين الحقلين ، وهذين الحقلين ليسا مفهرسين !! الاقتراح الذي قد يساعد في سرعة البرنامج ، واكيد سيحل مشكلة qry_Union هو ان نغير عمل الاستعلامين: 1. بالنسبة الى الاستعلام الاول (ولا يهم ايهم) ، غيّره الى "استعلام عمل جدول" ، بحيث نتائجه ستحفظ في هذا الجدول الجديد ، ولنسميه tbl_all ، 2. والاستعلام الاخر غيّره الى استعلام "الحاق" ، وتُلحق البيانات الى نفس الجدول الجديد tbl_all ، 3. بهذه الطريقة لن نحتاج الى qry_Union ، واجعل الاستعلام qry_Results يأخذ بياناته من الجدول tbl_all جعفر
-
لازلت في انتظار الجواب على السؤال اعلاه ، لأنه سيفيدنا في جلب التاريخ الناقص في التقرير (انظر المربع الاحمر في الصورة الاخيرة): الاستعلام التالي تم اخذه من التقرير rpt_Follow4 وتحويله من SQL الى استعلام . ونتائجه 32 سجل . جلبت احد الجداول التي استعملها في الكثير من برامج ، tbl_Months ، وفيه ايام الاسبوع حسب ترقيمهم في الكود . عملت استعلام جديد فيه جميع ايام الاسبوع (ما عدا الجمعة والسبت والسجلات الفاضية) ، ولجلب eSIS من tbl_Follow4 ، وبما اننا سنحتاج الى الاسم ايضا ، فاضطررنا لإستخدام الجدول StudentNames . والنتيجة فيها الايام التي نريدها (الايام التي لا يكون فيها الطالب غائب او متأخر) ، لاحظ عندنا 35 سجل . والان الى الاستعلام الذي سيربط الاستعلامات السابقة ، ولاحظ العلاقة بين الاستعلامات . ونتيجته ، ورجاء الملاحظة اننا من الان سنعتمد على الحقل eSIS وليس IDnum في التقرير . والان نحن بحاجة الى تعديل في التقرير قليلا ليتماشى مع المتغيرات . والنتيجة النهائية للتقرير ، وستلاحظ ان التاريخ غير موجود (طبعا غير موجود ، لأن البرنامج يسجل تاريخ الغياب و التأخير) ، فاذا اردنا الحصول على هذا التاريخ ، فيجب الاجابة على سؤالي في المشاركة السابقة . جعفر 459.1.AbsentLate 2016.accdb.zip
-
بالنسبة الى ثانيا ، فعندي سؤال: كيف ستطبع التقرير ، هل سيكون بين تاريخين اسبوعيا ، او بين تاريخين شهريا؟ لأن الفكرة التي عندي هي ادخال الايام كلها في التقرير يدويا ، ثم عن طريق الكود ندخل البيانات لليوم الصحيح ، وهذا يعتمد على اجابتك لسؤالي اعلاه جعفر