اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

شايب

03 عضو مميز
  • Posts

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

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

  • Days Won

    2

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

  1. بارك الله فيك استاذ الحقيقة انا فقط احببت التنبيه بوجود الثغرات اما التعديل والتصحيح متروك للاساتذة والخبراء اخونا الشايب
  2. الحقيقة ان الكود المستخدم لشاشة الدخول يحتوي على ثغرة تسمح بالدخول باي اسم وحتى ان لم يكن مسجل في جدول المستخدمين علما بان اخونا الفاضل شايب سبق ان نبه لمثل هذه الثغرات في مشاركات سابقة ------------- الاخ شايب لا يتصيد الاخطأ ولا يقصد الاساءة لاحد وانما يحاول المساعدة والتنبية قدر المستطاع
  3. ربما اخذ الموضوع اكبر مما يستحق ولكن "" لا تعني ان الحقل فارع وانما يحتوي سلسلة ذات طول صفري ولتاكيد ذلك نغير خصائص الحقل الى السماح بطول صفري = لا عندها لو اردنا استخدام ⬇️ فسوف نحصل على رسالة خطأ في "" وكذلك empty اما الخيار الاوسط null فسوف يعمل اخونا الشايب
  4. صحيح يعطي نتيجة صحيحة ولكن احيانا نرغب في عد الاحرف بدون استخدام الشرط لذا ⬇️ اخونا الشايب
  5. يا هلا استاذ قاسم وكل عام وانتم بخير وسوف احمل المرفق يا هلا استاذنا وكل عام وانتم بخير الحقيقة ان الاولى يعدها اكسس 0 اما البقية فلا يعدها اكسس ونحتاج عند عد احرف الحقل الى استخدام nz حتى لا نحصل على رسالة خطأ الحقيقة ان ⬇️ مجرد تفكير بصوت مرتفع ومع ذلك اعتز بمداخلتكما اخونا الشايب
  6. ماشاء الله استاذنا السؤال كيف ينظر اكسس الي كل منهم من تجربة بسيط وجدت ان "" لا يعتبر الاكسس ان الحقل فارغ بينما null و empty يكون الحقل فارغ فعلا ويتضح ذلك ايضا عند محاولة عدد الحروف لكل من الثلاث خيارات اخونا الشايب
  7. الان قمت بتجربة الطريقة على قاعدة تحتوي 11700 سجل ومبنية بشكل متوافق مع متطلبات بناء قواعد البانات ولم اواجة اي مشكله
  8. في مثالك المرفق لا يوجد مفتاح اساسي ولا جقول مفهرسة ولا يوجد علاقات بين الجدولين الاباء والابناء ولاحتى صله من خلال الاستعلام بين الجدولين والربط بين الجدولين في مثالك حقل نصي باسم الاب يتم كتابته عند اضافة الابن الحقيقة من الطبيعي ان يحصل عدم استجابة عند زيادة عدد السجلات مع ذلك نترك الامر للاساتذة اخونا الشايب
  9. بدون الحاجة لاكواد غير مصدر البيانات للتقرير الرئيسي الى استعلام يساوي SELECT معلومات_1.[اسم الاب], معلومات_1.[رقم الهاتف], معلومات_1.العنوان FROM معلومات, معلومات AS معلومات_1 INNER JOIN الابناء ON معلومات_1.[اسم الاب] = الابناء.[اسم الاب] GROUP BY معلومات_1.[اسم الاب], معلومات_1.[رقم الهاتف], معلومات_1.العنوان; الملف مرفق 1(2).accdb
  10. نعم استاذي اتفق معك ولكن الامر يتطلب بعض التعديلات والاحتياطات وخصوصا اننا لم نطلع على مرفق التعديلات كما اشرت في حالة وجود مفتاح معرف مسبقا وايضا ان كان مرتبط بعلاقة مثلا اذا كان لدينا مفتاح اساس باسم x من نوع رقم مثلا وكان يمثل راس العلاقة ثم وضعنا مفتاح اخر كما اشار الزميل فبمجرد ازالة علامة مفتاح x ستجد ان اكسس غيرن مفهرس الى التكرار مقبول مما يتطلب التعديل لتلافي حدوث مشكلة واما الاحتياطات في عدم التعديل قبل مراجعة العلاقات والحقول وتبقى وجهة نظر طالما لم نطلع على الرنامج
  11. اتفق مع استاذنا ولكن ليس بشكل مطلق فاذا كان لديك مفتاح اساسي في بعض الجداول ولديك علاقات معرفة مسبقا حينها ستواجه مشاكل من نوع اخر وجهة نظر
  12. الحقيقة اني سبق ان شاهدت هذه الطريقة في احد البرامج ولكن الاخ شايب مبتدئ وليس لديه الخبرة الكافية لكتابة الاكواد من قال لا اعلم فقد افتى تحياتي
  13. مشاركة مع الاساتذة ممكن نستخدم دالة العد Dim x As Integer x = DCount("*", "tbl_items", "[EmpID]=" & Me.y1.Column(1)) If x = 0 Then MsgBox "التقرير الفرعي لا يوجد به بيانات" Cancel = -1 Else DoCmd.OpenReport "Main_Report", acViewPreview End If اخونا الشايب
  14. الاخ شايب يعتقد ان برمجة احد مفاتيح F للانتقال لسجل جديد افضل واسهل لتحقيق المطلوب ويمكن تحقيق الشروط وبدون تعقيد ولكن حسن في كل عين من تود اخونا الشايب
  15. مع ان الموضوع قديم وتمت الاجابة بشكل موفق مع ذلك في بعض الحالات لا نرغب في زيادة كائنات القاعدة باضافة استعلام توحيد واستعلام انشاء جدول كما فعل الاستاذ خليفة ونرغب في عمل ذلك بالكود عن طريق مصدر السجلات الكود المقترح في زر امر Dim rs As DAO.Recordset Dim rst As DAO.Recordset Dim a As Integer Dim fld As DAO.Field Dim strSQL As String strSQL = "SELECT Data1.* from data1 Union SELECT Data2.* from data2 UNION SELECT Data3.* from data3;" Set rs = CurrentDb.OpenRecordset(strSQL) Set rst = CurrentDb.OpenRecordset("data") rs.MoveFirst For a = 0 To rs.RecordCount - 1 rst.AddNew For Each fld In rs.Fields If fld.Name <> "م" Then rst.Fields(fld.Name) = fld.Value End If Next fld rst.Update rs.MoveNext Next a rs.Close: rst.Close Set rs = Nothing: Set rst = Nothing اخونا الشايب
  16. اخونا شايب يعتقد ان عمل علاقة اطراف باطراف يتطلب وجود جدول ثالث يكون بمثابة الوصل بين الجداول وبالتالي علاقة اطراف باطراف في حقيقتها هي علاقتي راس باطراف وراس باطراف
  17. الزر النشط اي المستخدم حاليا والفكرة باختصار في عالم البرمجة نتجنب تكرار الامر كلما امكن ذلك
  18. مشاركة مع الاستاذ ابو خليل الفكرة ان نستغني عن تكرار الامر بعدد الازرار وبدون الحاجة لكتابة اسم زر الامر عن طريق عمل اجراء نعلى النحو التالي Sub x() LabelNameText = ActiveControl.ControlTipText End Sub ثم في زر الامر نشير لاسم الاجراء فقط x الملف مرفق اخونا الشايب LabelName.accdb
  19. طريقة اخرى مختصرة باستخدام دالة العد الشايب Database1.accdb
  20. في معيار الاستعلام لحقل القسم استبدل المعيار من [Forms]![a_f_date]![القسم] الى المعيار التالي IIf(Len([Forms]![a_f_date]![القسم] & "")=0;[القسم];[Forms]![a_f_date]![القسم]) الملف مرفق اخونا الشايب frzz.accdb
  21. تمام يا استاذنا بارك فيكم ولكم ولكن وجب التنويه انه عند تحويل القاعدة الى accde فلن يتم تنفيذ الامر
×
×
  • اضف...

Important Information