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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام سيدي العزيز أبو نادر من تجربتي لبرامج الاجازات ، ولعدم حصول تكرار ، والأهم ، هو لسرعة البرنامج: الجدول: اسم او رقم الموظف ، ترقيم الاجازة (سنوي) ، تاريخ الاجازة ، نوع الاجازة ، ملاحظات ، تم قطع الاجازة (نعم/لا) ، والقيمة الافتراضية يجب ان تكون صفر (يعني لا) . النموذج: ادخال التاريخ ، من و الى ، عند الموافقة ، يكون هناك زر لتفكيك الاجازة الى ايام ، وحفظها في الجدول ، زر امكانية تغيير قطع اجازة الموظف ، كذلك بين التاريخين ، وتحديث الجدول ، والملاحظات ، إن وُجدت. الاستعلام: اسم او رقم الموظف ، وقد يكون بمعيار ، تاريخ الاجازة ، والمعيار يكون بين تاريخين ، تم قطع الاجازة ، والمعيار يكون صفر. واذا اردت اضافة قسم الموظف ، فاعمل استعلام آخر ، واربط اسم او رقم الموظف بجدول الاقسام ، اما الحقول المحسوبة مثل: اليوم ، فهذه تعملها في الاستعلام مباشرة ، ولا تُحفظ في الجدول. الآن الموضوع سيكون في غاية السهولة ، والسرعة في احد برامجي ، كان هناك اكثر من ثلاثين الف اجازة في الشهر ، وكُله مشى تمام وهناك مَثل شهير في قواعد البيانات: الحقول غالية ، والسجلات رخيصة جعفر
  2. وعليكم السلام وبدون انزال برنامجك ، فالفكرة ليست صحيحة في عالم قاعدة البيانات فكرة قاعدة البيانات هي ، ادخال بيانات ، فرز وتصفية ، اخراج تقارير فالطريقة الصحيحة هي ان يكون جدول واحد لجميع السنوات ، والفرز والتصفية يكون بحقل فيه تاريخ السنه التي تريدها (مثل تاريخ الصادر او الوارد) ، او اذا كلا ولابد ، فاضافة حقل للسنه جعفر
  3. وعليكم السلام !Size# هذا معناه ، انه لا توجد قيمة لأحد الحقول التي تعتمد عليها المعادلة ، فيجب معالجة هذا الحقل ، !Type# عندك تضارب في اسم الحقل جعفر
  4. السلام عليكم وبعد إذن الاستاذ محمد اذا كان هناك حقل فاضي وليس Null ، مثلا عملت الاضافة التالية: . فاصبحت القيم . ولكي نستطيع ان نتجنب الحقول الفارغة و Null ، فيمكنك استخدام هذا الكود: Private Sub Command6_Click() If Len(Me.Dept & "") <> 0 Then 'DoCmd.OpenForm "Employees", , , "Dept =Forms!main![Dept].value" DoCmd.OpenForm "Employees", , , "Dept ='" & Me.Dept & "'" Else MsgBox ("تأكد من إدخال البيانات بشكل سليم") End If End Sub جعفر
  5. وعليكم السلام 1. من فهمي لسؤالك ، عندك نموذج فردي ، وعليه تستطيع ان تستعمل الكود التالي لطباعة آخر سجل في النموذج: DoCmd.GoToRecord , , acLast DoCmd.PrintOut acSelection, , , acHigh . ولا اجد اي طريقة للطباعة بصيغة pdf ، إلا اذا استعملت طابعة pdf افتراضية Virtual Printer ، بحيث تجعلها الطابعة الافتراضي للطبع Default Printer ، ثم تُرجع الطابعة الاخرى كطابعة افتراضية ، وهذا الرابط يعطيك فكرة عن هذه الطابعات: جعفر
  6. وعليكم السلام ولتعم الفائدة ، رجاء اقرأ الرابط هذا ، حتى يعمل لك الاكسس الكود المطلوب . والآن الى طلبك: 1. . 2. بالفأرة اليمين ، على حقل التاريخ . 3. . 4. نتيجة التصفية ، ثم تختار التقرير Report لرؤية اعداداته . 5. وهنا نرى الكود جاهزا . 6. نأخذ الكود اعلاه ونضعه في كود فتح التقرير ، مع مراعة استخدام Date1 و Date2: Private Sub أمر39_Click() Dim Date1 As Date Dim Date2 As Date Date1 = InputBox("Enter the first date") Date2 = InputBox("Enter the second date") DoCmd.OpenReport "Rep-sadder", acViewPreview, , "([TBLSadder].[Date-sad] Between #" & Date1 & "# And #" & Date2 & "#)" 'DoCmd.OpenReport "Rep-sadder", acViewPreview, , Date1 & Date2, acWindowNormal 'كيف اجعل التقرير يظهر ضمن التاريخ المحدد ب inputbox End Sub جعفر
  7. وعليكم السلام تجربتي تقول ، ان جميع ما تقرأ هو نظري ، الى ان تبدأ وتطبقه عمليا ، وافضل طريقة للتطبيق العملي المتنوع ، هو مواضيع المنتديات ، وابدأ بـ : مراجعة مواضيع المنتدى ، وابتدأ بالاسئلة السهلة ، افهم السؤال ، اشتغل على اجابة السؤال دون النظر الى الردود ، ثم قارن نتائج اجابتك بنتائج بقية اجابات السؤال ستلاحظ الطرق المتعددة لحل سؤال ما ، تطبيقيا ، وقد تكون طريقتك افضل من الطرق الاخرى جعفر
  8. وعليكم السلام تحويل التقرير الى صورة ، سواء bmp او png او jpg او غيرها ، هي من الاسئلة العريقة التي لا تزال الروح فيها ، ونراها بين فترة واخرى هناك نوعان من الصور التي يستطيع تقرير الاكسس طباعتها ، وهما خاصّتان بمايكروسوفت فقط ، صيغة snp ، ثم في الاكسس 2007 فما فوق تم اضافة صيغة xps (في نفس الوقت الذي تم إضافة صيغة pdf كذلك) ، لا توجد برامج تحويل هذه الصيغ الى صيغ الصور المتعارف عليها مثل bmp او png او jpg او غيرها ، غير عدد جدا محدود ، مثل تحويل xps الى صور: xps2img: https://sourceforge.net/projects/xps2img/ ولكن وحسب تجاربي ، فأفضل طريقة لتحويل التقرير (او اي شيء من الكمبيوتر تريد تحويله الى صورة) ، هو استخدام الطابعة الافتراضية ، انا لا استخدم طابعة الورق عندما اريد ان اجرب اطبع التقارير ، وانما اطبع بصيغة pdf باستخدام طابعة افتراضية مجانية مثل http://www.dopdf.com/ اما الطابعات الافتراضية لتحويل التقارير الى صور ، فمنها (المجانية): https://www.print-driver.com/stories/convert-pdf-to-jpg-via-the-command-line http://emfprinter.sourceforge.net/ والتي بعد ان تطبع التقرير (تحفظ التقرير بصيغة صورة) ، فيمكنك ان تغير اسم ومكان الصورة بالكود: نسخ الملف من مجلد الى آخر FileCopy "Source_Path_And_Name", "Destination_Path_And_Name" مثل dim New_File_Location as string 'New_File_Location= application.currentproject.path & "\Files\" & me.ID & ".doc" New_File_Location="D:\BD\File_1.doc" FileCopy "D:\myFile.doc", New_File_Location نقل الملف من مجلد الى آخر، او تغيير اسم الملف Name "old_path_AND_name" As "new_path_AND_name" مثل dim New_File_Location as string 'New_File_Location= application.currentproject.path & "\Files\" & me.ID & ".doc" New_File_Location="D:\BD\File_1.doc" Name "D:\myFile.doc" As New_File_Location حذف الملف Kill "SourcePathAnd Name" . وعملت على احد برامج طباعة هويات الموظفين ، لطباعة الهويات على طابعة الهويات Fargo DTC550 وعند طباعة التقرير (الهوية بالصورة) مباشرة من التقرير الى الطابعة ، لاحظت ان الصور غير واضحة ، وبعد البحث اخبرني احد اصحابي "شكرا اخي محمد نادر" والذي كان قد قام بهذه الخطوة قبلي بعدة اشهر ، ان افضل طريقة للطباعة على هذه الطابعة هي: ان تطبع التقرير بصيغة xps ، ثم تفتح الصورة بواسطة xps viewer والذي يتم تنصيبه مع تنصيب الاكسس 2007 فما فوق ، وتطبع الهوية من هناك ، والصور كانت واضحة جدا وقد قمت بشراء الطابعة الافتراضية للمشروع اعلاه: https://code-industry.net/imageprinterpro/ ولكن نتيجة الطباعة كانت نفسها كالتي بـ xps viewer جعفر
  9. وعليكم السلام تفضل هذا الرابط الخارجي ، وبه مرفقات ايضا ، حسب نسختك من الاكسس https://www.devhut.net/2014/01/22/ms-access-enable-mouse-wheel-scrolling-of-text-box/ جعفر
  10. وعليكم السلام الشيء الذي جذب انتباهي ، هو عبارتك باللون الاحمر ، والتي لم تلتفت لها اي من الاجابات!! الرابط التالي يعطيك فكرة عن كيفية التعامل مع الحقول الفارغة: جعفر
  11. 1. شو كانت المشكلة؟ الكود اللي في الاستعلام هو عينا نفس الكود الذي ارفقته لك!! 2. هل قصدك تريد هذه المعايير: . بهذه النتيجة: . Dim City As String: Dim City2 As String: Dim City3 As String Dim School As String: Dim School2 As String City = "اسكندرية": City2 = "الدقهلية": City3 = "قليوبية" School = "خالد بن الوليد": School2 = "الخلفاء الراشدين" 'مجموعة اوامر الحقل الاول 'المدينة myCriteria = "(" myCriteria = myCriteria & "[testQ].[country1]= '" & City & "'" myCriteria = myCriteria & " or " myCriteria = myCriteria & "[testQ].[country1]= '" & City2 & "'" myCriteria = myCriteria & " or " myCriteria = myCriteria & "[testQ].[country1]= '" & City3 & "'" myCriteria = myCriteria & ")" 'مجموعة اوامر الحقل الثاني 'المدرسة myCriteria = myCriteria & " AND " myCriteria = myCriteria & "(" myCriteria = myCriteria & "[testQ].[School1]= '" & School & "'" myCriteria = myCriteria & " or " myCriteria = myCriteria & "[testQ].[School1]= '" & School2 & "'" myCriteria = myCriteria & " or " myCriteria = myCriteria & "Len([testQ].[School1] & '')=0" myCriteria = myCriteria & ")" 'Debug.Print myCriteria Me.TestF.Form.Filter = myCriteria Me.TestF.Form.FilterOn = True جعفر
  12. وعليكم السلام واختصارا لكود اخي @صالح حمادي ، وبدل ان نفتح الباب لكل اوامر الاكسس ، جرب هذا السطر commandbars("Property sheet").enabled=true جعفر
  13. تفضل المرفق ، والكود في الاستعلام 660.2.Test2006.mdb.zip
  14. وعليكم السلام اختي في قواعد البيانات ، لا نحفظ حقل محسوب في جدول ، إلا اذا كان كُلاً ولا بُد اعملي استعلام ليعطيك هذه القيمة ، وكلما احتجتي لهذه القيمة لنموذج او تقرير ، فاستعملي الاستعلام جعفر
  15. أخي محمد اعتذر منك ، ولكن طريقتك في عرض الموضوع غير صحيحة ، فانت ترفق رسالة خطأ وبدون ان توضح لنا كيف حصلت عليها !! يجب عليك ان تخبرنا الكود الذي استعملته ، والمتغيرات التي ادخلتها في النموذج ، حتى نعرف وين الخطأ !! والشيء الآخر ، انت تنتقل من شيء الى آخر ، والى شيء آخر ، وتطلب كود لشيء معين ، ثم تنتقل لشيء آخر ، وبطريقة اخرى ، فلا انت تستطيع التركيز ، ولا المتابع يمكنه المتابعة بتسلسل ، ولا انا استطيع المواصلة بهذه الطريقة !! رجاء خذ من وقتك ، وخطط تخطيطا دقيقا ، واكتب مالذي تريد الوصول اليه جعفر
  16. تفضل بدون سجلات التاريخ الفارغة Between (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-1900#,[Forms]![main]![Datamasterform]![DateX])) And (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-2900#,[Forms]![main]![Datamasterform]![DateX]+65)) والشرح Between (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-1900#,[Forms]![main]![Datamasterform]![DateX])) And (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-2900#,[Forms]![main]![Datamasterform]![DateX]+65)) مع سجلات التاريخ الفارغة Between (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-1900#,[Forms]![main]![Datamasterform]![DateX])) And (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-2900#,[Forms]![main]![Datamasterform]![DateX]+65)) Or [DateX] Is Null والشرح Between (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-1900#,[Forms]![main]![Datamasterform]![DateX])) And (IIf(Len([Forms]![main]![Datamasterform]![DateX] & "")=0,#01-Jan-2900#,[Forms]![main]![Datamasterform]![DateX]+65)) Or [DateX] Is Null جعفر
  17. أخي محمد الربكة عندك في And و Or ، فرجاء مراجعة عملهم بالضبط. رجاء عمل التالي: 1. وانت في النموذج ، اضغط على زرّي لوحة المفاتيح: Ctrl + G 2. وسيأخذك الى صفحة الكود ، وستلاحظ نافذة صغيرة في اسفل صفحة الكود ، 3. السطر التالي ، احذف اول اشارة من سطره ، الاشارة: ' 'Debug.Print myCriteria' 4. اذهب للنموذج واعمل التصفية التي تريدها 5. ارجع لصفحة الكود ، وستلاحظ في النافذة الصغيرة وجود كود التصفية 6. انسخ هذا الكود 7. اعمل استعلام فارغ 8. بالزر اليمين في الاستعلام ، غيّر الاستعلام من تصميم الى SQL 9. احذف الكلمات الموجودة في الاستعلام ، والصق كود النموذج 10. شغّل الاستعلام ، وشوف نتائجه 11. ضع الاستعلام في وضع تصميم ، وشوف تفاصيله ، وهي التفاصيل التي قمت بها انت لتصفية النموذج. 12. العب في And و Or للحقول التي تريدها ، وسوف تعرف ايهم تستعمل والانسب لعملك ، وعليه ترجع لكود تصفية النموذج وتغيّر فيه حسب طلبك ************************* هذا الموضوع هو انشاء تصفية ولعدة حقول ، والحمدلله استطعت انت ان تجرب النتائج جعفر
  18. وعليكم السلام انت طلبت معرفة الفرق ، ولكنك انت الذي تحدد اهمية الكود من عدمه هذا الكود: لإنشاء فاتورة جديدة ، وهي الجزئية التي لا تزال موجودة ولم تحذفها انت ، اما الجزء الذي حذفته فهو لعمل سجل في النموذج الفرعي اذا بعد الحذف كل شيء كان تمام ، فتوكل على الله واستمر ******************* اعمل ضغط واصلاح لبرنامجك حتى تصغر حجمه جعفر
  19. اذا ممكن تنزل المرفق في مشاركتي الاولى ، وشوف اذا تطلع لك نفس المشاكل
  20. وحده وحده يا محمد 1. اذن الخطأ هذا كان بسبب انك ما ادخلت تاريخ ، ولأن الكود محتاج التاريخ في حقل DateX ، لهذا السبب حصلت على الخطأ: 2. خلينا نشوف الكود لوسمحت ، لأن الكود عندي شغال تمام بالنتائج الصحيحة ، فيمكن انت عملت تغيير في الكود وحصلت لك المشكلة جعفر شوف المرفق في مشاركتي الاولى
×
×
  • اضف...

Important Information