-
Posts
4003 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
167
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
تمام ,, ولكن فيما يخص الدمج أمره على ما أعتقد سيكون دون الاعتماد على مصفوفات على سبيل المثال ، لأنه وللأسف لا يمكن استخدام المصفوفات مباشرة في المعيار داخل الاستعلام . لذا ، هذا اقتراح بسيط :- Public Function IsValidWorkType(workTypeValue As Integer) As Boolean Dim dayNum As Integer: dayNum = Weekday(Date) Select Case dayNum Case 1 To 4 IsValidWorkType = (workTypeValue = 1) Case 5 IsValidWorkType = (workTypeValue = 1 Or workTypeValue = 2) Case 6, 7 IsValidWorkType = (workTypeValue = 2) Case Else IsValidWorkType = False End Select End Function وسيكون الاستعلام بعد مقترحي السابق :- SELECT tblCtrlDetails.usrID, tblCtrlDetails.workType, tblCtrlDetails.fatraType, tblFatrat.first_time, tblFatrat.last_time, TimeValue(Now()) AS [Current_Time] FROM tblFatrat INNER JOIN tblCtrlDetails ON tblFatrat.fatraID = tblCtrlDetails.fatraType WHERE (((tblFatrat.first_time)<=tblFatrat.last_time) And ((TimeValue(Now())) Between tblFatrat.first_time And tblFatrat.last_time) And ((IsValidWorkType([workType]))<>False)) Or (((tblFatrat.first_time)>tblFatrat.last_time) And ((TimeValue(Now()))>=tblFatrat.first_time Or (TimeValue(Now()))<=tblFatrat.last_time) And ((IsValidWorkType([workType]))<>False)); العفو معلمي الفاضل ، هذا يعود لحاجتك من الناتج العائد إن كان يخدم مطلبك أم لا ... وأتمنى أن لا أكون قد ابتعدت عن مسار المطلوب 😅😅 فلي عادة أن أنحرف بالتفكير يميناً ويسارا
-
جميل جداً جداً .. بسيط وسهل القراءة . ولكن ممكن تعليق صغير أستاذي ومعلمي الفاضل ؟؟ الدالة funDayInweek5 ، سوف ترجع القيمة 2 فقط إذا كان اليوم هو الخميس (5) بدون أي تحقق من الوقت !! وهذا يعني انه في الاستعلام ، الشرط OR (((tblCtrlDetails.workType)=funDayInweek5())) سيعيد جميع السجلات التي يكون فيها workType = 2 = يوم الخميس ، بغض النظر عن الوقت . أليس هذا صحيحاً ؟؟
-
وعليكم السلام ورحمة الله وبركاته .. اتمنى أن لا يكون هناك أمور لم تأت على ذكرها 😅😅 جرب في حدث عند التحميل لأي نموذج يحتوي الزر المطلوب ، الكود التالي Private Sub Form_Load() If Time() > #3:00:00 PM# Then Me.Alborg.Visible = False Else Me.Alborg.Visible = True End If End Sub
-
وعليكم السلام ورحمة الله وبركاته .. حسب فهمي البسيط للفكرة ، اسمحولي أن أشارك بهذه الفكرة البسيطة ، حيث في الاستعلام Query2 الفكرة الأولى والتي اعتقد انها لا تعتمد على ان يوم الخميس مشترك ، وفي الاستعلام النهائي Query3 اعتقد انه هو المطلوب ( ما لم أكن قد فهمت الفكرة بشكل متسرع كالعادة 🤣 ) SELECT c.usrID, d.work_name AS [نوع العمل], f.fatra_name AS الفترة, f.first_time AS [وقت البداية], f.last_time AS [وقت النهاية], TimeValue(Now()) AS [الوقت الحالي], Format(Date(),"dddd",1) AS [اليوم الحالي] FROM (tblFatrat AS f INNER JOIN tblCtrlDetails AS c ON f.fatraid = c.fatraType) INNER JOIN tblDaysWork AS d ON c.workType = d.workID WHERE (((f.first_time)<=TimeValue(Now())) AND ((f.last_time)>=TimeValue(Now())) AND ((c.workType)=1) AND ((Weekday(Date())) Between 1 And 5)) OR (((f.last_time)<[f].[first_time]) AND ((TimeValue(Now()))>=[f].[first_time] Or (TimeValue(Now()))<=[f].[last_time]) AND ((c.workType)=1) AND ((Weekday(Date())) Between 1 And 5)) OR (((f.first_time)<=TimeValue(Now())) AND ((f.last_time)>=TimeValue(Now())) AND ((c.workType)=2) AND ((Weekday(Date())) In (5,6,7))) OR (((f.last_time)<[f].[first_time]) AND ((TimeValue(Now()))>=[f].[first_time] Or (TimeValue(Now()))<=[f].[last_time]) AND ((c.workType)=2) AND ((Weekday(Date())) In (5,6,7))); Database2.accdb
-
السبب في مشكلتك ليست في الأكواد أو الأدوات ، وإنما من بنية الجدول في اكسيس لديك !!! على سبيل المثال :- العمود E ويمثل alsaf_Id في اكسل وقيمته على سبيل المثال = كي جي1 . بينما نظيره في جدول اكسيس = الحقل alsaf_Id ، وهو حقل رقمي . فكيف سيتم نقل قيمة نصية الى حقل رقمي !!!!!!!!! إذا عرف السبب بطل العجب وهنا ينتهي دوري للأسف .
-
افتح موضوع جديد اذا أحببت ، أو ارسل لي شرحاً باسماء الحقول بالتفصيل يعني كل عمود في اكسل الى اي حقل في اكسيس ، وحتماً ستجد حلاً . طبعاً مع ارفاق قاعدة بيانات تحتوي الجدول فقط مع ملف اكسل للبيانات التي تريد استيرادها من اكسل الى اكسيس .
-
المطلوب الأول حسب ما فهمت ، استبدل الاستعلام في الزر "تحويل حالة هذه الكتب ..." بالاستعلام التالي CurrentDb.Execute "UPDATE [جدول تسجيل الكتب] SET CaseBook = 'مفقود' WHERE [G N] = (SELECT MAX([G N]) FROM [جدول تسجيل الكتب]);", dbFailOnError المطلوب الثاني غير مفهوم .. وأتمنى منك التوضيح بشكل مفهوم أخي الكريم
-
لا أعلم لم لا يتم التقيد بسياسة المنتدى عند فتح اي موضوع أخي الكريم 🙄 فلم تأتِ على ذكر ان الكود جزء من مديول ، هذا أولاً . ثانياً لا يتم الأمر بالصورة التي تتوقعها ، ولكن سيكون هناك دالة منفصلة على هذا الطلب . على العموم ، في مديول جديد أو موجود ، انسخ الدالة التالية ، والصقها في مشروعك :- Public Sub FokshBTN(btn As commandButton, ByVal PNAME As String, ByVal Kind As String, Optional ByVal JO_Title As String = "تأكيد طباعة") On Error Resume Next Dim msg As String msg = "الخاص " & btn.Caption & " هـل . . . . . تريـد طبـاعة تقريـر" & vbNewLine & vbNewLine & _ " بـــ " & PNAME & " " & Kind If MsgBox(msg, vbQuestion + vbMsgBoxRight + vbYesNo, JO_Title) = vbYes Then DoCmd.PrintOut DoCmd.Close acReport, Reports(0).Name Else DoCmd.Close acReport, Reports(0).Name End If End Sub ثم في أي زر ، يتم الاستدعاء بالشكل التالي :- FokshBTN Me.ActiveControl, PNAME, Kind 😅
-
ما فهمت شي من المطلوب بشكل واضح للأسف ، ولكن من خلال رؤية بنية الإستعلام ، استعمل الشرط التالي في الحقل G N :- (SELECT MAX([G N]) FROM [جدول تسجيل الكتب]) بدلاً من عبارة ( [أعلى رقم جرد] ) . على ما أعتقد إذا كان فهمي للوضع صحيح .. وأخبرنا بالنتيجة
-
برنامج ادارة بيانات ادارة تعليمية بمدارسها للبيع
Foksh replied to ahmed_204079's topic in إعلانات شخصية للأعضاء
اعتقد ان القسم المناسب لنشر الموضوع هو قسم الإعلانات الشخصية للأعضاء -
نظام مراقبة ⭐ هدية ~ نظام مراقبة الطابور وحجز الدور في المنشئات 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
تحسين الإتصال بقاعدة البيانات الخلفية ( الجداول ) ، وتلافي أخطاء محتملة .. تحسين واجهة العرض الرئيسية ( شاشة الإنتظار ) ، وتحسين سرعة تحديث البيانات على الشاشة . عدم إتاحة الفرصة لأي مستخدم باختيار قاعدة بيانات خلفية غير المسموح بها . توسيع صلاحيات المدير بإضافة ميزة النسخ الإحتياطي ( إنشاء و إستعادة ) . وهذه الميزة جديدة بطريقتها ، بحيث تتميز بـِ :- التعامل مع الجداول فقط عند النسخ الإحتياطي أو الإستعادة ، وليس كقاعدة كاملة . ولكن بسهولة ويسر .. التعامل بإحترافية مع تضمين كلمة المرور الحالية للقاعدة المرتبطة ضمن اسم النسخة الإحتياطية ( باستخدام تشفير بسيط Base64 ) . سهولة تمرير كلمة المرور لكل قاعدة يتم استعادتها أو ربطها من النسخ الإحتياطية - دون الحاجة إلى كتابة كلمة مرور قاعدة بيانات الجداول - حتى لو اختلفت من نسخة الى نسخة . توحيد مجلد قاعدة البيانات الخلفية في مكان واحد لجميع الأجهزة المرتبطة عند الإستعادة لأي نسخة احتياطية . عملية ربط ديناميكية سريعة محدثة عن النسخة السابقة . نظام رسائل تنبيه حديث ومتطور ( بدلاً من رسائل آكسيس ) . حيث تم الإستغناء عن 90% من رسائل آكسيس التقليدية MsgBox . تحسين تفاعل شاشة المدير مع المستخدم . افتح أولاً قاعدة بيانات المدير (Manager Controls) ، وسيُـطلب منك اختيار قاعدة بيانات الجداول الخلفية المرفقة بجانب قاعدة البيانات حاليــــــاً بإسم (TBL) ، والغير محمية بكلمة مرور طبعاً - ( الأمر اختياري لك ) . الآن تباعاً سيتم نسخ قاعدة البيانات الى المجلد TBL:- \Data\TBL انتهى دور المدير في الوقت الحالي . الآن بالتسلسل سيقوم كل موظف / جهاز حجز الدور / شاشة عرض الإنتظار بتشغيل قاعدة بياناتــــه ، وسيطلب منه تحديد قاعدة البيانات الخلفية بشكل يدوي أول مرة طبعاً فقط . وهنا فقط تستطيع الربط مع القاعدة الموجودة في المجلد \Data\TBL في مساره على الجهاز الرئيسي طبعاً . بعد تحديد مسار الملف بغض النظر عن موقعه ( شبكة محلية / بجانب قاعدة البيانات ... إلخ ) سيتم فتح نافذة - ( الصورة أدناه ) - تطلب منك إدخال كلمة مرور الجداول ، فإذا كانت محمية بكلمة مرور فقم بكتابتها . وإلا اضغط موافق واترك الخانة فارغة للمتابعة بدون كلمة مرور . ونكون قد انتهينا من الربط وتهيأة النظام للعمل 😅 . :- دائماً يسعدني إبدائكم الرأي والملاحظات حول الأخطاء والمشاكل التي يمكن مواجهتها في أي مشروع يتم تأسيسه في آكسيس أو غيره من لغات البرمجة . في حال رغبتك أخي المستخدم بإضافة التقارير ، فقد تم تأسيس الجداول بسهولة ودون تعقيد ، وبعدد حقول قليل ويخدم جميع البيانات التي تحتاجها . QMS 1.30.zip- 17 replies
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته ,, If MsgBox("الخاص " & Me.BTNFoksh.Caption & " هـل . . . . . تريـد طبـاعة تقريـر" & vbNewLine & vbNewLine & _ " بـــ " & PNAME & " " & kind, vbQuestion + vbMsgBoxRight + vbYesNo, JO_Title) = vbYes Then DoCmd.PrintOut DoCmd.Close acReport, Reports(0).Name Else DoCmd.Close acReport, Reports(0).Name End If جرب هذا التعديل ؟؟
-
هل استخدمت التجميع في الاستعلام ؟؟؟؟ اذا لم يكن هناك دوال حسابية في الاستعلام ، فحاول استخدم التجميع ، وفي الحقل G N ، في الحقل Total = Max ... غير ذلك ، أعتذر لعدم إفادتك دون ملف مرفق !!!!
-
وعليكم السلام ورحمة الله وبركاته ،، في المسميات العربية والتي دائماً ننبه من خطأ وخطورة استعمالها في الحقول والجداول من جهة ، ومن جهة أخرى الفصل بمسافة بين اسماء الحقول والجداول بدلاً من استعمال إشارة "_" ، يجب استعمال الحاصرتين [] لتمييز اسماء الحقول والجداول بالعربية .. جرب هذا التعديل :- SELECT MAX([G n]) FROM [جدول تسجيل الكتب]
-
وعليكم السلام ورحمة الله وبركاته ,, اذا إجابتك هي من يجب اختيارها ، وليس إجابتي يا صديقي . شكراً على متابعتك وثقتك .
-
اظهار الاسم المختار من قائمة منسدلة دون بقية الأسماء
Foksh replied to عفرنس's topic in منتدى الاكسيل Excel
طيب أخي الكريم ، جرب قم بإضافة أسماء الى الجدول الأيسر ، لأنه حتى في الأيسر يتم تحديد الأسماء جميعها التي اخترتها من القائمة المنسدلة 🤔 -
اظهار الاسم المختار من قائمة منسدلة دون بقية الأسماء
Foksh replied to عفرنس's topic in منتدى الاكسيل Excel
بعد تجربة المرفق ، وجدت أنه يفعل المطلوب الذي تريده بدون اي مشاكل ، إلا إذا كنت لم استفهم المشكلة بشكل واضح ؛ لأن المعطيات 11 كلمة 😅 . لكن انظر الصورة من مرفقط دون أي تعديل :- -
نسخ ملف اكسيل كما هو بدون معادلات او اكواد - محتوى البيانات فقط
Foksh replied to Hesham.Abusna's topic in منتدى الاكسيل Excel
لا ولا يهمك ,, حصل خير دي تستخدم كنوع من التعبير عن الشكر لصاحب الإجابة اللي هو تعب في كتابتها ونشرها لوجه الله مساهمة منه . وكنوع من الدعم المعنوي للأعضاء للمشاركة في جميع المواضيع . ونتمنى إنك تلاقي إجاباتك وحلول مشاكلك هنا مع نخبة من الأساتذة والمعلمين . دمتم بخير .. سالمين -
نسخ ملف اكسيل كما هو بدون معادلات او اكواد - محتوى البيانات فقط
Foksh replied to Hesham.Abusna's topic in منتدى الاكسيل Excel
-
نسخ ملف اكسيل كما هو بدون معادلات او اكواد - محتوى البيانات فقط
Foksh replied to Hesham.Abusna's topic in منتدى الاكسيل Excel
ولا يهمك ، وألف سلامة عليك .. ونسأل الله لكم الشفاء من كل بلاء .. في إجابتي اللي حضرتك اخترتها ، حتلاقي زر الغاء اختيار تمت الإجابة ، دوس عليه ، وبعدين روح لإجابة الأستاذ محمد هشام واختارها بالضغط على زر تمت الإجابة . وسلامتك -
نسخ ملف اكسيل كما هو بدون معادلات او اكواد - محتوى البيانات فقط
Foksh replied to Hesham.Abusna's topic in منتدى الاكسيل Excel
-
نسخ ملف اكسيل كما هو بدون معادلات او اكواد - محتوى البيانات فقط
Foksh replied to Hesham.Abusna's topic in منتدى الاكسيل Excel
أشكرك على ثقتك أخي الكريم ، ولكن صاحب الكود الأستاذ @محمد هشام. . لذا هو صاحب الفضل باختيارك اجابته كأفضل إجابة أو تمت الإجابة له -
عدم ظهور التقارير الفارغة فى الطباعة واثناء التنقل بين التقارير
Foksh replied to jo_2010's topic in قسم الأكسيس Access
متأسفاً لعدم المتابعة سابقاً لأسباب كثيرة ، أتى على ذكرها معلمي الفاضل ، حيث نهدف إلى تقديم المساعدة قدر المستطاع لأخوتنا أينما كانوا ، ولكن أحياناً عندما تساهم في حل مشكلة تجد أن الأصل في تأسيس المشروع غير سليم ، مما يساعد على ظهور مشاكل وعقبات وصعوبات أخرى ... أرجو منكم المعذرة لعدم ردي سابقاً ، ولكن شعرت بأنه إن بدأت في إصلاح نقطة فستجد أنها حبل قد تمت العقد فيه متتالية .. وهذا للأسف ما يخجلني من عدم المتابعة -
نسخ ملف اكسيل كما هو بدون معادلات او اكواد - محتوى البيانات فقط
Foksh replied to Hesham.Abusna's topic in منتدى الاكسيل Excel
مشاركة بتوضيح فكرة الأستاذ @محمد هشام. مشكوراً على فكرته الجميلة .. 1. انسخ الدالة السابقة الى مديول جديد في مشروعك الرئيسي واحفظه . 2. تستطيع تشغيل الماكرو بالنقر على Alt + F8 ، ثم تختار اسم الماكرو ، وانقر زر تشيل Run . 3. سيتم إنشاء مجلد جديد حسب الكود ( Workbook_Copy ) . وبداخله نسخة من مشروعك الأصلي لا تحتوي معادلات أو أزرار أو أكواد ... الخ . 💡 والتوظيف الذكي في الكود ، أن النسخة الناتجة لا تدعم الماكرو حتى لو حاولت إعادة تضمينها ، انظر السطر :- xlOpenXMLWorkbook ' أي .xlsx أي أنه لم يستخدم فكرة استنساخ الملف الجديد عن الأصل بنفس الإمتداد . ودمتم بخير جميعاً