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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. لا يمكن حذف البيانات من جميع الجداول باستعمال استعلام واحد ، لذا يجب عمل استعلام حذف مستقل بكل جدول ، وفي الكود تقوم بتشغيل الاستعلامات واحدة خلف الاخرى ، هكذا: لا تعرض رسالة حذف البيانات التحذيرية docmd.setwarnings false الآن نشغل جميع استعلامات الحذف docmd.openquery "qry_1" docmd.openquery "qry_2" docmd.openquery "qry_3" الآن اعرض جميع الرسائل التحذيرية docmd.setwarnings true . . انا اعطيتك الطريقة لعمل هذا الاستعلام للحقل تاريخ الميلاد ، فكل اللي عليك عمله هو تغيير الحقل الى "تاريخ تقديم المادة" مع الحفاظ على المعيار بين التاريخين. جعفر
  2. . لما قلت لي: . فهمت منها انك فهمتها وطبقتها!! وإلا ، كان بإمكانك ان تستوضح أكثر!! على العموم ، مثل ما قلت سابقا ، استعمل طريقة أخي محمود ، وياريت انك تسجل اعجابك بمشاركته . لا الفكرة جدا بسيطة ، فبدل ان تعمل alt+shift يدويا ، يقوم الكود بعمله جعفر
  3. السلام عليكم أخي بسام لأن سؤالك توسع ، فرأيت ان اعمل موضوع منفصل لتعم الفائدة رجاء مراجعة الرابط التالي: http://www.officena.net/ib/topic/65856-هدية-البحث-عن-اي-جزء-من-الكلمة-،-في-اي-عدد-من-الحقول/ جعفر
  4. السلام عليكم ورحمة الله وبركاته الموضوع هذا بدأ بسؤال الرابط التالي: http://www.officena.net/ib/topic/65783-البحث-عن-اي-جزء-من-الكلمة-عنوان-معدل/ ولكن لأني غيرت الكود وجعلته يبحث في اي عدد من الحقول في السجل ، لذا رأيت ان اجعل له موضوعا مستقلا يمكنك البحث عن اي جزء من الكلمة ، واذا اردت البحث عن كلمة اخرى في السجل او جزء منها ، فما عليك الا ان تضع (مسافة او / او *) بين الكلمات ، فسيعتبرها البرنامج على انها كلمة اخرى يجب البحث عنها. الشئ المهم في الكود هو طريقة إضافة حقول جديدة للبحث فيها: هذا اول حقل يتم البحث فيه fld = "[كلمات ارشادية]" لما نريد ان نضيف حقول إضافية للبحث فيها ، يجب ان يكون الكود كالتالي fld = fld & " & ' ' & " & "[موضوع الخطاب]" fld = fld & " & ' ' & " & "[my other field]" وكل ما عليك الآن هو ان تطبع وترى نتيجة بحثك: . ملاحظة مهمة: اذا كان برنامجك على الشبكة ، فلا تضع الكود على "حدث التغيير" (معناه ، كلما اضفت/حذفت حرف ، فارجع الى الجدول وخذ البيانات منه) ، لأنه سيجعل البرنامج جدا بطئ ، وانما استخدم زر البحث. جعفر 309.Search_as_you_Type_Multiple_Fields_jj.mdb.zip
  5. وعليكم السلام أخي محمود في الواقع اذا كان قصد الاخ محمد سعيد ان يغير لغة الكمبيوتر ، ويحتفظ بهذا التغيير لكل البرنامج (وليس للنموذج الذي هو عليه الان فقط) ،فطريقتك هي الاسهل والافضل ، (مع مراعاة إضافة كود محاذاة الحقل لليمين او اليسار عند الكتابة) اما اذا كان القصد للنموذج الحالي فقط ، فكذلك طريقة الاخ محمود الافضل ، مع مراعاة تغيير اللغة عند الخروج من النموذج الحالي ، (مع مراعاة إضافة كود محاذاة الحقل لليمين او اليسار عند الكتابة) طريقتي لا تلعب/تغير إعدادات الكمبيوتر ، وانما تستغل الاعدادات الموجودة في نماذج/حقول الاكسس جعفر
  6. وعليكم السلام الظاهر ان الكود اللي عملته الان صحيح ولكنك لم ترسل اي قيمة بالحقل EmpID ، اي ان الحقل EmpID فارغ ، لها السبب لا يوجد لديك سجل حيث قيمة EmpID تساوي لا شئ!! ولأني لا ارى برنامجك ، ومن خلال الصورة السابقة اللي ارفقتها انت ، ارى انك عملت الكود على حدث زر ، ولم تعمله كما قلت لك: . عندما تنقر على EmpID ، فقيمة EmpID ممكن اخذها من السجل الذي تم النقر عليه ، واما عندما تنقر في اي مكان آخر (زر الامر مثلا) ، فقيمة EmpID غير متوفرة!! جعفر
  7. ممكن تشوف الرابط التالي ، كيف اني جعلت التقرير (وهو عبارة عن رسالة رسمية) بدون مربعات النص والمسافات اللي بينها ، فالبيانات اصبحت جزء من التقرير: http://www.officena.net/ib/topic/63872-مساعدة-بمعاينة-وطباعة-التقرير/?do=findComment&comment=416983 جعفر رجاء فتح سؤال خاص لهذا الموضوع ، والشباب ما بيقصروا معاك ان شاء الله جعفر
  8. تفضل تم تغيير اعدادات النموذج "عقد ايجار" ، حتى يُظهر جميع السجلات (بدل ان يكون لإدخال البيانات فقط) ، تم عمل الاستعلام الالحاقي qry_Contracts_Append ، والذي يعمل نسخة من السجل الحالي في النموذج ، ويغير تاريخ الدخول الى تاريخ اليوم ، الاستعلام الالحاقي يعمل على الزر "عقد جديد" ، والذي يستنسخ العقد الحالي في النموذج ، ويعمل نسخة جديدة منه دون تغيير اي من البيانات ، سوى تاريخ الدخول ، عندك مشكلة اذا اردت تكرار رقم العقد ، فهو "رقم تلقائي" في الجدول ولا يمكن تكراره. جعفر 312.Rent_Renew.accdb.zip
  9. السلام عليكم أخي عمر في الواقع اخي شوقي قد اعطاك الجواب ، وانا جمعته مع بعض هذه النتيجة: . هنا انا استعملت استعلام لأقوم بالحسابات المطلوبة ، واستخدمت هذا الاستعلام كمصدر للتقرير. وستلاحظ اني حولت السنة/الشهر/اليوم الى تاريخ من (1) ، وتاريخ الى (2) ، ثم ارسلت هذين التاريخين الى الوحدة النمطية التي تخص المطلوب (يعني وحدة نمطية للسنين ، واخرى للاشهر وثالثة للايام ، والتي ارفقها الاخي شوقي في مشاركته في الموضوع). وهذا هو الكود: Option Compare Database Function CalcAge(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcAge = vYears & " ÓäÉ, " & vMonths & " ÔåÑ, " & vDays & " íæã" End Function Function CalcYears(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcYears = vYears End Function Function CalcMonths(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcMonths = vMonths End Function Function CalcDays(vDate1 As Date, vdate2 As Date) Dim vYears As Integer, vMonths As Integer, vDays As Integer vMonths = DateDiff("m", vDate1, vdate2) vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) If vDays < 0 Then vMonths = vMonths - 1 vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2) End If vYears = vMonths \ 12 vMonths = vMonths Mod 12 CalcDays = vDays End Function جعفر 310.N1.mdb.zip
  10. أخي الفاضل لو تكرمت تخبرنا اسم النموذج الذي تريد ان تكرر سجله ، وتعطينا اي معلومات اخرى تفيدنا لهذه العملية
  11. اولا العفو ثانيا انا اعتذر ثالثا لو وضعت انا المثال ، فستسألني ان اضعه في برنامجك ، ثم يا أخي انت صاحب السؤال ، تجمّل علينا بالجزئية من برنامجك اللي تريد العمل فيها ، لوسمحت
  12. نعم اختي قومي بعمل استعلام الحاقي ، يأخذ بياناته من النموذج ، على اساس ID الموجود في النموذج مثلا ، يعني الحقي هذا السجل بنفس الجدول (وهنا يفضل ان يكون عندك حقل للترقيم التلقائي ، والذي يجب ان لا يكون في الاستعام الالحاقي). جعفر
  13. الظاهر انك اخطأت في نسخ الكود الى برنامجك!! قارن بين كودك والكود اللي انا وضعته ، وستلاحظ انك التهمت الفواصل الاربعة ، ماشاء الله عليك ، اربعتهم وما لاحظت!! جعفر
  14. وعليكم السلام نفترض ان النموذج الرئيسي اسمه frm_1 ، والنموذج الفرعي فيه اسمه sfrm_1 ، بينما النموذج القاني اسمه frm_2 ، ضع الكود التالي (يجب ان تختار اخد السطربن) على خدث النقر المزدوج على للحقل id في النموذج frm_1 او sfrm_1 : اذا كان id رقم DoCmd.OpenForm "frm_2", , , "[id]= " & Me.id واذا كان id نص DoCmd.OpenForm "frm_2", , , "[id]= '" & Me.id & "'" جعفر
  15. وعليكم السلام اخي شوقي شوف الرابط ، المثال سيفيدك: http://www.officena.net/ib/topic/65783-توضيح-في-الاستعلام/ جعفر
  16. وعليكم السلام نعم تستطيع بكود مشابه: Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then 'English ctl.ReadingOrder = 1 ctl.KeyboardLanguage = 11 'Arabic ctl.ReadingOrder = 2 ctl.KeyboardLanguage = 3 ElseIf ctl.ControlType = acComboBox Then 'English ctl.KeyboardLanguage = 11 'Arabic ctl.KeyboardLanguage = 3 End If Next جعفر
  17. اعمل استعلام ، واربط الجدولين برقم الموظف ، انزل الحقول اللي تريدها ، واحفظ الاستعلام. الان انظر الى الرابط التالي ، وغير في الكود ، بدل اسم الجدول استعمل الاستعلام ، وغير اسم حقل البحث: http://www.officena.net/ib/topic/65783-توضيح-في-الاستعلام/ جعفر
  18. أخي عمر هل تريد: 1. طرح 11 شهر من 8 اشهر ، 2. ام تريد طرح الشهر 11 من الشهر 8؟ طبعا مافي فرق بينهم بالطريقة الاعتيادية ، ولكن الفرق يكون لما تريد تخصم الايام/الاشهر ، الاصغر من الاكبر ، يعني شوف المثال هذا: 5 يوم ، 8 شهر ، 13 سنة - 18 يوم ، 11 شهر ، 5 سنة = 5 +31 (لأننا اخذنا الشهر 8 وحولناه الى ايام ، والشهر 8 فيه 31 يوم) ، 7 + 12 (لأننا اخذنا سنه وحولناها الى 12 شهر) ، 12 سنة - 18 يوم ، 11 شهر ، 5 سنة وتصبح النتيجة (5+31) - 18 ، (7+12) - 11 ، 12 - 5 = 18 يوم ، 8 شهر ، 7 سنة جعفر
  19. وعليكم السلام هنا كان في نقاش طويل حول هذا الموضوع ، واتضح ان الاكسس/الكود هو جزء من المشكلة ، وليس كل المشكلة: http://www.officena.net/ib/topic/65045-كود-طباعة-باركود-علي-ملسقات-طابعة-زبرا/ جعفر
  20. السلام عليكم المسألة كانت تحدي ، وقبلت التحدي انا غيرت اسماء النموذج الرئيسي والفرعي الى اسماء frm_Search و sfrm_Search. الآن يمكنك البحث عن اي جزء من الكلمة ، واذا اردت البحث عن كلمة اخرى في السجل ، فما عليك الا ان تضع (مسافة او / او *) بين الكلمات ، فسيعتبرها البرنامج على انها كلمة اخرى يجب البحث عنها: . والكود: Option Compare Database Dim mySQL As String Dim mySQL1 As String Private Sub Form_Load() mySQL = "Select * From [المستندات]" Me.n2 = "" If Len(Me.n2 & "") = 0 Then Me.sfrm_Search.Form.RecordSource = mySQL End If End Sub Private Sub n2_Change() 'do the initial subform Record Source mySQL1 = "Select * From [المستندات]" mySQL = mySQL1 & " Where" 'now we want to split the search code into smaller bits, 'if seperate by / \ * or space, then change this seperator to | (a unique letter), 'this way we will have more than ONE word to search for Dim x() As String Dim A As String A = Me.n2.Text A = Replace(A, "/", "|") A = Replace(A, "\", "|") A = Replace(A, " ", "|") A = Replace(A, "*", "|") 'the words are split and ready x = Split(A, "|") If UBound(x) = 0 Then 'Still one word, search for it mySQL = mySQL & " [كلمات ارشادية]" mySQL = mySQL & " Like '*" & x(i) & "*'" Else 'it is ONE word and a seperate by / \ * or space, 'so lets make a Where statement for each seperate word For i = LBound(x) To UBound(x) If i = 0 Then 'its a word and a seperator, the NEXT word is NOT added yet mySQL = mySQL & " [كلمات ارشادية]" mySQL = mySQL & " Like '*" & x(i) & "*'" Else 'its multiple words, add the AND command between each word mySQL = mySQL & " AND [كلمات ارشادية]" mySQL = mySQL & " Like '*" & x(i) & "*'" End If Next i End If 'if the Search field is Empty, use the initial mySQL1 Me.n2.SetFocus If Len(Me.n2.Text & "") = 0 Then mySQL = mySQL1 End If 'Debug.Print mySQL Me.sfrm_Search.Form.RecordSource = mySQL End Sub . ملاحظة مهمة: اذا كان برنامجك على الشبكة ، فلا تضع الكود على "حدث التغيير" (معناه ، كلما اضفت/حذفت حرف ، فارجع الى الجدول وخذ البيانات منه) ، لأنه سيجعل البرنامج جدا بطئ ، وانما استخدم زر البحث. جعفر 309.Search_as_you_Type_jj.mdb.zip 309.Search_as_you_Type_jj.mdb.zip
  21. أخي محمد ومن قال انه في طريقة واحدة لتحقيق المطلوب!! هناك مجموعة طرق ، والكود دائما موجود ، فلهذا السبب ، وبعيد عن يصير/مايصير ، ارفق مثالك واخبرنا الحقول والجداول ، وخلينا نحاول جعفر
  22. Parent بمعنى والدين وبما اننا ننادي من النموذج الفرعي ، ننادي حقل في النموذج الرئيسي ، فلهذا السبب نخبر الكمبيوتر ان الحقل n1 موجود في النموذج الاب (النموذج الرئيسي) جعفر
  23. هلا اخوي سلمان بنفس الطريقة اللي قال لك اياها اخونا ابو خليل هنا: http://www.officena.net/ib/topic/61220-مشكله-في-اداه-الصور-وتسجيل-مكتبة/?do=findComment&comment=394460 جعفر
×
×
  • اضف...

Important Information