اذهب الي المحتوي
أوفيسنا

ابوخليل

أوفيسنا
  • Posts

    12,480
  • تاريخ الانضمام

  • Days Won

    233

كل منشورات العضو ابوخليل

  1. هلا اخي العزيز كرار تصدق ما فهمت ! العشرات ومرتبتين ومرتبة ؟ لا بد تشرح بالتفصيل واذا جاء السؤال من محترف لا بد الواحد يحك راسه مرتين واذا ما قدر الله يعينه على الاعتذار
  2. جزاك الله خيرا اخي صالح اخ moamen salem تفضل البحث في احد الحقول المنضمة Private Sub text1_BeforeUpdate(Cancel As Integer) Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[Emp_No] = " & [text1] If Not rs.NoMatch Then Me.Undo Me.Bookmark = rs.Bookmark Else End If End Sub جعل الحدث قبل التحديث واضافة سطر للتراجع
  3. رمهان اول واحد يعلن عن هذا السر في المواقع العربية اذا هذا اللي بخاطرك .. صافي ياعسل ولكن اذا وجد من سبقك الى هذه المعلومة في اي جهة من الكرة الارضية ، فمن حقه الاشارة اليه ايضا يسقط حقك في المطالبة بالحقوق الفكرية قد يعذر الانسان بالجهل ولكن حين يعلم يلزمه التنويه وانا لا انتقص من قدر احد فقد تكون المسألة توارد خواطر ، يعني ان الانسان قد يصل الى الفكرة باجتهاده ، ثم يفاجأ انه قد سبقه غيره اليها وهذا الاخير اجزم به وان الفكرة من اجتهادك . اسأل الله ان يصلح احوالنا ، ويعفو عنا
  4. ههه الله يخزي شيطانك صحيح اني اتسرع ولكن اعوذ بالله من التسلط ليتك بسطت فكرتك هناك او عدلت على الكود الموجود ثم بعد ذلك احلت على فكرتك يمكن يكون الرد الطف وشكرك اوجب مثالي هو الموجود هناك فقط اضف كلمة undo للتراجع عن الخطأ وغير الحدث الى قبل التحديث اهم عوامل الكود التي يكتبها اكسس هي : Recordset.Clone FindFirst Bookmark Not rs.EOF NoMatch
  5. وعليكم السلام نعم يمكن جرب هذا الكود للشرط الثاني بعد ان تضيف نموذج فرعي Case Is = "o" Me.Controls("subfrm1").SourceObject = "frm2" Me.Controls("subfrm1").Form.Filter = "[ÑÞã]=" & Str2Int(node.Key) Me.Controls("subfrm1").Form.FilterOn = True
  6. دع معالج اكسس يعمل بدلا عنك عند انشاء مربع تحرير ثم انظر الكود الناتج يمكنك بعد ذلك تغيير مربع التحرير الى مربع نص منضم او غير منضم وموضوعك هذا موجود له سنه لم اعلق عليه ولا عارضتك ولكنك انت اللي سحبتني بمشاركتك هنا والاسلوب الذي كتبت به المداخلة : اوجب علي التوضيح للاعضاء من باب نشر العلم وتبيينه ادعوا لي ولك اخي ان يرزقنا الله العلم النافع والعمل الصالح وان يكون خالصا لوجهه الكريم
  7. بالنسبة للتعديل فاظن انه تم في حينه يمكن بعد يوم او يومين من المشاركة واظن ان تواريخ التعديلات والحذف يحتفظ بها الموقع اما كتابتي للروابط فهي حسب طلبك ، والاولى انك انت تضع مصدر المعلومة ولانك اشرت الى هذه المشاركة هناك فمع اختلاف المطلوب قليلا فكأنك تلمح الى الاسبقية في كتابة الكود علما اني لم استفد من الروابط اعلاه في تحرير الكود ولا من المواقع العربية وانما الذي كتبه اكسس نفسه فمنذ عرفت اكسس وهو يكتب هذا الكود وبذكاء ايضا حيث يضع المعايير حسب الحقل المفلتر يضع معيار ا نصيا ان كان الحقل نصيا ومعيارا رقميا ان كان الحقل رقميا هل يبدو الامر غريبا ! ؟ واحيانا ادخل عليه او اجري عليه بعض التعديلات البسيطة حسب الحاجة كما في طلب الاخ مومن في الرابط السابق
  8. هذه الروابط لعموم الفائدة هذا من عام  2001 وهذا من عام  2007 هنا الكود من عام 2008 وهذا من عام  2010 وهذا من عام  2012 وهذا من ميكروسوفت حديث
  9. وعليكم السلام هذه الخاصية موجودة ضمن خصائص قارىء الباركود المصنعية اقرأ التعليمات ( الكتلوج ) المرفقة مع الجهاز ( يوجد باركودات لتثبيت الخاصية ) وهذه الخصائص يتم تفعيلها بحيث نقوم بتمرير القارىء على الباركود المصنعي المحدد
  10. تم تطبيق الدالة على المثال هنا التطبيق في حقل الرصيد في نموذج المبيعات
  11. السلام عليكم ورحمة الله وبركاته وبعد احبتي اليكم طريقة لاستخراج ارصدة الاصناف المتوفرة في المستودع وهي دالة تخرج لنا رصيد الصنف بمجرد تمرير رقم الصنف عليها اليكم الدالة مع الشرح Public Function alRaseed(ByVal vsenf As String) ' vsenf هو متغير نصي ويمكن ان يكون رقمي وهو يمثل رقم الصنف Dim shra, bai As Integer 'متغيرات رقمية shra = Nz(DSum("kmyahB", "tbl_buy", "N_mad=" & vsenf), 0) ' مجموع عدد الاصناف المشتراه من الصنف المحدد bai = Nz(DSum("kmyahS", "tbl_sales", "N_Mda=" & vsenf), 0) ' مجموع عدد الاصناف المبيعة من الصنف نفسه alRaseed = shra - bai ' الرصيد المتبقي End Function 'وفي النموذج ا Private Sub Cmd1_Click() text1 = alRaseed("0000121") 'الرقم بين القوسين يمثل معرف الصنف 'ويمكن ان نضع داخله اسم حقل الصنف End Sub اذا الشرح غير كافي يمكنني زيادة الايضاح
  12. الحق ان مثالك بحاجة الى ترميم جميع اعضائه وهذا ما تم عمله تم التصرف في معظم كائنات المثال وعناصره ، التسميات لا بد ان تدل من الوهلة الاولى على المحتوى من اجل سهولة التعديل في المستقبل ادرس الجداول جيدا خاصة الجداول الثلاث : جدول الاصناف والمشتريات والمبيعات بالنسبة للرصيد وكيفية استخراجه سأفتح موضوعا جديدا اشرح فيه هذه الطريقة مثال3.rar
  13. تمام الفحص عن قرب يبين المشكلة مشكلتك في حقل Emp_No في جدول tblEmployeess هو الآن غير قابل للتكرار اجعله يقبل التكرار ولزيادة الضبط اجعل الحقول الثلاثة مفاتيح .. انظر التعديل الترحيل6.rar
  14. بعد الاطلاع على الرابط اللي عملته انا هي نفسها رؤية الاستاذ جعفر بالضبط وانت طبعا لم تتابعه بل حاولت معه تطبيق فكرتك القائمة تقوم مقام النموذج ويمكن تخصيص القائمة حسب المستخدم السهولة والمرونة عند استخدام واجهة واحدة للبرنامج وعلى كل حال انا اعطيتك الفكرة التي تبحث عنها ( وهي التحكم بوقت حفظ البيانات) ويمكنك تطبيقها على برنامجك
  15. اعتقد لا يوجد مشكلة ارفق المثال الذي عملت عليه وخرجت المشكلة حتى يتم الاصلاح
  16. مسألة عدم الحفظ الا بشرط يتم تطبيقها داخل النماذج غير المنضمة والحفظ يكون عبارة عن الحاق البيانات وتصعب المسألة قليلا اذا كان النموذج فرعيا ولكن مكمن الصعوبة في مثالك اكبر لانك تريد ان تضيف اكثر من سجل للشخص الواحد وفي هذه الحالة النماذج غير المنضمة لا تستجيب لهذا يجب عمل جدول وسيط يحتفظ بالبيانات مؤقتا الى ان يتم النقر على زر الطباعة وهذا ما تم عمله لايضاح الفكرة تم التصرف في المثال اتمنى ان ينال اعجابك 2010.rar
  17. السلام عليكم بعد الاطلاع على العمل اتضح التالي : اذا البرنامج يشتمل على جدول باسماء الطلاب فالوضع يختلف عما سأذكر ادناه وعلى فرضية عدم وجود جدول طلاب يلزمك اعادة صياغة وتصميم العمل على النحو التالي : جدول للرسوم ///// ( قد يكون الرسم موحد للجميع ويمكن ان يوجد اكثر من نوع او فئة ) وفائدته عدم تكرار اجمالي الرسوم في جدول التحصيل جدول اولياء الامور ///// ويشتمل على معرف ولي الامر واسمه وعدد الاولاد ونوع الرسم ( ان وجد انواع ) جدول التحصيل ///// ويسجل فيه المبالغ المحصلة وتاريخ التحصيل ورقم السند فقط بمعلومية المعرف وليس الاسم اتمنى ان اجد الوقت الكافي لتصحيح مثالك
  18. السلام عليكم الصحيح ان حقل الباقي من المادة يجب ان يكون محسوب اي غير منضم وبمعنى آخر لا يتم رصده في الجدول وبكذا مهما عدلت على العدد المبيع سيتغير الباقي آليا
  19. مطلوبك واضح ويبدوا يوجد مشكلة في المثال جراء التحويل الى mdb فضلا اعد ارفاق المثال الاصلي قبل التحويل
  20. لا يوجد بيانات في المثال فضلا اضف بعض البيانات وبين بالضبط السجل التي تريد حذفه والسجلاات التي تريد الابقاء عليها
  21. تفضل في حالة عدم وجود الرقم يفتح سجل جديد Private Sub text1_AfterUpdate() Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[Emp_No] = " & [text1] If Not rs.NoMatch Then Me.Bookmark = rs.Bookmark Else DoCmd.GoToRecord , , acNewRec End If End Sub
  22. تفضل اضفنا شرط وللعلم السجل يغني عن الاسم Dim i As Boolean i = Nz(DLookup("EmpID", "tblEmployeess", "[status]= forms!nam!status And [sdasda]= forms!nam!sdasda And [Emp_No]= forms!nam!Emp_No"), 0) If i = True Then MsgBox " مكرر !! لا يمكن ادخال الشخص والسنة والشهر" Exit Sub End If ويمكنك كما ذكرت لك في البداية ان تجعل الحقول في الجدول مفاتيح ونستغني عن هذه الاكواد
  23. يا لطيف 7 شهور .. الحق انك مناضل تفضل : باعتبار اسم الحقل والذي نوعه رقمي في الجدول والذي تبحث عن طريقه اسمه id اعمل مربع نص غير منضم في النموذج واجعل اسمه text1 افتح على التصميم وفي حدث بعد التحديث لمربع النص المذكور الصق هذا الكود Private Sub text1_AfterUpdate() Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[id] = " & Me![text1] If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub ان كان نوع الحقل في الجدول نصيا ستحتاج الى تغيير بسيط في الكود
  24. تم التعديل وعمل المطلوب Dim i As Boolean i = Nz(DLookup("EmpID", "tblEmployeess", "[status]= forms!nam!status And [sdasda]= forms!nam!sdasda"), 0) If i = True Then MsgBox " مكرر !! لا يمكن ادخال السنة والشهر" Exit Sub End If الترحيل4.rar
×
×
  • اضف...

Important Information