بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
12,480 -
تاريخ الانضمام
-
Days Won
233
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو ابوخليل
-
حذف سجل من خلال كود vba - الشرح بالصورة المرفقة
ابوخليل replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
المفترض الكود يتعامل مع الجداول بغض النظر عن النموذج الرئيسي او حتى الفرعي بمعنى تعمل حدث قبل التحديث للحقل في النموذج الفرعي فإذا كانت القيمة صحيحة يتم القبول والتحديث والا يتم الغاء القيمة كيف ؟ الكود هذا يشتمل على : 1- سطر يجلب راتب الموظف من الجدول الرئيس 2- سطر يجلب من الجدول الفرعي مجموع ما تم دفعه للموظف خلال هذا الشهر 3- سطر يجمع ما تم دفعه سابقا + القيمة المدرجة في الحقل 4- تتم المقارنة بين القيمتين 1 و 3 -
كود تحقق من اتصال الشبكة المحليه في الجهاز
ابوخليل replied to Mohameddd200300's topic in قسم الأكسيس Access
تفضل هذا الموضوع -
حذف سجل من خلال كود vba - الشرح بالصورة المرفقة
ابوخليل replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
السلام عليكم مداخلة معكم احبتي .. خاطرة بصوت مرتفع : مؤكد في تطبيق الفكرة .. انك ستأخذ بعين الاعتبار أن العملية سيتم تطبيقها على مستوى كل شهر باعتبار احتمال تكرار هذه الدفعات خلال السنة بمعنى ان الاحتراز هذا يتم خلال الشهر الحالي في هذه الحالة انت بحاجة الى استعلام مصدره الجدول الفرعي يظهر فيه الدفعات خلال هذا الشهر وبناء على هذا الاستعلام يتم المقارنة بين مجموع الدفعات والمرتب المستحق -
حلك هذا يعطيك الشهر للتاريخ الحالي الصحيح حسب سؤالك هو : Year([اسم الحقل])
-
odate = Dlookup("your filedDate name","your table name") بدلا من odate = #3/28/2021# باعتبار your filedDate name هو اسم حقل التاريخ في الجدول و your table name هو اسم الجدول
-
الطرق للحل متعددة منها دمج الحقلين داخل الاستعلام لو ارفقت مثالا بسيطا يتم التطبيق عليه .. اتوقع ستحصل على اكثر من طريقة للحل
-
لم ننتبه للرسالة التي ارفقتها سابقا الخلل عندك في نظامك اضبط اعدادات اللغة في وندوز الى العربية .. ستحتاج الى اعادة تشغيل النظام
-
السبب استخدامك للحروف العربية في الكود مع الابقاء على المسافات الخالية مثال2.accdb
- 1 reply
-
- 2
-
جرب : اعمل قاعدة بيانات جديدة على 2016 ثم اجلب اليها الكائنات من المثال السابق .
-
المنتدى مليء بمثل هذه المواضيع فقط ابحث ستجد الكثير هذا مثال
-
الملاحظة المهمة في المثال الاصل العلاقة الغير مفهومة بين الجدولين لذا قمت بحذف الجدول ، حتى يتم اعادته على الوجه الصحيح
-
كيفية احتساب ورديات الحضور والانصراف بالاكسس
ابوخليل replied to samer mohamed's topic in قسم الأكسيس Access
يا لطيف هذا ليس مثالا .. بل انظر اختصرت لك المثال .. وسؤالي ما طريقتك في استخراج توقيع الحضور وتوقيع الانصراف خلال الجلسة الواحدة (اليوم الواحد) ؟ in_out_time2.mdb -
عليكم السلام مع ان تصميم الجدول سيء ويوجد عليه كثير من الملاحظات ولكني احببت ان اضع هنا حل في تطبيق فكرة السؤال ، وذلك لدلالة العنوان فقمت بتغيير المسميات الى حروف لاتينية حتى تتمكن وغيرك ممن يمر من هنا قراءة الجملة البرمجية بصورة صحيحة ولو تم تضمين المسميات العربية لما تمكن احد من قراءة الكود بالصورة الصحيحة ، حيث ستختلط المسميات يمينا ويسارا فنصيحتي الا تستخدم الحروف العربية عند تصميم الجداول وتجنب المسافات الخالية بين الكلمات الحل وحدة نمطية ترجع بآخر قيمة من الرصيد بالاعتماد على اعلى رقم في مفتاح الجدول ثم نضع هذه الدالة في القيمة الافتراضية لحقل الباقي من التمويل Public Function rsdsabq() Dim i As Integer i = DMax("id", "tbl_tmweel") rsdsabq = DLookup("raseed", "tbl_tmweel", "id=" & i) End Function الرصيد.accdb
-
كيفية احتساب ورديات الحضور والانصراف بالاكسس
ابوخليل replied to samer mohamed's topic in قسم الأكسيس Access
المثال تضعه انت بناء على التصميم الذي عملته وعموما المسألة يسيرة جدا : اطرح التاريخ الأول من التاريخ الثاني -
كيفية احتساب ورديات الحضور والانصراف بالاكسس
ابوخليل replied to samer mohamed's topic in قسم الأكسيس Access
الطريقة ان تجعل : تنسيق حقل / حقلي الحضور والانصراف تاريخ كامل ( General Date ) وطبعا سيكون الحضور في يوم والانصراف في اليوم الذي يليه ولكن يمكنك من احتساب الوقت الفعلي الصحيح -
خاصية المجاميع هذه تمت اضافتها للجداول في الاصدارات الجديدة من اكسس اعتقد في 2010 وما بعده انظر الصورة
-
اعمل حقل في تذييل النموذج ثم في عرض التصميم الصق فيه هذه العبارة =Count("*") عدد السجلات.accdb
-
الموضوع قديم
-
مساعدة في عملية فرز او تصفية بيانات
ابوخليل replied to ازهر عبد العزيز's topic in قسم الأكسيس Access
عليكم السلام طلبك ليس دقيقا فيمكن تحقيق ذلك باستخدام نموذج رئيسي وآخر فرعي داخله ويمكن تحقيقة باستخدام قائمتين اذا نقرت على الاسم في الاولى تظهر الاسماء المرتبطة في القائمة الثانية ويمكن تظهر الاسماء المرتبطة برسالة فقط بمعنى لا يكفي ان تضع جدولين فقط بل انت من يجب ان يعمل النموذج بالتصميم الذي تريد وبالنتيجة التي تريد ان تظهر -
تعديل بسيط ان شاء الله يكون هو المتقن والمعتمد On Error Resume Next Dim i As Integer Dim ii, j As Long Dim rs1, rs2 As Dao.Recordset Set rs1 = CurrentDb.OpenRecordset("SELECT TAB.MNO, TAB.TNO FROM TAB WHERE TAB.TYPE1 =1 ORDER BY TAB.TNO") Set rs2 = CurrentDb.OpenRecordset("SELECT TAB.MNO, TAB.TNO FROM TAB WHERE TAB.TYPE1 >1 ORDER BY TAB.TNO") rs1.MoveLast: rs1.MoveFirst For i = 0 To rs1.RecordCount Step 0 i = i + 1 rs1.Edit rs1!MNO = i rs1.Update rs1.MoveNext Next i rs2.MoveLast: rs2.MoveFirst ii = 10000 For ii = 10000 To (rs2.RecordCount + ii) Step 0 ii = ii + 1 rs2.Edit rs2!MNO = ii rs2.Update rs2.MoveNext Next ii Set rs1 = Nothing Set rs2 = Nothing
-
هكذا افضل On Error Resume Next Dim i As Integer Dim ii As Long Dim rs1, rs2 As Dao.Recordset Set rs1 = CurrentDb.OpenRecordset("SELECT TAB.MNO, TAB.TNO FROM TAB WHERE TAB.TYPE1 =1 ORDER BY TAB.TNO") Set rs2 = CurrentDb.OpenRecordset("SELECT TAB.MNO, TAB.TNO FROM TAB WHERE TAB.TYPE1 >1 ORDER BY TAB.TNO") rs1.MoveLast: rs1.MoveFirst For i = 0 To rs1.RecordCount Step 0 i = i + 1 rs1.Edit rs1!MNO = i rs1.Update rs1.MoveNext Next i rs2.MoveLast: rs2.MoveFirst ii = 10000 For ii = 1 To rs2.RecordCount Step 0 ii = ii + 1 rs2.Edit rs2!MNO = ii rs2.Update rs2.MoveNext Next ii Set rs1 = Nothing Set rs2 = Nothing
-
المقطع الثاني يبدأ بـــ 10001 حسب طلبه فبتعديلك هنا سوف يبدأ العدد بـــ 10000 امهلني سوف اعالج المسألة بطريقة أخرى
-
اولا انت ذكرت الشيت ، وهذا مصطلح في مصنفات اكسل انت الآن في قسم الأكسس اذا كان لديك الخبرة في اكسل فأنصحك بطرح سؤالك في قسم الاكسل واذا ترغب في برنامج على اكسس فابحث داخل المنتدى بــ حضور او برنامج حضور ستجد كثير من برامج الحضور قد تكون غير مكتملة ويمكنك المتابعة هنا والتعديل عليها ومنه تتعلم وتكسب خبرة . اما ان كنت تريد برنامج مكتمل فيمكنك ايضا كتابة طلبك في قسم الاعلانات الشخصية بمقابل
-
وهذا للجزء الأول من السؤال استبدل السطرين في الكود السابق بهذين Set rs1 = CurrentDb.OpenRecordset("SELECT TAB.MNO, TAB.TNO FROM TAB WHERE TAB.TYPE1 =1 ORDER BY TAB.TNO") Set rs2 = CurrentDb.OpenRecordset("SELECT TAB.MNO, TAB.TNO FROM TAB WHERE TAB.TYPE1 >1 ORDER BY TAB.TNO")
-
تفضل ضعه في حدث النقر على الزر On Error Resume Next Dim i As Integer Dim ii As Long Dim rs1, rs2 As dao.Recordset Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM TAB WHERE TAB.TYPE1=1") Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM TAB WHERE TAB.TYPE1>1") rs1.MoveLast: rs1.MoveFirst For i = 0 To 10000 Step 0 i = i + 1 rs1.Edit rs1!MNO = i rs1.Update rs1.MoveNext Next i rs2.MoveLast: rs2.MoveFirst ii = 10000 For ii = 10000 To 100000 Step 0 ii = ii + 1 rs2.Edit rs2!MNO = ii rs2.Update rs2.MoveNext Next ii Set rs1 = Nothing Set rs2 = Nothing