-
Posts
3703 -
تاريخ الانضمام
-
Days Won
149
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
Foksh replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
ما دام الأمر مقتصراً على قاعدة بيانات واحد فقط ، فالخلل إذاً بلا شك في نفس القاعدة وبطريقة كتابة الأكواد والسلوك المتبع في التسلسل .... إلخ وجهة نظري أستاذي وصديقي @ابو جودي -
العفو أخي الكريم .. اذا كان قد تم حل مشكلتك ، ففضلاً قم بإغلاق الموضوع .
-
قم بفتح قاعدة بيانات جديدة ، اعمل استيراد لجميع مكونات قاعدة البيانات التي لا تعمل ( جداول واستعلامات ونماذج ... الخ ) . ومن المهم ان تتأكد من المكتبات في محرر أكواد VBA .
-
وعليكم السلام ورحمة الله وبركاته ، أخي الكريم @2saad ، الأصل هو تتبع الاستعلامات التي بُنيت عليها الإستعلامات الفرعية ، والأستاذ @ابوخليل مشكوراً أسس لك الإستعلامات بشكل سهل تستطيع منه التتبع والتعديل ... إلخ على العموم ، في البداية يجب إضافة الحقل في الاستعلام الأصلي = qry_master . ثانياً ، إضافة الحقل في الاستعلامين (qry_Temp_term1 و qry_Temp_term2 ) . ثالثاً ، بعد إضافة الحقل Stucod في الجدول ، قمت بالتعديل على زري (اعداد نتيجة الفصل الدراسي الأول و اعداد نتيجة الفصل الدراسي الثاني) بحيث يتم اضافة قيمة الحقل الى الجدول ، كالآتي :- Private Sub ProcessTermData(termNum As Integer, ctrl As Control, includeVHodor As Boolean) On Error GoTo ErrorHandler ctrl.Caption = "انتظر ..." DoCmd.SetWarnings False DoCmd.RunSQL "DELETE FROM tbl_Temp WHERE tbl_Temp.term_Num = " & termNum & ";" If includeVHodor Then DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, vHodor, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & _ "SELECT qry_term" & termNum & ".*, qry_Temp_term" & termNum & ".term_Num, " & _ "qry_Temp_term" & termNum & ".hodor, qry_Temp_term" & termNum & ".alnesbah1, " & _ "qry_Temp_term" & termNum & ".tgyeem1, qry_Temp_term" & termNum & ".hala1, " & _ "qry_Temp_term" & termNum & ".safType, qry_Temp_term" & termNum & ".eldina_id, " & _ "qry_Temp_term" & termNum & ".Stucod " & _ "FROM qry_Temp_term" & termNum & " INNER JOIN qry_term" & termNum & " " & _ "ON qry_Temp_term" & termNum & ".Stucard = qry_term" & termNum & ".Stucard;" Else DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & _ "SELECT qry_term" & termNum & ".*, qry_Temp_term" & termNum & ".term_Num, " & _ "qry_Temp_term" & termNum & ".alnesbah1, qry_Temp_term" & termNum & ".tgyeem1, " & _ "qry_Temp_term" & termNum & ".hala1, qry_Temp_term" & termNum & ".safType, " & _ "qry_Temp_term" & termNum & ".eldina_id, qry_Temp_term" & termNum & ".Stucod " & _ "FROM qry_Temp_term" & termNum & " INNER JOIN qry_term" & termNum & " " & _ "ON qry_Temp_term" & termNum & ".Stucard = qry_term" & termNum & ".Stucard;" End If DoCmd.SetWarnings True ctrl.Caption = "تــم" Exit Sub ErrorHandler: DoCmd.SetWarnings True ctrl.Caption = "خطأ" MsgBox "حدث خطأ أثناء معالجة البيانات", vbCritical + vbMsgBoxRight, "" End Sub ثم الإستدعاء في الزرين :- Private Sub StartBtn_Click() ProcessTermData 1, b, False End Sub Private Sub StartBtn2_Click() ProcessTermData 2, bb, True End Sub ملفك بعد التعديل :- Data18.zip أو البقاء على الاستعلامات الاصلية للزرين كما في التالي :- Private Sub StartBtn_Click() b.Caption = "انتظر ..." DoCmd.SetWarnings False DoCmd.RunSQL "DELETE tbl_Temp.*, tbl_Temp.term_Num FROM tbl_Temp WHERE (((tbl_Temp.term_Num)=1));" DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & vbCrLf & _ "SELECT qry_term1.*, qry_Temp_term1.term_Num, qry_Temp_term1.alnesbah1, qry_Temp_term1.tgyeem1, " & _ "qry_Temp_term1.hala1, qry_Temp_term1.safType, qry_Temp_term1.eldina_id, qry_Temp_term1.Stucod " & vbCrLf & _ "FROM qry_Temp_term1 INNER JOIN qry_term1 ON qry_Temp_term1.Stucard = qry_term1.Stucard;" DoCmd.SetWarnings True b.Caption = "تــم" End Sub Private Sub StartBtn2_Click() bb.Caption = "انتظر ..." DoCmd.SetWarnings False DoCmd.RunSQL "DELETE tbl_Temp.*, tbl_Temp.term_Num FROM tbl_Temp WHERE (((tbl_Temp.term_Num)=2));" DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, vHodor, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & vbCrLf & _ "SELECT qry_term2.*, qry_Temp_term2.term_Num, qry_Temp_term2.hodor, qry_Temp_term2.alnesbah1, " & _ "qry_Temp_term2.tgyeem1, qry_Temp_term2.hala1, qry_Temp_term2.safType, qry_Temp_term2.eldina_id, qry_Temp_term2.Stucod " & vbCrLf & _ "FROM qry_Temp_term2 INNER JOIN qry_term2 ON qry_Temp_term2.Stucard = qry_term2.Stucard;" DoCmd.SetWarnings True bb.Caption = "تــم" End Sub
-
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
Foksh replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
هل قمت بتغيير الوسيط الذي تقوم بنقل القاعدة عليه ؟؟؟؟؟؟؟؟؟ قد يكون هذا أحد أسباب تلف قاعدة البيانات وهو الـ USB نفسه الذي تنقل من خلاله -
اسمحوا لي بمداخلة صغيرة . أخي الريم عند اضافة أكواد إلى مشاركتك أو أي موضوع لك لاحقاً ، حاول استخدام إشارى <> المخصصة لكتابة أو لصق الأكواد فيه . أما بخصوص هذه المشكلة عند المسميات العربية والتي لا ننصح بها دائماً في برمجة VBA هي :- لاحظ الرموز التي نتجت عند نسخك للكود في الوقت الذي كانت فيه لغة الكيبورد = English في كمبيوترك !! بينما لاحقاً ومستقبلاً عند نسخ أي كود من محرر الأكواد وكان الكود يحتوي مسميات عربية ، حاول تغيير لغة الكتابة الى العربية قبل النسخ واللصق . كل الإحترام والتقدير للأساتذة وخبراء ومعلمي قسم الآكسل . فلا أتعدى ولا أنقص من مجهودكم بقدر ما لفت انتباهي تكرار هذه النقطة عند الكثيرين من الأخوة أصحاب الطلبات بما يخص هذه المشكلة CE??EC??E .
-
وعليكم السلام ورحمة الله وبركاته .. من خلال المعطيات التي ذكرتها .. الوزن الصافي (طن) : مثلاً 197 طن درجات القمح : درجة 23.5 بسعر 2200 جنيه درجة 23.0 بسعر 2150 جنيه درجة 22.5 بسعر 2100 جنيه الخصومات : دمغة : 1 جنيه النقابة : 0.55 جنيه لكل أردب ستكون المعادلة في اكسل افتراضاً بالشكل التالي :- = (الوزن_الصافي * 1000 / 150) * (IF(الدرجة>=23.5, 2200, IF(الدرجة>=23, 2150, IF(الدرجة>=22.5, 2100, 0))) - (دمغة + (الوزن_الصافي * 1000 / 150 * 0.55))) وكفكرة على كيفية تطبيقها : قم بإعداد جدول بهذه الأعمدة ( أسماء الأعمدة في الصف الأول ) :- A : رقم الكرتونة B : الوزن الصافي (طن) C : درجة القمح D : السعر E : الخصومات F : الصافي في الخلية D2 (السعر) = المعادلة التالية :- =IF(C2>=23.5, 2200, IF(C2>=23, 2150, IF(C2>=22.5, 2100, 0))) في الخلية E2 (الخصومات) = المعادلة التالية أيضاً :- =1 + (B2*1000/150*0.55) -في الخلية F2 (الصافي) = المعادلة : =(B2*1000/150*D2)-E2 طبعاً على افتراض أن الأردب = 150 كيلو جرام حسب النظام المصري .
-
ما هى قدره التخزين على قاعده بيانات الاكسيس بالجيجا؟
Foksh replied to TAMER AGOOR's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أقصى سعة تخزين في آكسيس = 2 جيجابايت تقريباً لكل ملف . -
وعليكم السلام ورحمة الله وبركاته .. أخي الكريم أمرك بسيط جداً إن شاء الله ، وهو انك حالياً تقارن بين تاريخ الوفاة وقيمة حقل التاريخ "alyom" في جدول "البيانات" . وهذا غير صحيح للأسف . فالأصل ان تتم المقارنة بين تاريخ الوفاة وتاريخ اليوم = Date في الاستعلام "استعلام بالاسم" وهو مصدر سجلات التقرير "مدة الوفاة" الآن لضبط الأمور كما تريد ، فقط عدل في الاستعلام الحقل الأخير AGE الى التالي :- AGE: diff2dates("ddmmyyyy",[n1],Date(),True) طبعاً انا عملت لك الجزء الخاص فقط اللي في الاستعلام . برنامج الوفيات.accdb
-
برجاء الدعاء لشفاء نجل الاخ محمد هشام
Foksh replied to Ahmed Saad 2017's topic in منتدى الاكسيل Excel
اللهم ربّ الناس ، أذهب البأس ، واشفِ أنت الشافي ، لا شفاء إلا شفاؤك ، شفاءً لا يغادر سقمًا . اللهم اشفِ نجل الأخ محمد هشام شفاءً تاماً عاجلاً ، اللهم ألبسه ثوب الصحة والعافية ، وردّه إلى أهله سالماً معافى يا أرحم الراحمين . اللهم اجعل مرضه طهوراً له ، وكفّارةً لذنوبه ، وسبباً لرفع درجته ، وفرّج عن والديه وأهله ، إنك على كل شيء قدير 🤲🏻 -
كل الوحدات النمطية فارغة وكذا الأحداث في الفورمات
Foksh replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
يعمل على إصدار أوفيس 2016 64بت ، و ويندوز 10 ( مع إصدار 2010 32بت ) بدون مشاكل -
وعليكم السلام ورحمة الله وبركاته.. كان لي تجربة شخصية مع أخي @سلمان الشهراني في أحد المواضيع هنا . حاول التواصل معه عله يفيدك 🤗 .
-
اختصاراً لوقتك و وقت الاساتذة ، لم لا تقوم بالافاق الملف .
-
هذا جزء من مشروع سابق ، ويظهر تقريباً الفكرة ذاتها ، ولكن مع تأسيس مضبوط لمتطلبات الفكرة .. طبعاً التنفيذ تم على جميع الأجزاء التي يتم فيها الدفع ( دائن / مدين ) ... للأفراد أو الشركات ..
-
نعم أخي الكريم ، تستطيع استخلاص اليوم والشهر والسنة بشكل منفصل بأكثر من طريقة ، بالإعتماد على حقل الرقم القومي :- السنة لوحدها = YearPart: IIf(Left([Stucard],1)="3",2000,1900)+Val(Mid([Stucard],2,2)) الشهر لوحده = MonthPart: Val(Mid([Stucard],4,2)) اليوم لوحده = DayPart: Val(Mid([Stucard],6,2))
-
كما أعتقد وجود خطأ في البيانات التي في المرفق الأخير الذي تم اعتماده للعمل !!! حيث مثلاً الطالب صاحب الرقم القومي = 31705180106695 موجود له سجلات في الجدول "Tbl_degree_Detail" ولكن للأسف ليس له سجل في الجدول الخاص بالطلاب "Tbl_student" واعتقد انه في الصف الثاني وله درجات بمجموع = "368" لتحقيق الشروط للمواد المعتمدة . وعليه فإنه من الطلاب الأوائل الـ 10 ، مع العلم أنه ليس له سجل في الجدزل "tbl_Temp" أيضاً .. فكيف ستكون النتائج صحيحة ما لم تكن البيانات سليمة !!! أعتذر إذا كانت الملاحظات التي أطرحها ليست ذات أهمية .
-
في محاولتي سابقاً لاستخلاص تاريخ الميلاد من الرقم القومي ، استخدمت هذا السطر في الاستعلام :- BirthDate: DateSerial(IIf(Left([Stucard],1)="3",2000,1900)+Val(Mid([Stucard],2,2)),Val(Mid([Stucard],4,2)),Val(Mid([Stucard],6,2))) إن كانت تحقق غاية بخصوص تاريخ الميلاد
-
يعني ان حقل النسبة هو المعتمد في ترفيع الطالب الى صف أعلى أو اعتباره غير مكمل لصفه الدراسي ... اذا يتم اعتماده للتمييز بين تقدير ودرجات الطلاب عن بعضهم . طبعاً سيتم استثناء الطلاب الذين لهم "غ" من نتيجة الفلترة !!
-
أما إن كان تركيز فكرة الـ 10 الأوائل يصب على قيمة حقل النسبة alnesbah ( اي بعد احتساب المواد الداخلة أو .... إلخ من تفرعات ) ، فسؤالي هل النتيجة التالية صحيحة ؟؟ Query1 alsaf_Id term_Num Studentname alnesbah Stucard BirthDate 1 1 كارما مجاهد محمد مجاهد عمران %100 31807110105389 2018-07-11 1 2 كارما مجاهد محمد مجاهد عمران %100 31807110105389 2018-07-11 2 1 تمارا عادل سعيد عبدالفتاح احمد %100 31702210104146 2017-02-21 2 2 تمارا عادل سعيد عبدالفتاح احمد %88 31702210104146 2017-02-21 3 1 امل حسين سيد عبدالمنعم %96 31601300101609 2016-01-30 3 2 اروي اشرف حسني محمد %87.25 31608252106827 2016-08-25 4 1 احمد سامح عبدالسلام نمر سلومه %80 31506162203214 2015-06-16 4 2 احمد سامح عبدالسلام نمر سلومه %72.67 31506162203214 2015-06-16 5 1 الاء عوض حمدالله احمد علي %70 31401200101602 2014-01-20 5 2 الاء محمد نصرالدين فهمي محمد %66 31407080106069 2014-07-08 6 1 احمد رامي سيد امين %80 31307130100518 2013-07-13 6 2 احمد رامي سيد امين %66.67 31307130100518 2013-07-13 وهل فعلاً نسبة النجاح المئوية تمت بعد احتساب المواد الداخلة في النجاح و المجموع و النشاط ، أم قبل ؟؟؟
-
هل هذه النقطة ستستند الى استخراج تاريخ الميلاد من الرقم القومي للطالب 🤔 ؟؟ أم أنه من الأساس لا يوجد حقل لتاريخ ميلاد الطالب ( بعد الإطلاع على المرفق طبعاً )
-
وعليكم السلام ورحمة الله وبركاته .. أهلا بأشقائنا في السودان الحبيب ، وبمشاركتك الأولى نرحب بك معنا في عالمنا الصغير .. باعتقادي ومن وجهة نظري ( الغير ملزمة طبعاً ) أن احتساب الرصيد التراكمي له عدة أشكال للحصول عليه ، فمثلاً في أحد نشاريعي القديمة كنت قد توجهت الى اضافة حقل "الرصيد الحالي" لكل عميل بحيث يبدأ من 0 ، ويتم تحديثه بالقيمة الجديدة حسب نوع الحركة ( لنفترض = سحب أو إيداع ) وطبعاً سيكون الأمر مشروطاً برقم العميل الفريد والغير مكرر . وعليه فملاحظاتي في ملفك المرفق هي :- في الجدول Bill_info ، ولنفترض CustomerID = 1 له 5 حركات ( منها 2 مدين ، و 3 دائن ) فبعد كل حركة إدخال سجل جديد يتم انشاء دالة أو استعلام تحديث بحيث اذا كانت العملية مدين فيتم اضافتها الى الحقل السابق الذي قلنا انه مخصص للرصيد التراكمي ، وان كانت دائن يتم خصمها أو طرحها من رصيده .. وعليه تستطيع تتبع كل حركة بتاريخها و قيمتها ... إلخ . أتمنى أن تكون الفكرة قد وصلت بشكل صحيح و واضح . ومتأكد أنك ستجد الكثير من الأفكار التي يمكن تطبيقها وتنفيذها .