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

kha9009lid

الخبراء
  • Posts

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

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

  • Days Won

    29

كل منشورات العضو kha9009lid

  1. هذة ثغرة للاستعلامات البنيوية تمكن مستخدمها من الدخول على قواعد البيانات في حالات معينة وخطرها ليس فقط بامكانية تسجيل الدخول وانما يمكن تنفيذ اوامر sql مثل DROP TABLE وغيرها من الاوامر يتم الدخول باستخدام a' or 't'='t ' or '1'='1 ' or 1='1 هل هي مقتصرة على قواعد البيانات الحقيقة يمكن استخدامها مع تطبيقات php التي تستخدم قواعد البيانات ولكن التوسع في مثل هذه الامور اجده غير نافع في حالتك اخي جرب في كودك الاصلي ان تغيير تنسيق حقل الباس الى رقم عام ستجد ان الثغرة لن تعمل مع ذلك من الافضل ان تستخدم الكود الذي وضعه الاستاذ الفاضل @jjafferr If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") > 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If هذا والله اعلم
  2. واذا ترغب اضافة امر السجل السابق جرب المرفق تنقل بين سجلات من خلال ازرار فورم اخر2.accdb
  3. جرب الان تنقل بين سجلات من خلال ازرار فورم اخر.accdb
  4. جزاك الله خير اخي @warvin raviny ولك بالمثل اخي الحبيب
  5. بعد اذن الاستاذ الفاضل @أحمد الفلاحجى المتغيرات مهمه وفي حالات كثيرة يمكن الاستغناء عنها في بعض الحالات التي لا نستطيع فيها استخدام اكواد vba مثلا بعض الجهات تضع قيود في الشبكة على الاكواد وبالتالي لو اردنا ان نظهر رسالة في حالة عدم توفر سجلات لعملية البحث هنا وغيرها من الحالات ممكن ان نستخدم مربعات النص غير المنظمة سواء في منشئ التعبير مباشرة او عن طريق المايكرو
  6. من اهم فوائد العلاقات التكامل المرجعي تتالي تحديث الحقول المرتبطة تتالي الحذف تقليل حجم القاعدة عدم تكرار البيانات في الجدول تخيل لو كان لديك قاعدة بيانات من جدول واحد تحتوى على سجلات 100 موظف ولكل موظف راتب شهري ستكون مجبر على تسجيل كل موظف 12 مرة اي سيكون عدد السجلات لاسماء الموظفين 100 * 12=1200 اضافة للحقول الاخرى المكررة
  7. كم عدد الحقول في الجدول لديك هل وصلت الى 255 حقل وهي الحد الاقصى للاصدارات الحديثة من اكسس على كل حال لم تضع مرفق ولا معلومات عن نوع الحقول لديك ولماذا كافة الحقول في جدول واحد ؟ معلومة اكسس من قواعد البيانات العلائقية اي ان الجداول يتم ربطها ببعضها البعض عن طريق العلاقات سواء راس براس او راس باطراف وهيالعلاقة الاكثر استخدام او علاقة اطراف باطراف وهي اقل استخدام ونحتاج الى ربط وسيط لربط الطرفين نصيحة اعد النظر في طريقة عملكمن خلال استخدام اكثر من جدول واطلع على رابط شرح العلاقات ادناة انقر لشرح العلاقات اعتذر لك اخي @jjafferr كنت اكتب الرد اوف لاين ولم اشاهد مشاركتك
  8. ممكن وهذه احدى الطرق في الفورم الرئيسي الذي يحتوى على السجلات نضع ثلاث ازرار امر مخفية الاول للانتقال للسجل التالي Public Sub c_1_Click() DoCmd.GoToRecord , , acNext End Sub الثاني للسجل الاول Public Sub c_2_Click() DoCmd.GoToRecord , , acFirst End Sub الثالث للسجل الاخير Public Sub c_3_Click() DoCmd.GoToRecord , , acLast End Sub هذة الازرار الثلاثة جعلناها مشتركة وليست خاصة من خلال استبدال العبارة الافتراضية للحدث من Private اي خاص الى Public وبالتالي يمكن استدعاء هذا الحدث من نموذج اخر ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ الان العمل في الفورم الثاني ايضا في النموذج الثاني الخاص بازرار التنقل وضعنا في الامر الاول Form_Form2.SetFocus Call Form_Form2.c_2_Click اولا نقلنا التركيز للنموذج الخاص بالسجلات ثم ارسلنا امر لتنفيذ امر الانتقال للسجل الاول للانتقال للسجل التالي وضعنا الامر On Error GoTo ErrorHandler Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst rc = rst.RecordCount If Me.CurrentRecord < rc Then Form_Form2.SetFocus Call Form_Form2.c_1_Click End If Exit Sub ErrorHandler: MsgBox "السجل الاخير ", vbInformation, "تنبية" والهدف التخلص من رسالة خطا بعد السجل الاخير للانتقال لاخر سجل وضعنا الامر Form_Form2.SetFocus Call Form_Form2.c_3_Click ملفك في المرفقات ملاحظة ممكن اختصار الخطوات ولكن وحدت ان هذة الطريقة توضح الخطوات بشكل افضل تنقل بين سجلات من خلال ازرار فورم اخر.accdb
  9. وعليكم السلام اخي الفاضل حسين انا خلال الفترة الحالية في مهمة عمل وللاسف لا يتوفر لدي جهاز يدعم تطبيقات ميكروسوفت لكوننا نعمل في بيئة عمل مختلفة اعتذر لك مقدما علما بان التعديلات المطلوب بسيطة جدا ويمكن عملها من قبلك شخصيا لو استخدمت خاصية البحث او قم بارفاق برنامجك وانا واثق ان العديد من الزملاء سوف يساعدونك في اجراء التعديل المطلوب تحياتي لك
  10. اضافة للرابط الذي اشار اليه استاذنا الفاضل @ابا جودى اذا كنت تستخدم جدول لتسجيل الدخول فيمكن عملها وتكون قطعت اكثر من نصف المسافة بخصوص السجلات المضافة يمكن اضافة حقل تكون قيمته اليوزر الحالي وبالتالي يمكن عمل استعلام يحدد السجلات الخاصة بهذا المستخدم وكذلك الحال للسجلات المعدلة باضافة حقل للسجل المعدل وقيمتة قبل التعديل ومن قام بالتعديل الخ بالنسبة للسجلات المحذوف ممكن نضع جدول ونستخدم استعلام الحاق يقوم بالحاق السجل قبل حذف وايضا نتستفيد من جدول المستخدمين لتحديد من قام بالحذف لمعرفة المستخدمين المتصلين بالقاعدة يمكن اضافة جدول مرتبط بجدول تسجيل الدخول يتم فيه تسجيل رقم المستخدم ووقت الدخول ووقت تسجيل الخروج والحالة متصل او غير متصل وهذا الامر مفيد عند استخدام قاعدة البيانات على الشبكة
  11. نور الموقع بمشاركة ابا جودي استاذنا الغالي كما تعلم يا ابا جودي رواد الموقع فيهم المحترف ومتوسط المستوى والمبتدي وفي ردودي احاول دائما ان ابسط الردود ليستوعبها المبتدي حتى لو كان الكود اطول لان الاختصار واستخدام المتغيرات قد لا يستوعبه غير المحترفين لذا في كثير من ردودي اشرح ماقمت به ليكون الحل اكثر وضوحا للمتلقي وتقبل اطيب تحياتي نورت الموقع دكتور حلبي
  12. نعم ممكن ومن اسهل الطرقلتنفيذ ذلك If Me![c_8].Caption = "نساء" Then Me.Type = "نساء" Me.c_8.Caption = "رجال" ElseIf Me![c_8].Caption = "رجال" Then Me.Type = "رجال" Me.c_8.Caption = "اطفال" ElseIf Me![c_8].Caption = "اطفال" Then Me.Type = "اطفال" Me.c_8.Caption = "نساء" End If وتفسيرة كما يلي اذا كانت تسمية زر الامر نساء اجعل قيمة النوع نساء غير تسمية الامر الى رجال اذا كانت تسمية الامر رجال اجعل النوع رجال غير تسمية الامر الى اطقال اذا كانت تسمية الامر اطفال اجعل النوع اطفال غير التسمية لزر الامر الى نساء وذلك للاستمرار في دورة تنفيذ الكود اغلق الشرط الملف مرفق Database1011.accdb
  13. اكتب الايام اقل من عشر وكذلك الاشهر بصيغة 01 حتى رقم 09 لكي لا تحصل على نتيجة غير صحيحة مثل تاريخ 1/1/2020 اكتب في يوم 01 وشهر 01 الخ او دع دالة format وغير الكود للشكل التالي [يوم]&"/"&[شهر]&"/"&[سنة] او اعكس الموضوع فيكون ادخال تاريخ الميلاد وتحصل على اليوم والشهر والسنة عن طريق الحقل المحسوب لليوم Day([المواليد1]) للشهر Month([المواليد1]) للسنة Year([المواليد1])
  14. استخدم دالة format واجعل عملية الاحتساب في النموذج او الاستعلام الملف مرفق الكود في حدث بعد التحديث لحقل سنة نصيحة استخدم تسمية الحقول باللغة الانجليزية New Microsoft Access قاعدة بيانات (2).accdb
  15. مرحبا استاذ @ازهر عبد العزيز اولا اعتذر عن التعديل على مرفقك لعدم توفر اكسس لدي لكون عملي حاليا في بيئة عمل مختلفة وفي هذا الرد سوف اضع تلميح لكيفية التحكم بانواع الحقول من خلال الكود واعتذر مقدما اذا لم تجد فيه الجواب المطلوب لتغيير الحقل الى نوع رقم Dim x As Variant x = "ALTER TABLE [tbl1] ALTER COLUMN [tx8] LONG" DoCmd.RunSQL x ويمكن كتابتة بالشكل التالي DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] Integer" او DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] LONG" حسب نوع الحقل الرقمي تغيير الحقل الى نوع مزدوج يكون على النحو التالي DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] Double" الى نوع نص DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] String" واذا اردنا ان نحدد طول الحقل النص يمكن كتابتة DoCmd.RunSQL ("ALTER TABLE [tbl1] ALTER COLUMN [tx8] TEXT(30);") اما حقل التاريخ فيكون DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] date" النوع العملة يكون على النحو التالي DoCmd.RunSQL "ALTER TABLE [tbl1] ALTER COLUMN [tx8] Currency" لتحويل تنسيق الحقل الى علمي Set db = CurrentDb db.TableDefs("tbl1").Fields("tx8").Properties.Append db.CreateProperty("Format", dbText, "scientific") بعد تعديل التنسيق بالكود السابق تحتاج الى التعديل اليدوي في حالة الرغبة في التغيير مرة اخرى في جميع الاحوال لا انصح بالعبث في الحقول والمفروض ان التخطيط الجيد قبل واثناء انشاء قواعد البيانات يغني عن الحاجة للتعديلات اضافة الى ان تغيير نوع الحقل قد يؤدي الى فقدان البيانات لهذا الحقل وخصوصا اذا كان الحقل مرتبط بجداول اخرى قد يعطل عمل القاعدة
  16. مرحبا لا توجد صعوبة ولكن فهم السؤال نصف الاجابة من خلال فهمي انت ترغب في حساب تكرار الاسم اذا تكرر الاسم خلال رقم الاسبوع حساب تكرار المنطقة اذا تكررت المنطقة خلال رقم الاسبوع حساب الحالة اذا تكررت الحالة خلال رقم الاسبوع ممكن استخدام دالة DCount من خلال الشرطين المطلوبة مع ذلك سوف نواجه مشكلة ان هذة الدالة لا تعمل بشكل مباشر في الجدول ولكن تعمل في الاستعلام وفي النماذج وفي اكواد الفي بي ويالتالي يمكن كتابتها بالشكل التالي DCount("[الاسم]";"Table1";"[رقم_الاسبوع]='" & [رقم_الاسبوع] & "'" & "And [الاسم]='" & [الاسم] & "'") لحساب التكرار للمنطقة DCount("[المنطقة]";"Table1";"[رقم_الاسبوع]='" & [رقم_الاسبوع] & "'" & "And [المنطقة]='" & [المنطقة] & "'") وللحالة DCount("[الحالة]";"Table1";"[رقم_الاسبوع]='" & [رقم_الاسبوع] & "'" & "And [الحالة]='" & [الحالة] & "'") الملف المعدل في المرفقات aaaa.accdb
  17. اضافة لما تفضل به الاستاذ @أحمد الفلاحجى اذا لم ترغب في الاستعلام ممكن عملها في النموذج في حدث بعد التحديث للحقل time نضع الكود التالي Me.dated = DateAdd("d", -[time], Date)
  18. في حدث بعد التحديث للحقل TYPE بعد الكود الذي كتبه اخي احمد ضع الكود التالي Me.OTHER = Me.NUMBER + 10 ولكن ماذا لو اردت تغيير القيمة الى 15 او 20 الافضل اضافة مربع نص للقيمة TEST AA1.accdb
  19. IIf([dateexp]<=[datee];"red";"green") ما اعرف انا فهمت المطلوب لكن قلت باشارك exp - Copy.accdb
  20. مشاركتي رقم2 فيها المطلوب عن طريق قائمة منسدلة ويتم الحفظ في الجدول
  21. يطول عمرك اخي احمد ونحن نكمل بعض
  22. استاذي الفاضل @jo_2010 في اجابتي لاستفسارك وضعت عبارة x = CurrentRecord اي ان المتغير x = السجل الحالي ثم يتم استكمال بقية الكود وهذا الامر قد يؤدي الى نتيجة غير صحيحة في حالة حذف سجلات في الجدول لكون CurrentRecord يعطي رقم السجل الفعلي باستبعاد السجلات المحذوفة بناء عليه امل اختيار اجابة الاستاذ @خالد سيسكو او اجابة استاذنا ومعلمنا @jjafferr او تعديل السطر الثاني في مشاركتي ليكون x = Me.PCode الملف المعدل مرفق Dental.accdb
×
×
  • اضف...

Important Information