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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام في الجدول ، اذهب الى الحقول التي لا تريدها ان تكون فاضية ، واجعلها: . جعفر
  2. وعليكم السلام تفضل ، ضع هذا الكود على زر التعديل في النموذج الفرعي: Me.Parent.الاسم = Me.Phone Me.Parent.مربع_تحرير_وسرد65 = Me.Country Me.Parent.الادارة = Me.City ولكن: اسماء الحقول في النموذج الرئيسي والنموذج الفرعي ، ماشاءالله تفتح النفس للخطأ فنصيحتي ان تعدل فيهم مادام البرنامج في اوله جعفر
  3. وعليكم السلام 1. اعمل ضغط واصلاح لبرنامج البيانات BE ، وكذلك لبرنامج الواجهة FE ، 2. واذا حبيت ، خلينا نشوف الكود ، واللي ممكن نتوصل الى شيء يفيدك. جعفر
  4. السلام عليكم وتكملة لإجابة أخي أبو عبدالله في صفحة كود الاكسس ، اعمل بحث لكلمة KeyCode ، وسترى اسماء حروف التي على الكيبورد ، مثل (وهذه نسخة من مساعد الاكسس) : vbKeyEscape vbKeySpace vbKeyPageUp vbKeyPageDown ... normal keys: vbKeyA vbKeyB vbKey8 vbKey9 ... numeric keypad: vbKeyDecimal vbKeyDivide ... function keys: vbKeyF10 vbKeyF11 . والرابط التالي يعطيك اسم الزر ورقمه: https://msdn.microsoft.com/en-us/library/0z084th3(v=vs.90).aspx والآن ، وفي الاكسس ابحث عن Form_KeyDown ، وسترى كود مشابه وعليه ، لتعطيل اي زر ، نستعمل رقمه ، كما ذكره اخي ابو عبدالله ، او كما هو في الاكسس ، هكذا Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF11 KeyCode = 0 Case 16 'vbKeyShify KeyCode = 0 End Select End Sub . والآن الى الشيء الاهم: لما نكون في النموذج ، ونكون نكتب معلومة في حقل نص/مذكرة ، ولا نريد من المستخدم كتابة اشارة التقسيم "/" مثلا ، لذا يجب ان يصطاد النموذج هذا الزر قبل ان يدخل في النص ، لذا يجب عليك ان تعدل في اعدادت النموذج وتجعل اعداد KeyPreview=Yes . او تستعمل حدث تحميل النموذج ، وتضع عليه كود التفعيل اعلاه: Private Sub Form_Load() Me.KeyPreview = True End Sub جعفر
  5. تستطيع ان تستعمل الكود الذي اعطيتك في آخر مشاركة ، مع إضافة حقل Auto_Date في الجدول (كما اشرت له سابقا) ، بحيث تحصل على ارقام تسلسل لكل سنه بصيغة 1 2 3 ... 100 101 جعفر
  6. وعليكم السلام سؤال: 1. هل قصدك ان الرقم المسلسل يبدأ من اليوم الى ما لا نهاية من السنوات ، او 2. الرقم المسلسل يبدأ سنويا؟ اذا جوابك كان رقم 2 ، فيجب وجود حقل في الجدول فيه معلومة عن تاريخ ادخال السجل ، وانا دائما يكون عندي حقلين في جميع الجداول اللي اعملها: Auto_ID : ترقيم تلقائي ، Auto_Date : نوع تاريخ ، ونضع القيمة الافتراضية التالية في الجدول: Now بهذه الطريقة ، يكون كود الترقيم: If Len(Me.Seq & "") <> 0 Then Exit Sub Me.Seq = Nz(DMax("[Seq]", "tb1", "year([Auto_Date])=" & Year(Now)), 0) + 1 جعفر 679.1.ترقيم جديد كل سنة جديدة وبجداول جديدة.accdb.zip
  7. السلام عليكم بما ان أخي شفان جاء بكود اخونا أبو ابراهيم الغامدي ، فاليك التغيير المطلوب لحل مشكلتك: Function GetNumbersOnly(SText) Dim Numbers if len(SText & "")=0 then GetNumbersOnly="" exit function end if For i = 1 To Len(SText) If IsNumeric(Mid(SText, i, 1)) Then Numbers = Numbers & Mid(SText, i, 1) End If Next GetNumbersOnly = Trim(Numbers) End Function جعفر
  8. السلام عليكم شباب أخي أوس ، خلينا من اللف والدوران ، والاشارة بين الروابط إذن الفكرة ان كل يرنامج سيكون لديه الصلاحية في الدخول لهذه الصفحة وانزال البرنامج المرفق فيها ، بغض النظر عن الرابط ، اذا الجواب نعم ، ضع برنامجك في موقع معين ، واعطنا صلاحية تغيير الملف ، وخلينا نجرب عليه جعفر
  9. وعليكم السلام شوف الرابط التالي ، قد يفيدك جعفر
  10. أخي محمد المفروض ان تختار الجواب الاصح ، كأفضل مشاركة ، ولا تختار مشاركتك!! ولقد سبق ان قمت بنفس الشيء في مشاركة سابقة ايضا جعفر
  11. وعليكم السلام رجاء النظر في المرحلة الاولى من التقرير . وهو عبارة عن تقرير رئيسي وفيه تقرير فرعي ، الآن يجب عليك عمل تقريرين فرعين (حسب شكل الصورة التي ارفقتها) ، واهم شيء في هذين التقريرين هو عمل الاستعلام الذي سيأتيك بالمعلومات ، فيجب عمل معيار حسب السنوات التي تريدها ونصيحة: اعمل اول تقرير فرعي ، وضعه في التقرير الرئيسي ، ولما يكون كل شيء تمام ، اعمل نسخة منه للتقرير الثاني ، ونسخة من الاستعلام ، ثم قم بتغيير معيار الاستعلام ليتلائم مع طلبك ، ثم ضعه في التقرير الرئيسي جعفر 680.الاجازات - Copy.accdb.zip
  12. الرابط يعطيك احد الاسباب جعفر
  13. تفضل if left(me.activecontrol,1)="*" and right(me.activecontrol,1)="*" then me.Barcode_Field_Name = me.activecontrol cancel=true exit sub endif جعفر
  14. شكرا اخي حامد ، عندما تُدخل رقم/حرف/اشارة/رمز في الكمبيوتر ، فهي قيمة تراها انت ، ولكن الكمبيوتر يرى هذه الارقام ، وكنت اتمنى ان ارى رقم (رقم + انتر) ، ولكنه ليس هناك في هذه الحالة الافضل لك ان جعفر
  15. لوسمحت تعمل هذه التجربة في الحقل الذي ستنقر الباركود عليه ، ضع هذا الكود على الحدث "قبل التحديث" For i = 1 To Len(Me.ActiveControl) a = a & Asc(Mid(Me.ActiveControl, i, 1)) & vbCrLf Next i MsgBox a ثم ارفق صورة من الرسالة التي ستخرج لك. اريد اشوف ، هل قارئ الباركود يرسل ارقام فقط ، او اشارة اخرى معاه ، وعليه نستطيع ان نعمل كود التصيّد ان شاء الله جعفر
  16. اخي حامد انا اعتذر منك على المعلومة الخاطئة ، بينما لواقع هو عند طباعة الباركود يجب ان يكون الحقل بصيغة *رقم الباركود* ، وليس عند قراءته واحد الحلول هي كما ذكرت انت: وبالتالي تستطيع استعمال طريقتي التي ذكرتها في البداية جعفر
  17. انا لا اتكلم عن ارقام الباركود ، انا اتكلم عن جهاز الباركود تجربه: اعمل حقل رقمي في الجدول ، والان ضع التركيز على هذا الحقل ، ومن جهاز الباركود اقرأ اي باركود ، ستجد انه لا يقبل ويعطيك خطأ ، لأن المعلومة التي ادخلتها ليست رقم بينما اعمل حقل نص في الجدول ، وضع التركيز على هذا الحقل ، ومن جهاز الباركود اقرأ اي باركود ، ستجد انه يدخل الباركود جعفر
  18. وعليكم السلام احد الطرق الاسهل هو: الباركود عبارة عن: *رقم* فتستطيع عمل حدث "قبل التحديث" على جميع حقول النموذج ، انه اذا كان الرقم الُمدخل يبدأ بـ * وينتهي بـ * ، فاجعل الرقم داخل حقل الباركود جعفر
  19. حياك الله اخوي شفان اشوفك عملت الكود مثل اخونا رمهان ، كود مقتضب انا ما احب هذا النوع من الكود ، لأنه مو سهل فهمه ، والاسوء هو محاولتك تغييره بعد حوالي شهر ، حيث تكون نسيت تفاصيله والأهم هو شبه استحالة تغييره/تعديله/تضبيطه من صاحب السؤال ولكن الكود بهذه الطريقة لا يأتي إلا من محترف جعفر
  20. شكرا أخي صالح على الملاحظة ، لما شفت ان مصدر بيانات النموذج الفرعي عبارة عن استعلام ، اعتقدت بأن المعيار موجود هناك اخي محمد ، اليك الكود المعدل ، والمرفق Private Sub Change_to_this_AfterUpdate() mySQL = "UPDATE Q1" mySQL = mySQL & " SET [الحالة] = '" & Me.Change_to_this & "'" mySQL = mySQL & " Where [id] = " & Me.id1 DoCmd.SetWarnings False DoCmd.RunSQL mySQL DoCmd.SetWarnings True Me.SUB.Form.Requery End Sub جعفر 683.test120.mdb.zip
  21. الحمدلله ولكن ، اين كانت المشكلة؟ جعفر
  22. وعليكم السلام انا غيّرت اسم حقل النص change في النموذج الرئيسي الى Change_to_this ، ثم ضع هذا الكود على حدث "بعد التحديث" للحقل اعلاه: Private Sub Change_to_this_AfterUpdate() mySQL = "UPDATE Q1 SET [الحالة] = " & [Forms]![test1]![Change_to_this] DoCmd.SetWarnings False DoCmd.RunSQL mySQL DoCmd.SetWarnings True Me.SUB.Form.Requery End Sub جعفر
  23. اعمل "ضغط واصلاح" لقاعدة بياناتك حتى يصغر حجمها ، ثم اضغطها بـ winrar او winzip ، وان شاء الله تقدر ترفعها ، واذا حجمها لايزال كبير ، فتستطيع ان ترفعها على احد مواقع الرفع ، ثم ترفق لنا الرابط هنا جعفر
×
×
  • اضف...

Important Information