بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
4011 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
167
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
وعليكم السلام ورحمة الله وبركاته .. أخي الفاضل بدايةً وبما أنك في مشاركتك السادسة ؛ فأهلاً وسهلا بك معنا في عالمنا المتواضع ، أود لفت انتباهك إلى ما يلي :- 1. الإلتزام بسياسة وقوانين المنتدى عند نشر أي موضوع جديد لك باتباعك ما يلي :- ضرورة أن يكون العنوان ذا وصف يدل على المشكلة . الشرح الوافي للمشكلة التي تعاني منها في مشروعك ( قاعدة بياناتك ) . ضرورة إرفاق ملف يحتوي على وصف المشكلة أو على الأقل مكوناتها ، ليتم التطبيق عليه في الحلول المقترحة . لا يشترط منك ارفاق سجلات وبيانات حقيقية ذات طابع شخصي أو خاص . 2. للبدء بداية سليمة في تصميم وإنشاء المشاريع باستخدام اكسيس ، حاول الإبتعاد عن :- التسميات العربية للحقول والعناصر والمكونات ( الجداول والنماذج ... إلخ ) . لا تستخدم تسميات تتكون من مقطعين ( كلمتين ) ويفصل بينهما مسافة . مثل ( Cust Num ) بل الأفضل ( Cust_Num ) . لا تبدأ تسميات الحقول أو العناصر أو الجداول والنماذج بأرقام أو رموز غريبة ... إلخ . 3. شكراً لك على سعة صدرك لما سلف
-
أنا شفتك ماشي معاه 😉 ، قلت يمكن متصاحبين جامد ، ومش غلط نتعرف على صحابك هههههههه انا مش رايح بعيد ، أدينا مستنين ( قال على رأي المثل : يا قاعدين يكفيكم شر الجايين 😂 )
- 11 replies
-
- برايل
- شخابيط وافكار
- (و4 أكثر)
-
مشاركة مع الأستاذ @Barna ، من خلال استعلام التحديث التالي :- UPDATE data_dor2 SET N_Arb = IIF(Val(Nz([Dor_Arb], 0)) = -1, -1, IIF(IsNumeric([Dor_Arb]), IIF(Val(Nz([Dor_Arb], 0)) >= 50, Val([Dor_Arb]), IIF(IsNull([TDor_Arb]) OR Val(Nz([TDor_Arb], -1)) = -1, 0, IIF(Val([TDor_Arb]) >= 50, 50, Val([TDor_Arb])) ) ), 0) ), N_Math = IIF(Val(Nz([Dor_Math], 0)) = -1, -1, IIF(IsNumeric([Dor_Math]), IIF(Val(Nz([Dor_Math], 0)) >= 50, Val([Dor_Math]), IIF(IsNull([TDor_Math]) OR Val(Nz([TDor_Math], -1)) = -1, 0, IIF(Val([TDor_Math]) >= 50, 50, Val([TDor_Math])) ) ), 0) ), N_Drast = IIF(Val(Nz([Dor_Drast], 0)) = -1, -1, IIF(IsNumeric([Dor_Drast]), IIF(Val(Nz([Dor_Drast], 0)) >= 50, Val([Dor_Drast]), IIF(IsNull([TDor_Drast]) OR Val(Nz([TDor_Drast], -1)) = -1, 0, IIF(Val([TDor_Drast]) >= 50, 50, Val([TDor_Drast])) ) ), 0) ), N_Since = IIF(Val(Nz([Dor_Since], 0)) = -1, -1, IIF(IsNumeric([Dor_Since]), IIF(Val(Nz([Dor_Since], 0)) >= 50, Val([Dor_Since]), IIF(IsNull([TDor_Since]) OR Val(Nz([TDor_Since], -1)) = -1, 0, IIF(Val([TDor_Since]) >= 50, 50, Val([TDor_Since])) ) ), 0) ), N_Eng = IIF(Val(Nz([Dor_Eng], 0)) = -1, -1, IIF(IsNumeric([Dor_Eng]), IIF(Val(Nz([Dor_Eng], 0)) >= 50, Val([Dor_Eng]), IIF(IsNull([TDor_Eng]) OR Val(Nz([TDor_Eng], -1)) = -1, 0, IIF(Val([TDor_Eng]) >= 50, 50, Val([TDor_Eng])) ) ), 0) ), N_Comp = IIF(Val(Nz([Dor_comp], 0)) = -1, -1, IIF(IsNumeric([Dor_comp]), IIF(Val(Nz([Dor_comp], 0)) >= 50, Val([Dor_comp]), IIF(IsNull([TDor_Comp]) OR Val(Nz([TDor_Comp], -1)) = -1, 0, IIF(Val([TDor_Comp]) >= 50, 50, Val([TDor_Comp])) ) ), 0) ), N_Skills = IIF(Val(Nz([Dor_skills], 0)) = -1, -1, IIF(IsNumeric([Dor_skills]), IIF(Val(Nz([Dor_skills], 0)) >= 50, Val([Dor_skills]), IIF(IsNull([TDor_Skills]) OR Val(Nz([TDor_Skills], -1)) = -1, 0, IIF(Val([TDor_Skills]) >= 50, 50, Val([TDor_Skills])) ) ), 0) ), N_Den = IIF(Val(Nz([Dor_Den], 0)) = -1, -1, IIF(IsNumeric([Dor_Den]), IIF(Val(Nz([Dor_Den], 0)) >= 50, Val([Dor_Den]), IIF(IsNull([TDor_Den]) OR Val(Nz([TDor_Den], -1)) = -1, 0, IIF(Val([TDor_Den]) >= 50, 50, Val([TDor_Den])) ) ), 0) ) WHERE name_student <> "IsNull";
-
يا أهلا وسهلا بالأفكار الجميلة وصاحبها .. جميل جداً جداً لي تعليق على :- لا حاجة لاستخدام vbMsgBoxRtlReading مع vbMsgBoxRight . فهذا يكفي لجعل اتجاه النص RTL ( حتى بدون vbMsgBoxRight، لأن vbMsgBoxRtlReading يتضمن عادةً محاذاة لليمين تلقائية ) . لاحظت انه في حال تم استخدام أزرار أخرى في النموذج ذات علاقة مختلفة مثل اغلاق النموذج من خلال الحدث Docmd.Close وكانت التسمية للزر الجديد = "إغلاق" فإن الدالة ستحاول قراءة التسمية للزر على أنها أحد الحروف ، مما ينتج رسالة الخطأ :- ثم ثم وفي النهاية لن يتم اغلاق النموذج نظام الصوت في بعض الحروف قد يكون غير واضح مثل الحرف ـا "الألف المد" ... ما وظيفة الـ Tag للأزرار الخاصة بالأحرف ؟؟؟؟؟
- 11 replies
-
- 1
-
-
- برايل
- شخابيط وافكار
- (و4 أكثر)
-
وعليكم السلام ورحمة الله وبركاته .. مشكلتك اذا ما خاب ظني ، هي في عدم اضافة المكتبة الموضحة في الصورة التالية :- طبعاً مع اختلاف الرقم 16.0 حسب الإصدار لديك . وإن شاء الله تشتغل معك .
-
لما تكون زهقان وداخل تشوف صحابك بيعملوا ايه فى المنتدى
Foksh replied to ابو جودي's topic in قسم الأكسيس Access
ظهرت عندي فعلاً .. أنت الأروع أستاذي الفاضل مع العلم كنت بفكر بحاجة تانية قيد التحديث -
نسيت ارفاق الملف cont.zip
-
هذا الاستعلام الذي خرجت به كما في الصورة السابقة نتيجته :- SELECT name_student, National_ID, CLASS_CLASS, num_Glos, n_lgna_dor2, sery_dor2, Dor_Arb, Dor_Math, Dor_Drast, Dor_Since, Dor_Eng, Dor_comp, Dor_skills, Dor_Den, TDor_Arb, TDor_Math, TDor_Drast, TDor_Since, TDor_Eng, TDor_Comp, TDor_Skills, TDor_Den, IIF(IsNumeric([Dor_Arb]), IIF(Val(Nz([Dor_Arb],0))>=50, Val([Dor_Arb]), IIF(IsNull([TDor_Arb]) OR Val(Nz([TDor_Arb],-1))=-1, 0, IIF(Val([TDor_Arb])>=50, 50, Val([TDor_Arb])) ) ), 0) AS N_Arb, IIF(IsNumeric([Dor_Math]), IIF(Val(Nz([Dor_Math],0))>=50, Val([Dor_Math]), IIF(IsNull([TDor_Math]) OR Val(Nz([TDor_Math],-1))=-1, 0, IIF(Val([TDor_Math])>=50, 50, Val([TDor_Math])) ) ), 0) AS N_Math, IIF(IsNumeric([Dor_Drast]), IIF(Val(Nz([Dor_Drast],0))>=50, Val([Dor_Drast]), IIF(IsNull([TDor_Drast]) OR Val(Nz([TDor_Drast],-1))=-1, 0, IIF(Val([TDor_Drast])>=50, 50, Val([TDor_Drast])) ) ), 0) AS N_Drast, IIF(IsNumeric([Dor_Since]), IIF(Val(Nz([Dor_Since],0))>=50, Val([Dor_Since]), IIF(IsNull([TDor_Since]) OR Val(Nz([TDor_Since],-1))=-1, 0, IIF(Val([TDor_Since])>=50, 50, Val([TDor_Since])) ) ), 0) AS N_Since, IIF(IsNumeric([Dor_Eng]), IIF(Val(Nz([Dor_Eng],0))>=50, Val([Dor_Eng]), IIF(IsNull([TDor_Eng]) OR Val(Nz([TDor_Eng],-1))=-1, 0, IIF(Val([TDor_Eng])>=50, 50, Val([TDor_Eng])) ) ), 0) AS N_Eng, IIF(IsNumeric([Dor_comp]), IIF(Val(Nz([Dor_comp],0))>=50, Val([Dor_comp]), IIF(IsNull([TDor_Comp]) OR Val(Nz([TDor_Comp],-1))=-1, 0, IIF(Val([TDor_Comp])>=50, 50, Val([TDor_Comp])) ) ), 0) AS N_Comp, IIF(IsNumeric([Dor_skills]), IIF(Val(Nz([Dor_skills],0))>=50, Val([Dor_skills]), IIF(IsNull([TDor_Skills]) OR Val(Nz([TDor_Skills],-1))=-1, 0, IIF(Val([TDor_Skills])>=50, 50, Val([TDor_Skills])) ) ), 0) AS N_Skills, IIF(IsNumeric([Dor_Den]), IIF(Val(Nz([Dor_Den],0))>=50, Val([Dor_Den]), IIF(IsNull([TDor_Den]) OR Val(Nz([TDor_Den],-1))=-1, 0, IIF(Val([TDor_Den])>=50, 50, Val([TDor_Den])) ) ), 0) AS N_Den FROM data_dor2 WHERE (((data_dor2.[name_student])<>"IsNull"));
-
-
وعليكم السلام ورحمة الله وبركاته .. بدايةً وقبل الخوض في التجارب أكثر . جرب هذا الاستعلام الجزئي ، هل يفي بالغرض ؟ SELECT data_dor2.name_student, data_dor2.National_ID, data_dor2.CLASS_CLASS, data_dor2.num_Glos, data_dor2.n_lgna_dor2, data_dor2.sery_dor2, data_dor2.Dor_Arb, data_dor2.Dor_Math, data_dor2.Dor_Drast, data_dor2.Dor_Since, data_dor2.Dor_Eng, data_dor2.Dor_comp, data_dor2.Dor_skills, data_dor2.Dor_Den, data_dor2.TDor_Arb, data_dor2.TDor_Math, data_dor2.TDor_Drast, data_dor2.TDor_Since, data_dor2.TDor_Eng, data_dor2.TDor_Comp, data_dor2.TDor_Skills, data_dor2.TDor_Den, data_dor2.N_Arb, data_dor2.N_Math, data_dor2.N_Drast, data_dor2.N_Since, data_dor2.N_Eng, data_dor2.N_Comp, data_dor2.N_Skills, data_dor2.N_Den, IIf(data_dor2.N_Arb=0, IIf(data_dor2.TDor_Arb>=50, data_dor2.TDor_Arb, data_dor2.TDor_Arb), IIf(data_dor2.TDor_Arb<50, data_dor2.TDor_Arb, 50)) AS Final_Arb, IIf(data_dor2.N_Math=0, IIf(data_dor2.TDor_Math>=50, data_dor2.TDor_Math, data_dor2.TDor_Math), IIf(data_dor2.TDor_Math<50, data_dor2.TDor_Math, 50)) AS Final_Math, IIf(data_dor2.N_Drast=0, IIf(data_dor2.TDor_Drast>=50, data_dor2.TDor_Drast, data_dor2.TDor_Drast), IIf(data_dor2.TDor_Drast<50, data_dor2.TDor_Drast, 50)) AS Final_Drast, IIf(data_dor2.N_Since=0, IIf(data_dor2.TDor_Since>=50, data_dor2.TDor_Since, data_dor2.TDor_Since), IIf(data_dor2.TDor_Since<50, data_dor2.TDor_Since, 50)) AS Final_Since, IIf(data_dor2.N_Eng=0, IIf(data_dor2.TDor_Eng>=50, data_dor2.TDor_Eng, data_dor2.TDor_Eng), IIf(data_dor2.TDor_Eng<50, data_dor2.TDor_Eng, 50)) AS Final_Eng, IIf(data_dor2.N_Comp=0, IIf(data_dor2.TDor_Comp>=50, data_dor2.TDor_Comp, data_dor2.TDor_Comp), IIf(data_dor2.TDor_Comp<50, data_dor2.TDor_Comp, 50)) AS Final_Comp, IIf(data_dor2.N_Skills=0, IIf(data_dor2.TDor_Skills>=50, data_dor2.TDor_Skills, data_dor2.TDor_Skills), IIf(data_dor2.TDor_Skills<50, data_dor2.TDor_Skills, 50)) AS Final_Skills, IIf(data_dor2.N_Den=0, IIf(data_dor2.TDor_Den>=50, data_dor2.TDor_Den, data_dor2.TDor_Den), IIf(data_dor2.TDor_Den<50, data_dor2.TDor_Den, 50)) AS Final_Den FROM data_dor2 WHERE data_dor2.name_student Is Not Null; وبناءً عليه نستكمل باقي المطلوب ..
-
الحصول على عنوان كامل مكتوب من خلال الاكسل لعنوان رابط جوجل
Foksh replied to Abualaa-dr's topic in منتدى الاكسيل Excel
وعليكم السلام ورحمة الله وبركاته .. من جهة قد يكون الأمر صعباً . لكن من خلال خدمات Google Cloud Console ، وتوظيف الـ API بشكل جيد يمكن الحصول على النتيجة القريبة من الطلب الذي تريده . كنت قد توجهت الى استخدام خدمات Google API في عدة مشاريع، قد تجد منها متوفراً في توقيعي نهاية هذه المشاركة .. -
لما تكون زهقان وداخل تشوف صحابك بيعملوا ايه فى المنتدى
Foksh replied to ابو جودي's topic in قسم الأكسيس Access
ايه رأي حضرتك في السويييييييت 🤣 -
لما تكون زهقان وداخل تشوف صحابك بيعملوا ايه فى المنتدى
Foksh replied to ابو جودي's topic in قسم الأكسيس Access
-
لما تكون زهقان وداخل تشوف صحابك بيعملوا ايه فى المنتدى
Foksh replied to ابو جودي's topic in قسم الأكسيس Access
تصدقوا بالله اني بحضر مفاجأة ليك يا بشمهندس محمد مع انه بشمهندس موسى سبقني ، بس الله وكيلك عندي زبون رخم حبتين -
⭐ هدية ~ مرسال الواتس أب الجديد 2025⭐ محدّث 4.0
Foksh replied to Foksh's topic in قسم الأكسيس Access
-
طيب ، على حسب ما فهمت من مناقشات سابقة بهذا الخصوص ، جرب هذا التعديل :- Private Sub أمر322_Click() On Error GoTo ErrHandler If DCount("*", "data_dor2", "Not IsNull(n_lgna_dor2)") > 0 Then MsgBox "عفوا .. تم إضافة وترقيم اللجان من قبل", vbCritical + vbMsgBoxRight, "" Exit Sub End If If IsNull(Me.studen_lg) Or Me.studen_lg <= 0 Then MsgBox "عزيزى مدخل البيانات .. من فضلك ضع عدد التلاميذ المطلوبة فى كل لجنة قبل التنفيذ", vbCritical + vbMsgBoxRight, "" Exit Sub End If If IsNull(Me.start_lg) Then MsgBox "عزيزى مدخل البيانات من فضلك ضع بداية ترقيم اللجان قبل التنفيذ", vbCritical + vbMsgBoxRight, "" Exit Sub End If Dim rs As DAO.Recordset Dim lgCounter As Long Dim stdPerGroup As Long Dim i As Long Set rs = Me.RecordsetClone rs.MoveFirst lgCounter = Me.start_lg stdPerGroup = Me.studen_lg i = 0 Do While Not rs.EOF rs.Edit rs!n_lgna_dor2 = lgCounter rs.Update i = i + 1 If i Mod stdPerGroup = 0 Then lgCounter = lgCounter + 1 End If rs.MoveNext Loop Me.Requery MsgBox "تم توزيع الطلاب على اللجان بنجاح", vbInformation + vbMsgBoxRight, "" Exit Sub ErrHandler: MsgBox " : حدث خطأ" & Err.Description, vbCritical + vbMsgBoxRight, "" End Sub
-
وعليكم السلام ورحمة الله وبركاته.. العنوان ليس ذا دلالة على المشكلة . وبدافع الفضول عند فتح الموضوع نجد أن الشرح لا يوصل المطلوب . فما هو الذي لا يتم تنفيذه ؟؟؟؟؟ 😅
-
في النموذج المستمر ؛ اضافة قيمة الى حقل بناء على قيمتين في سجلات أخرى
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
ذهبت أفكارنا في تشعبات كثيرة فعلاً ، ولكن يمكن نقصان المعلومات كان أحد الأسباب 😅 على العموم أعتقد ذهابك إلى مقترحك ، هو أنسب حل يلبي مطلبك بشكل وافي 😇 -
في النموذج المستمر ؛ اضافة قيمة الى حقل بناء على قيمتين في سجلات أخرى
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
هنا ، ممكن يكون أكتر من سيناريو للفكرة .. هل الفترات ستكون مقرونة بتاريخ مثلاً لكل شهر ( متغيرة في حال وجود أشهر مثل شهر رمضان على سبيل المثال انه ممكن يكون وقت العمل أقصر أو متأخر عن الأشهر العادية ... إلخ من سيناريوهات ؟؟؟) ولكن إن كان يحتوي أكثر من سجل فحتماً لازم يكون هناك شرط إضافي . طبعاً كل دي احتمالات قد تكون وهمية بناءً على فكرة استاذي ابو خليل هنا :- لأنه هنا هو حدد الـ ID الخاص بالسجل وليس الخاص بالفترة . على أساس انها ممكن تكون سجلات وحيدة ويتم تحديثها حسب الحاجة . -
في النموذج المستمر ؛ اضافة قيمة الى حقل بناء على قيمتين في سجلات أخرى
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
على فكرة ، ممكن يكون في لبس في فهم ftraName . انا ربطت الموضوع على انه ممكن يكون اسماء الفترات في جدول منفصل وان 1 و 2 دول معرفات الفترات في جدول أسماء الفترات ، وليس الحقل ID اللي في الجدول الحالي tbl_Ftrat .. يعني انا اشتغلت على ان الفترات ليها جدول منفصل وان القيمة ممكن تكون معرف الفترة بناءً على الجملة دي فهمت قصدي !؟ -
في النموذج المستمر ؛ اضافة قيمة الى حقل بناء على قيمتين في سجلات أخرى
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
ولو عاوز أريحك برضو .. جرب ده برضو :- Dim totalMinutes As Double totalMinutes = Nz(DSum("countWorkHours", "tbl_Ftrat", "ftraName IN (1, 2)"), 0) CurrentDb.Execute "UPDATE tbl_Ftrat SET countWorkHours = " & totalMinutes & " WHERE ID = 1", dbFailOnError Me.Refresh -
في النموذج المستمر ؛ اضافة قيمة الى حقل بناء على قيمتين في سجلات أخرى
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
يا صاحبي ، شوف :- totalminutes = Nz(DSum("countWorkHours", "tbl_Ftrat", "ftraName IN ('1','2') AND ID > 1"), 0) انا حددتله الشرط في الحقل countWorkHours ، اللي عاوز اجمع قيمه اللي هو : ftraName والشرط كان IN ('1','2') وشرط السجل اللي عاوز أحدثه : WHERE ID = 1" تبقى فين امشكلة ؟؟ جرب عدل القيم أو نوع الحقل واحكيلي الخلل !!!! -
في النموذج المستمر ؛ اضافة قيمة الى حقل بناء على قيمتين في سجلات أخرى
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
-
في النموذج المستمر ؛ اضافة قيمة الى حقل بناء على قيمتين في سجلات أخرى
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
فيما لو كانت القيمة المخزنة في جدولك يمثل رقم الفترة من جدولها ( معرف الفترة افترضت انه 1 = الصباحية ، 2 = المسائية بغض النظر عن التسمية )