alsihran قام بنشر أكتوبر 26, 2020 مشاركة قام بنشر أكتوبر 26, 2020 السلام عليكم بالمرفق نموذج frm بداخله نموذج فرعي النموذج الفرعي يحتوي على حقل Ids EDate F1 F2 F3 F4 عند اختيار اي عنصر من عناصر القائمة في الحقول F1 F2 F3 F4 لايظهر في الحقل الأخر مثلا عند اختيار اسم في الحقل F1 فلا يظهر في القائمة المنسدلة للحقل F2 , F3 , F4 ونفس الشي لبقية الحقول عند اختيار اسم لايظهر في القوائم المنسدلة للحقول الأخرى الأمر ما شي تمام المشكلة وضعت حدث عند التركيز على الحقل F1 F2 F3 F4 Private Sub F1_GotFocus() Me.Refresh End Sub Private Sub F2_GotFocus() Me.Refresh End Sub Private Sub F3_GotFocus() Me.Refresh End Sub Private Sub F4_GotFocus() Me.Refresh End Sub وذلك من أجل إنعاش النموذج وتصفية القائمة قبل الإختيار لكن ذلك يحدث بطأ واهتزاز في النموذج فهل من حل بديل للأمر Me.Refresh لتلافي البطأ واهتزاز النموذج FRm_Refresh.rar رابط هذا التعليق شارك More sharing options...
محمد أبوعبدالله قام بنشر أكتوبر 26, 2020 مشاركة قام بنشر أكتوبر 26, 2020 وعليكم السلام ورحمة الله وبركاته استخدم الكود التالي Me.tblchfit.Requery FRm_Refresh.rar تحياتي رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر أكتوبر 26, 2020 الكاتب مشاركة قام بنشر أكتوبر 26, 2020 2 ساعات مضت, محمد أبوعبدالله said: استخدم الكود التالي شكرا لك اخي الكريم فتحت المرفق الذي وضعته ولم اجد أي تعديل طبقت الكود الذي وضعته لكن يظهر رسالة خطأ رابط هذا التعليق شارك More sharing options...
ازهر عبد العزيز قام بنشر أكتوبر 27, 2020 مشاركة قام بنشر أكتوبر 27, 2020 من رخصة وحش الاكواد الاستاذ محمد تفضل لعلة المطلوب FRm_Refresh.accdb رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر أكتوبر 27, 2020 الكاتب مشاركة قام بنشر أكتوبر 27, 2020 3 ساعات مضت, ازهر عبد العزيز said: تفضل لعلة المطلوب يعطيك العافية ليس هو المطلوب فهناك فرق بين تنفيذ الامر بعد التحديث وعند التركيز على الحقل رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر أكتوبر 28, 2020 الكاتب مشاركة قام بنشر أكتوبر 28, 2020 رفع رابط هذا التعليق شارك More sharing options...
محمد عبد الله ٢ قام بنشر أكتوبر 28, 2020 مشاركة قام بنشر أكتوبر 28, 2020 تفضل أخي عله يكون المطلوب FRm_Refresh.accdb رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر أكتوبر 28, 2020 الكاتب مشاركة قام بنشر أكتوبر 28, 2020 4 ساعات مضت, محمد عبد الله ٢ said: تفضل أخي عله يكون المطلوب هذا الحل لم يغب عن ذهني ولكنه لايؤدي المطلوب شكرا لك رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر أكتوبر 30, 2020 الكاتب مشاركة قام بنشر أكتوبر 30, 2020 up رابط هذا التعليق شارك More sharing options...
Hawiii قام بنشر أكتوبر 31, 2020 مشاركة قام بنشر أكتوبر 31, 2020 جرب هذا الكود وإذا نجح طبقه على الباقي. Private Sub F1_AfterUpdate() Me.F2.Requery Me.F3.Requery Me.F4.Requery End Sub رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر أكتوبر 31, 2020 الكاتب مشاركة قام بنشر أكتوبر 31, 2020 35 دقائق مضت, Hawiii said: جرب هذا الكود وإذا نجح طبقه على الباقي. أخي الكريم شكر لك يجب أن يكون الأمر قبل الاختيار من القائمة أي قبل التحديث لإشعار النموذج بالتغيرات التي حدثت على الحقول الأخرى وذلك من أجل عدم اختيار اسم في حقل تم اختياره في حقل اخر بنفس السجل وافضل موضع يكون عند التركيز لذلك تم استخدام الامر Refresh لكن المشكلة تكمن في اهتزاز وبطأ النموذج عند استخدام هذا الكود رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 2, 2020 الكاتب مشاركة قام بنشر نوفمبر 2, 2020 رفع رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 2, 2020 الكاتب مشاركة قام بنشر نوفمبر 2, 2020 هل البناء أو التصميم خطأ بحيث يصعب معه تنفيذ أمر التصفية لمربع الكمبوبوكس قبل الاختيار من القائمة سأشرح ماهو البناء المصمم لعل احد الأساتذة او الاخوة تكون له فكر افضل المرفق عبارة عن جدول دوام لموظفين لأربع وردايات جدول Emp هو جدول بيانات الموظفين جدول tblchfit عبارة عن جدول الورديات حقل Edate يعبر عن تاريخ اليوم حقل F1 للورديه الأولى حقل F2 للورديه الثانية حقل F3 للورديه الثالثه F4 للورديه الرابعه CRsms للعطلة الأسبوعية الان مثلا عند اختار اسم موظف في الوردية الأولى يجب ان لا يظهر أسمه في بقية الورديات في نفس اليوم (أي السجل الحالي ) لعمل ذلك قمت بعمل استعلامات توحيد F1 F2 F3 F4 F5 بحيث كل استعلام يخص حقل من حقول الورديات ويتم الاستعلام عن طريقه لفرز الاسماء بحيث عند التركيز على الوردية الأولى يظهر قائمة الموظفين من جدول بيانات الموظفين ويستثني من ذلك من تم اختيار اسمه في احد الورديات الامور الى هنا كلها تمشي بشكل جيد المشكلة عند اختيار اسم في احد الورديات والانتقال الى ورديه اخرى يبقى اسمه يظهر لأن مربع الكمبوبوكس لم يستشعر التحديث الذي حدث على النموذج ولاشعار النموذج بالتغيرات التي حدثت اضطررت الى وضع الامر Refresh في حدث عند التركيز على مربع الكمبو بوكس ويتم تنفيذ الامر بنجاح لكن يحدث بطأ واهتزاز لجميع سجلاات النموذج بعد تنفيذ الامر فهل هناك طريقة اخرى او تصميم اخر تمكنني من تنفيذ المطلوب رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 3, 2020 الكاتب مشاركة قام بنشر نوفمبر 3, 2020 رفع رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 10, 2020 الكاتب مشاركة قام بنشر نوفمبر 10, 2020 رفع رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 12, 2020 الكاتب مشاركة قام بنشر نوفمبر 12, 2020 Up رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر نوفمبر 12, 2020 مشاركة قام بنشر نوفمبر 12, 2020 السلام عليكم 🙂 في ٣/١١/٢٠٢٠ at 01:35, alsihran said: فهل هناك طريقة اخرى او تصميم اخر تمكنني من تنفيذ المطلوب شوف هذا الموضوع ، ممكن نستفيد منه كهيئة عامة ، ونعمل على تفاصيله ليتناسب مع طلبك : . جعفر 1 رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 12, 2020 الكاتب مشاركة قام بنشر نوفمبر 12, 2020 2 ساعات مضت, jjafferr said: شوف هذا الموضوع ، ممكن نستفيد منه كهيئة عامة ، ونعمل على تفاصيله ليتناسب مع طلبك : الحمد لله اخيرا وجدت من يرد على الموضوع بشكل عام اعتقد نفس الفكرة لكن لا أعرف كيف ستطبق ..... !!!!!! مثلا كيف سأتعامل مع الاسماء لمدة 30 يوم كل يوم 4 فترات بعض الاسماء التي لها اجازه ومسجله في جدول الاجازات يجب ان لاتظهر اسمائهم في نفس اليوم اذا كان يقع خلال الاجازة علما ان اول خطوة ستكون ادراج ايام الشهر بالتاريخ الهجري بشكل تلقائي وليس يديوي لو كان وقتك يسمح ولك المقدرة على المساعده فأني لك من الشاكرين رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 12, 2020 الكاتب مشاركة قام بنشر نوفمبر 12, 2020 6 دقائق مضت, alsihran said: كل يوم 4 فترات عذرا خمس فترات اذا اعتبرنا الفترة الخامسة لتسجيل اسماء العطل الاسبوعية رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر نوفمبر 12, 2020 مشاركة قام بنشر نوفمبر 12, 2020 المعضلة في طريقة عملك السابقة ، هي السماح بأكثر من اختيار في حقل الكومبوبوكس ، وهو الامر والميزة اللي انت محتاج له ، وفي الواقع ، هذه احد مساوئ الاكسس ، بأن يعطون المستخدم طريقة عمل ، يكون فيها المشاكل في طريقة التعامل معها برمجيا !! لهذا السبب ، ان شاء الله بكرة انظر في الطريقة الجديدة ، وبقية طلباتك يمكن التعامل معاها عن طريق معايير في الاستعلام 🙂 جعفر 1 رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 12, 2020 الكاتب مشاركة قام بنشر نوفمبر 12, 2020 2 دقائق مضت, jjafferr said: المعضلة في طريقة عملك السابقة ، هي السماح بأكثر من اختيار في حقل الكومبوبوكس ، وهو الامر والميزة اللي انت محتاج له ، جزاك الله وجزى والديك كل خير رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر نوفمبر 14, 2020 مشاركة قام بنشر نوفمبر 14, 2020 السلام عليكم 🙂 في اعتقادي ان هذه اسهل طريقة ، واذا استعملت التنسيق الشرطي لتلوين السجلات اللي تم اختيارها ، سيكون الفت للنظر 🙂 ما بدخل في تفاصيل ، لأنه في الواقع مافي تفاصيل ، جرب ببيانات آخر يوم مثل تاريخ اللي في الصوره ، وبعدها اعمل سجل جديد بواسطة "ادخال سجل جديد لليوم" 🙂 صحيح اني استعملت 5 نماذج فرعيه ، لأنه في الواقع مافي فرق بينها وبين ComboBox و ListBox (في استغلالهم طاقات الاكسس) ، ولكن النموذج فيه امكانيات اكثر ، ونحن متعودين على التعامل معاه اكثر ، فيكون التعامل معاه اسهل ، وكل نموذج فرعي له استعلام 🙂 . هذه احداث النموذج Private Sub cmd_Add_New_Click() 'check if Records exist for this date If DCount("*", "tbl_Shifts", "[nDate]=#" & Date & "#") = 0 Then DoCmd.SetWarnings False DoCmd.OpenQuery "qry_Append_Today" DoCmd.SetWarnings True End If 'go to this Record Me.Requery DoCmd.GoToRecord , , acLast End Sub Private Sub cmd_Requery_Click() 'get the data based on the selected Dates Me.Requery End Sub Private Sub Form_Current() 'Count the Selected Call Count_Selected End Sub . والحدث "بعد التحديث" لزر الاختيار في النموذج الفرعي ، ينادي الوحدة النمطية De_Select ، ويرسل معها رقم الشفت ، اللي يتماشى مع رقم النموذج الفرعي : . وهذه هي الوحدة النمطية : Option Compare Database Option Explicit Dim frm As String Dim sfrm As String Dim ctrl As Control ' Public Function De_Select(sShift As Integer) frm = Screen.ActiveForm.Name 'Main Form name sfrm = Forms(frm).Controls("sfrm_" & sShift).Name 'SubForm name 'change the nShift of the Record, based on the selection of nSelected If Forms(frm)(sfrm)("nSelected") = -1 Then Forms(frm)(sfrm)("nShift") = sShift Else Forms(frm)(sfrm)("nShift") = 0 End If 'save the Record to show the change on other sfrm If Forms(frm)(sfrm).Form.Dirty Then Forms(frm)(sfrm).Form.Dirty = False 'requery all the SubForms to show the correct Selection Call Re_query End Function Public Function Re_query() 'requery all the SubForms on the Main Form For Each ctrl In Forms!frm_Daily_Shift.Form.Controls If ctrl.ControlType = acSubform Then Forms!frm_Daily_Shift(ctrl.ControlName).Form.Requery End If Next 'show the number of Selected Records Call Count_Selected End Function Public Function Count_Selected() As Integer On Error GoTo err_Count_Selected Dim rst As DAO.Recordset Dim i As Integer '5 subForms For i = 1 To 5 Count_Selected = 0 Set rst = Forms!frm_Daily_Shift("sfrm_" & i).Form.RecordsetClone rst.MoveFirst Do Until rst.EOF If rst!nSelected = -1 Then Count_Selected = Count_Selected + 1 End If rst.MoveNext Loop 'show the result of the sfrm Selected Count Forms!frm_Daily_Shift("Sum_" & i) = Count_Selected Next i Exit_Count_Selected: rst.Close: Set rst = Nothing Exit Function err_Count_Selected: If Err.Number = 3021 Then 'no Records Resume Exit_Count_Selected Else MsgBox Err.Number & Err.Description End If Resume Exit_Count_Selected End Function . جعفر 1281.FRm_Refresh.accdb.zip رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 14, 2020 الكاتب مشاركة قام بنشر نوفمبر 14, 2020 3 ساعات مضت, jjafferr said: في اعتقادي ان هذه اسهل طريقة ، واذا استعملت التنسيق الشرطي لتلوين السجلات اللي تم اختيارها ، سيكون الفت للنظر شكرا لك احتاج وقت لمعرفة الطريقه وفهمها ولي عودة رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر نوفمبر 14, 2020 مشاركة قام بنشر نوفمبر 14, 2020 طريقة العمل : عند عمل يوم جديد ، نقوم بإدراج جميع الموظفين من الجدول Emp الى الجدول tbl_Shifts ، ويكون رقم الشفت امام كل سجل = 0 ، في النموذج : كل نموذج فرعي يأخذ بياناته من الجدول tbl_Shifts ، ومن نفس الحقل (لا توجد جقول مختلفة لكل شفت) ، ويعتمد على رقم النموذج الفرعي (رقم الشفت) ، فيُظهر رقم الشفت الخاص به ، او صفر (ومعناه السجلات التي لم يتم اختيارها بعد) ، ولما نختار اسم الموظف في النموذج الفرعي ،فهو يغير رقم الشفت من صفر الى رقم الشفت ، بإستخدام الدالة De_Select(1) مثلا ، والتي تدل على اننا في الشفت 1. هناك الكثير من الاختصارات في الكود ، فمثلا ، بدل ان نعمل كود خاص لكل نموذج فرعي ، عند اختيار الاسم : نغير الشفت من صفر الى رقم الشفت ، نحفظ السجل ، نطلب البيانات من اول وجديد لجميع هذه النماذج الفرعية ، حيت ان الاختيار سيغير مكان الموظف الى شفت الذي ينتمي (وهذه كانت المعضلة في برنامجك السابق) ، ثم نجمع الحقول التي تم اختيارها في كل نموذج فرعي ، ونضع القيمة في الاسفل ، هنا الدالة De_Select تقوم بجميع هذه الخطوات ، ولكل النماذج 🙂 وتلاحظ ان النماذج الفرعيه لا يوجد بها كود اصلا ، وذلك لأننا ننادي الكود من اعدادات الحقل nSelected (بدل ان نعمل حدث بعد التحديث 🙂 ) . جعفر 1 رابط هذا التعليق شارك More sharing options...
alsihran قام بنشر نوفمبر 14, 2020 الكاتب مشاركة قام بنشر نوفمبر 14, 2020 استاذ @jjafferr كلمات الشكر لن توفيك حقك ولكن الدعاء في ظهر الغيب هو ما مكنني ان اقدمه لك فجزاك الله كل خير مجهود واضح بذلته والفكرة جدا جميله ولاحظت ان البيانات تنساب بسهوله ف النماذج لكن تواجهني بعض المشاكل بعضها ذكرتها لك من البداية فمثلا في ١٢/١١/٢٠٢٠ at 23:16, alsihran said: علما ان اول خطوة ستكون ادراج ايام الشهر بالتاريخ الهجري بشكل تلقائي وليس يديوي والخطوة هذه موجود في برنامجي ولكن لا أعرف كيف سيتم تطبيقها حسب المثال الذي ارفقته انت لانك تضيف الاسماء تلقائيا في جدول الورديات ومن ثم تقوم باختيارهم في الفترات بالمرفق مثال لكيفية ادراج ايام الشهر بالكامل ارجو ان تنظر إليه المشكلة الثانية في المثال الذي ارفقته انا ايام الشهر يتم عرضها بالكامل في النموذج عن طريق جعل النموذج نماذج مستمرة وفي مثالك يتم فقط عرض سجل واحد ( يوم واحد ) و لايمكن جعل النموذج الاساس نماذج مستمرة بسبب انه يحتوي على نماذج فرعية وانا احتاج ارى امامي اثناء اختيار اسماء الموظفين في الفترات عرض سبعة ايام دعنا نقول اسبوع كامل لتنسيق الدوام بين الموظفين فهل يمكن عرض السجلات بالنموذج لاسبوع على الاقل في كل صفحة ومن ثم في الصفحة الثانية الاسبوع الثاني وهكذا الى الاسبوع الرابع بدل من اختيار يوم واحد فقط كنت ذكرت لك ان من يكون في اجازة لايجب ان يظهر اسمه في نفس اليوم الذي سيتم اختيار الموظفين فيه فهل سيؤثر هذا عند قيامنا برط استعلام الاجازات مع الاستعلامات التي عملتها انت ليتم استثناء اسمائهم من الظهور شكر لك وتقبل تحياتي Database N.rar رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان