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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. تفضل برنامجي واضفت سطر في الكود لكي يتأكد من عدم وجود رقم تسلسلي في حقل النموذج جعفر 679.ترقيم جديد كل سنة جديدة وبجداول جديدة.accdb.zip
  2. تفضل 1. الحقل no في جدولك هو حقل ترقيم تلقائي ، فلا يمكنك ان تعطيه التسلسل الذي تريد ، 2. اضف حقل Seq الى جدولك ، بنوع رقم ، وسنستخدمه للتسلسل السنوي ، 3. اسم زر الامر في النموذج تم تغييره الى cmd_New_Number ، عليه وبعد تعديل كود أخي ابو خليل ليتماشى مع مسميات جدولك ، ضع هذا الكود على نقر الزر: Private Sub cmd_New_Number_Click() On Error Resume Next Dim xLast, xNext As Integer Dim prtyr, prtTxt As Integer prtyr = Right(DatePart("yyyy", date), 2) prtTxt = Left(DMax("Seq", "tb1"), 2) xLast = DMax("Seq", "tb1", prtTxt = prtyr) If IsNull(xLast) Then xNext = 1 Else xNext = Val(Mid(xLast, 3, 5)) + 1 End If Me!Seq = prtyr & Format(xNext, "00000") End Sub جعفر
  3. لا ، لن تكون هناك مشكلة في البحث ، فاذا كان عندك استعلام تربط فيه الجدولين ، وتبحث ، فالبحث يكون باسم الجدول "نقطة" اسم الحقل ، فبهذه الطريقة الاسماء لن تكون متشابهة واذا نظرت في قائمة الاسماء المحجوزة ، فكلمة Name محجوزة جعفر
  4. وعليكم السلام 1. اسم الحقل ، هو لعمل البرنامج: أ. اكتبه بالانجليزي ، ولو به خطأ إملائي ، ب. اجعله مفهوم ، فحتى لما ترجع بعد سنه ، وبمجرد قراءة الاسم ستعرف عمله ، ج. لا تجعل مسافة بين الكلمات ، واذا كان الاسم بأكثر من كلمه ، فاربط الكلمات بـ "_" ، مثل: Full_Name ، د. لا تستخدم الكلمات المحجوزة للأكسس: https://support.office.com/en-us/article/Access-2007-reserved-words-and-symbols-E33EB3A9-8BAA-4335-9F57-DA237C63EABE هـ. لا تجعل اسم الحقل عبارة عن رقم ، ولا تبدأ اسم الحقل برقم. 2. اما التسمية فتكون للمستخدم ، وتستطيع ان تكتبها بالعربي بأي طريقة شئت جعفر
  5. وعليكم السلام في احد برامجي اضطررت ان اقوم بشيء شبيه لما تريد عمله ، ولكن ليس بتمرير الفأرة ، وانما بالنقر على زر في السجلات ، والكود المرفق هو لذلك الزر ، الزر في النموذج الفرعي frm_Beads ، واسم النموذج الرئيسي frm_M_Beads ، ونموذج الصورة اسمه frm_Show_Image ، Private Sub cmd_frm_Show_Image_Click() DoCmd.OpenForm "frm_Show_Image" 'get the BE path BE_Path = application.currentproject.path Image_Name = Format(Forms!frm_M_Beads!frm_Beads!Auto_Date, "yyyy_mm_dd-hh_nn_ss") Forms!frm_Show_Image!Scan.Picture = BE_Path & "\Images\Items\" & Image_Name & ".jpg" Exit Sub err_cmd_frm_Show_Image_Click: If Err.Number = 2465 Or Err.Number = 2450 Then 'Form Not open Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر
  6. العفو ، الظاهر اني لم استطع توصيل المعلومة ورايت المرفق في مشاركتك الاولى ، ولم انزله ، لأن فكرة عمل جدول مستقل لكل سنة هي فكرة غير صحيحة أخونا العود ابوخليل ، عنده مشاركه للترقيم السنوي ، وان شاء الله تستفيد مناقشات الموضوع الثريّة بالفائدة ، وبالاساليب المختلفة للترقيم ، ومن مرفقاته كذلك: جعفر
  7. وعليكم السلام غيّر الرقم من 1 الى 2 . جعفر
  8. وعليكم السلام تفضل : Private Sub cmd_Export_to_Excel_Click() Dim xlApp As Object 'Excel.Application Dim xlWB As Object 'Excel.Workbook Dim rst As DAO.Recordset 'open excel template Set xlApp = CreateObject("Excel.Application") xlApp.Visible = False 'True Set xlWB = xlApp.Workbooks.Open(CurrentProject.Path & "\Excel Destn Temp.xltx") Set xlWS = xlWB.Worksheets(1) 'Expense report Number xlWS.Cells(4, 3).Value = Me.[Expense report Number] xlWS.Cells(4, 3).Font.Bold = True xlWS.Cells(4, 3).Interior.Color = vbRed 'Employee Code xlWS.Cells(6, 3).Value = Me.[Employee Code] xlWS.Cells(6, 3).Font.Bold = True xlWS.Cells(6, 3).Interior.Color = vbRed 'Employee Name xlWS.Cells(7, 3).Value = Me.[Employee Name] xlWS.Cells(7, 3).Font.Bold = True xlWS.Cells(7, 3).Interior.Color = vbRed 'the subform values Set rst = Me.Vouchers_Subform.Form.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount iRow = 10 'i + 1 For i = 1 To RC 'Sequence xlWS.Cells(iRow + i, 1).Value = i xlWS.Cells(iRow + i, 1).Font.Bold = True xlWS.Cells(iRow + i, 1).Interior.Color = vbRed 'VDate xlWS.Cells(iRow + i, 2).Value = rst!VDate xlWS.Cells(iRow + i, 2).Font.Bold = True xlWS.Cells(iRow + i, 2).Interior.Color = vbRed 'Expense Type xlWS.Cells(iRow + i, 3).Value = "jj" xlWS.Cells(iRow + i, 3).Font.Bold = True xlWS.Cells(iRow + i, 3).Interior.Color = vbRed 'Voucher NUMBER xlWS.Cells(iRow + i, 4).Value = rst!VoucherNUMBER xlWS.Cells(iRow + i, 4).Font.Bold = True xlWS.Cells(iRow + i, 4).Interior.Color = vbRed 'VA mount xlWS.Cells(iRow + i, 6).Value = rst!VAmount xlWS.Cells(iRow + i, 6).Font.Bold = True xlWS.Cells(iRow + i, 6).Interior.Color = vbRed rst.MoveNext Next i xlApp.Save 'ask the user to save the new file xlApp.Quit Set xlWS = Nothing Set xlWB = Nothing Set xlApp = Nothing End Sub جعفر 677.Export to excel temp.zip
  9. وعليكم السلام سيدي العزيز أبو نادر من تجربتي لبرامج الاجازات ، ولعدم حصول تكرار ، والأهم ، هو لسرعة البرنامج: الجدول: اسم او رقم الموظف ، ترقيم الاجازة (سنوي) ، تاريخ الاجازة ، نوع الاجازة ، ملاحظات ، تم قطع الاجازة (نعم/لا) ، والقيمة الافتراضية يجب ان تكون صفر (يعني لا) . النموذج: ادخال التاريخ ، من و الى ، عند الموافقة ، يكون هناك زر لتفكيك الاجازة الى ايام ، وحفظها في الجدول ، زر امكانية تغيير قطع اجازة الموظف ، كذلك بين التاريخين ، وتحديث الجدول ، والملاحظات ، إن وُجدت. الاستعلام: اسم او رقم الموظف ، وقد يكون بمعيار ، تاريخ الاجازة ، والمعيار يكون بين تاريخين ، تم قطع الاجازة ، والمعيار يكون صفر. واذا اردت اضافة قسم الموظف ، فاعمل استعلام آخر ، واربط اسم او رقم الموظف بجدول الاقسام ، اما الحقول المحسوبة مثل: اليوم ، فهذه تعملها في الاستعلام مباشرة ، ولا تُحفظ في الجدول. الآن الموضوع سيكون في غاية السهولة ، والسرعة في احد برامجي ، كان هناك اكثر من ثلاثين الف اجازة في الشهر ، وكُله مشى تمام وهناك مَثل شهير في قواعد البيانات: الحقول غالية ، والسجلات رخيصة جعفر
  10. وعليكم السلام وبدون انزال برنامجك ، فالفكرة ليست صحيحة في عالم قاعدة البيانات فكرة قاعدة البيانات هي ، ادخال بيانات ، فرز وتصفية ، اخراج تقارير فالطريقة الصحيحة هي ان يكون جدول واحد لجميع السنوات ، والفرز والتصفية يكون بحقل فيه تاريخ السنه التي تريدها (مثل تاريخ الصادر او الوارد) ، او اذا كلا ولابد ، فاضافة حقل للسنه جعفر
  11. وعليكم السلام !Size# هذا معناه ، انه لا توجد قيمة لأحد الحقول التي تعتمد عليها المعادلة ، فيجب معالجة هذا الحقل ، !Type# عندك تضارب في اسم الحقل جعفر
  12. السلام عليكم وبعد إذن الاستاذ محمد اذا كان هناك حقل فاضي وليس 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 جعفر
  13. وعليكم السلام 1. من فهمي لسؤالك ، عندك نموذج فردي ، وعليه تستطيع ان تستعمل الكود التالي لطباعة آخر سجل في النموذج: DoCmd.GoToRecord , , acLast DoCmd.PrintOut acSelection, , , acHigh . ولا اجد اي طريقة للطباعة بصيغة pdf ، إلا اذا استعملت طابعة pdf افتراضية Virtual Printer ، بحيث تجعلها الطابعة الافتراضي للطبع Default Printer ، ثم تُرجع الطابعة الاخرى كطابعة افتراضية ، وهذا الرابط يعطيك فكرة عن هذه الطابعات: جعفر
  14. وعليكم السلام ولتعم الفائدة ، رجاء اقرأ الرابط هذا ، حتى يعمل لك الاكسس الكود المطلوب . والآن الى طلبك: 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 جعفر
  15. وعليكم السلام تجربتي تقول ، ان جميع ما تقرأ هو نظري ، الى ان تبدأ وتطبقه عمليا ، وافضل طريقة للتطبيق العملي المتنوع ، هو مواضيع المنتديات ، وابدأ بـ : مراجعة مواضيع المنتدى ، وابتدأ بالاسئلة السهلة ، افهم السؤال ، اشتغل على اجابة السؤال دون النظر الى الردود ، ثم قارن نتائج اجابتك بنتائج بقية اجابات السؤال ستلاحظ الطرق المتعددة لحل سؤال ما ، تطبيقيا ، وقد تكون طريقتك افضل من الطرق الاخرى جعفر
  16. وعليكم السلام تحويل التقرير الى صورة ، سواء 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 جعفر
  17. وعليكم السلام تفضل هذا الرابط الخارجي ، وبه مرفقات ايضا ، حسب نسختك من الاكسس https://www.devhut.net/2014/01/22/ms-access-enable-mouse-wheel-scrolling-of-text-box/ جعفر
  18. وعليكم السلام الشيء الذي جذب انتباهي ، هو عبارتك باللون الاحمر ، والتي لم تلتفت لها اي من الاجابات!! الرابط التالي يعطيك فكرة عن كيفية التعامل مع الحقول الفارغة: جعفر
×
×
  • اضف...

Important Information