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

متقاعد

الخبراء
  • Posts

    583
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    25

كل منشورات العضو متقاعد

  1. عمل جميل وان لم احمله فقط شاهدت الفيديو بالنسبة للجداول هل يظهر العلاقات وحقول العلاقة ايضا بالنسبة للنماذج هل يظهر حقول الربط بين النموذج الفرعي والرئيسي الحقيقة دائما تبهرني بافكار خارج الصندوق 🌹
  2. حسب فهمي DoCmd.OpenForm "إضافة شحنة", , , "[كود_الشحنة]=" & Me.كود_الشحنة, , acDialog الملف مرفق تجريبي.accdb
  3. وهذا ما اشرت اليه في ملف الفيديو ☝️ ممكن يكون ملف req او ملف دفعي bat او cmd ولكن يبقى السطر الذي اشرتم اليه افضل طالما نحن نتحدث عن access
  4. نعم هذا هو الحل ويمكن عملها عن طريق الرجيستري
  5. Me.Table1_subform.SetFocus DoCmd.RunCommand acCmdSelectAllRecords Microsoft Access Database جديد(3).accdb
  6. اضافة لما اشار اليه الاستاذ خليفة ممكن عملها بدون اكواد عن طريقة التنسيق الشرطي بداية نقوم باختيار الحقول التي نرغب في تطبيق الامر عليها ثم تنسيق ثم قاعدة جديد ثم تعبير ونضع فيه التعبير التالي [ss1]="مستمر" ثم اختيار تمكين عدم تمكين الشرح في الصورة المرفقة
  7. رفع الله قدرك في الدنيا والاخرة اخي واستاذي الفاضل
  8. بالتوفيق استاذ محمد والشكر لله واتمنى تعديل افضل اجابة لمعلمي واستاذي ابوخليل لكونه صاحب السبق اخيرا في مثل هذه الحالات التي تتساوي فيها مسميات حقول الجدولين يمكن عدم كتابة اسماء الحقول باستبدال Me.itemname = rs!itemname Me.itemdesc = rs!itemdesc Me.itemqty = rs!itemqty Me.dateee = rs!dateee الى For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then ctl.Value = rs.Fields(ctl.Name) وفي هذه الحالة عدد الحقول اربعة فقط وتكون طريقة الحلقة مفيدة اكثر عندما يكون لدينا عدد كبير جدا من الحقول وتفيد ايضا لتجنب الخطأ في كتابة اسماء الحقول الامر بعد التعديل Dim x As Integer x = DCount("*", "table2", "[itemcode]=" & Me.itemCode) If x > 0 Then GoTo a Else GoTo b End If b: Me.Refresh Dim rs As Recordset Dim strsql As String Dim ctl As Control strsql = "SELECT Table1.* FROM Table1 WHERE Table1.[itemCode]=" & [Forms]![AdditemPerCode]![itemCode] Set rs = CurrentDb.OpenRecordset(strsql) For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then ctl.Value = rs.Fields(ctl.Name) End If Next ctl rs.Close GoTo c a: MsgBox "الصنف سبق الحاقة" Me.Undo GoTo c c: Exit Sub الملف مرفق Database3(1).accdb
  9. ماشاء الله كنت بدأت في العمل ثم شاهدت مشاركة استاذي تم اضافة فكرة عد السجل لمنع تكرار الحاق سجل سبق الحاقه ليكون الامر Dim x As Integer x = DCount("*", "table2", "[itemcode]=" & Me.itemCode) If x > 0 Then GoTo a Else GoTo b End If b: Me.Refresh Dim rs As Recordset Dim strsql As String strsql = "SELECT Table1.* FROM Table1 WHERE Table1.[itemCode]=" & [Forms]![AdditemPerCode]![itemCode] Set rs = CurrentDb.OpenRecordset(strsql) Me.itemname = rs!itemname Me.itemdesc = rs!itemdesc Me.itemqty = rs!itemqty Me.dateee = rs!dateee rs.Close GoTo c a: MsgBox "الصنف سبق الحاقة" Me.Undo GoTo c c: Exit Sub الملف مرفق Database3.accdb
  10. مشاركة مع الاستاذ قاسم تعديل عدة سجلات بناء على رقم المعرف يمكن اختصار الكود ويمكن عدم كتابة اسماء الحقول لكونها متشابهه بين الجدولين ولكن اكتفي بالحالي اخيرا فكرة الاستاذ قاسم باستخدام النموذج المفرد افضل باعتقادي عند وجود عدد كبير من السجلات حيث يتم الاكتفاء بالسجل الحالي المطلوب تحديثة دون المرور على سجلات الجدولين ولكن الفكرة طرح طريقة اخرى فقط الملف مرفق Update a record.accdb
  11. للحقل المطلوب عدم تمكينة او مجموعة حقول ادخل تنسيق ثم قاعدة جديدة ثم تعبير واكتب الامر التالي [Forms]![JMainVoucherForm]![BondType1]="صرف نقدى" ثم انقر على خيار تمكين او عدم تمكين
  12. الحقيقة انا رجل كبير وفهمي على قدي فكانت الاجابة على قدر فهمي للامر وهذا يدل على رغبتك في التعلم وحسن تصرفك 🌹
  13. جرب Select Case Modifiable2 Case Is = 1 Me.Modifiable2.ForeColor = vbRed Case Is = 2 Me.Modifiable2.ForeColor = vbBlue Case Is = 3 Me.Modifiable2.ForeColor = vbGreen End Select الملف في المرفقات 1111.accdb
  14. استخدم التنسيق الشرطي انظر الاسم الاول علي جمعة الحقل غير ممكن اوضع ضع مثال وسقوم اي من الاساتذة بمساعدتك
  15. مشاركة مع استاذنا الكبير اذا كان النموذج الفرعي من نوع نماذج مستمر استخدم التنسيق الشرطي
  16. هذا المثال سبق ان عملته لاحد الزملاء في الموقع ربما يفيدك Database8.accdb
  17. الشكر لله استاذي محمد ونحن في خدمتك دائما احسن الله اليك وجزاك الله خير على الدعاء الطيب
  18. الطريقة الاولى بمصدر السجلات If IsNull(Me.Text0) Then GoTo k Else GoTo a End If a: Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("SELECT items.* FROM items;") rs.FindFirst "[barcod] =" & Me.Text0 If Not rs.NoMatch Then MsgBox "الرقم مسجل" Else MsgBox "رقم غير مسجل" End If rs.Close Set rs = Nothing Exit Sub k: MsgBox "اكتب رقم الباركود" الثانية عد السجلات بواسطة دالة DCount Dim x As Integer x = DCount("[barcod]", "items", "[barcod]=" & Me.Text0) If x > 0 Then MsgBox "الرقم مسجل" Else MsgBox "رقم غير مسجل" End If مرفق الملف رسالة بعدم وجوده فى جدول اخر(1).accdb
  19. وجهة نظر جديرة بالاحترام وفي العادة نستخدم الكود في موديول اذا كنا سنستخدمه في اكثر من مكان في البرنامج اما خلاف ذلك فاعتقد لاتوجد مشكله من استخدامه في النموذج خلف زر امر او حدث اخيرا اشير الى مشاركة سابقة لحجم المتغيرات الرقمية من باب التذكير فقط
  20. الرسالة بسبب حجم حقل رقم الفاتورة اكبر من سعة المتغير والحل كما اشار الاستاذ قاسم
×
×
  • اضف...

Important Information