-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
تفضل 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 جعفر
-
حياك الله
-
لا ، لن تكون هناك مشكلة في البحث ، فاذا كان عندك استعلام تربط فيه الجدولين ، وتبحث ، فالبحث يكون باسم الجدول "نقطة" اسم الحقل ، فبهذه الطريقة الاسماء لن تكون متشابهة واذا نظرت في قائمة الاسماء المحجوزة ، فكلمة Name محجوزة جعفر
-
وعليكم السلام 1. اسم الحقل ، هو لعمل البرنامج: أ. اكتبه بالانجليزي ، ولو به خطأ إملائي ، ب. اجعله مفهوم ، فحتى لما ترجع بعد سنه ، وبمجرد قراءة الاسم ستعرف عمله ، ج. لا تجعل مسافة بين الكلمات ، واذا كان الاسم بأكثر من كلمه ، فاربط الكلمات بـ "_" ، مثل: Full_Name ، د. لا تستخدم الكلمات المحجوزة للأكسس: https://support.office.com/en-us/article/Access-2007-reserved-words-and-symbols-E33EB3A9-8BAA-4335-9F57-DA237C63EABE هـ. لا تجعل اسم الحقل عبارة عن رقم ، ولا تبدأ اسم الحقل برقم. 2. اما التسمية فتكون للمستخدم ، وتستطيع ان تكتبها بالعربي بأي طريقة شئت جعفر
-
وعليكم السلام في احد برامجي اضطررت ان اقوم بشيء شبيه لما تريد عمله ، ولكن ليس بتمرير الفأرة ، وانما بالنقر على زر في السجلات ، والكود المرفق هو لذلك الزر ، الزر في النموذج الفرعي 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 جعفر
-
العفو ، الظاهر اني لم استطع توصيل المعلومة ورايت المرفق في مشاركتك الاولى ، ولم انزله ، لأن فكرة عمل جدول مستقل لكل سنة هي فكرة غير صحيحة أخونا العود ابوخليل ، عنده مشاركه للترقيم السنوي ، وان شاء الله تستفيد مناقشات الموضوع الثريّة بالفائدة ، وبالاساليب المختلفة للترقيم ، ومن مرفقاته كذلك: جعفر
-
-
-
تصدير من اكسس الى ملف اكسل مجهز مسبقا وحفظ ملف جديد باسم جديد
jjafferr replied to بن شجاع الدين's topic in قسم الأكسيس Access
وعليكم السلام تفضل : 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 -
طلب مساعده عند تعارض تاريخ اجازه جديد مع تاريخ سابق
jjafferr replied to أبو نادر's topic in قسم الأكسيس Access
وعليكم السلام سيدي العزيز أبو نادر من تجربتي لبرامج الاجازات ، ولعدم حصول تكرار ، والأهم ، هو لسرعة البرنامج: الجدول: اسم او رقم الموظف ، ترقيم الاجازة (سنوي) ، تاريخ الاجازة ، نوع الاجازة ، ملاحظات ، تم قطع الاجازة (نعم/لا) ، والقيمة الافتراضية يجب ان تكون صفر (يعني لا) . النموذج: ادخال التاريخ ، من و الى ، عند الموافقة ، يكون هناك زر لتفكيك الاجازة الى ايام ، وحفظها في الجدول ، زر امكانية تغيير قطع اجازة الموظف ، كذلك بين التاريخين ، وتحديث الجدول ، والملاحظات ، إن وُجدت. الاستعلام: اسم او رقم الموظف ، وقد يكون بمعيار ، تاريخ الاجازة ، والمعيار يكون بين تاريخين ، تم قطع الاجازة ، والمعيار يكون صفر. واذا اردت اضافة قسم الموظف ، فاعمل استعلام آخر ، واربط اسم او رقم الموظف بجدول الاقسام ، اما الحقول المحسوبة مثل: اليوم ، فهذه تعملها في الاستعلام مباشرة ، ولا تُحفظ في الجدول. الآن الموضوع سيكون في غاية السهولة ، والسرعة في احد برامجي ، كان هناك اكثر من ثلاثين الف اجازة في الشهر ، وكُله مشى تمام وهناك مَثل شهير في قواعد البيانات: الحقول غالية ، والسجلات رخيصة جعفر -
وعليكم السلام وبدون انزال برنامجك ، فالفكرة ليست صحيحة في عالم قاعدة البيانات فكرة قاعدة البيانات هي ، ادخال بيانات ، فرز وتصفية ، اخراج تقارير فالطريقة الصحيحة هي ان يكون جدول واحد لجميع السنوات ، والفرز والتصفية يكون بحقل فيه تاريخ السنه التي تريدها (مثل تاريخ الصادر او الوارد) ، او اذا كلا ولابد ، فاضافة حقل للسنه جعفر
-
حياك الله
-
وعليكم السلام !Size# هذا معناه ، انه لا توجد قيمة لأحد الحقول التي تعتمد عليها المعادلة ، فيجب معالجة هذا الحقل ، !Type# عندك تضارب في اسم الحقل جعفر
-
السلام عليكم وبعد إذن الاستاذ محمد اذا كان هناك حقل فاضي وليس 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 جعفر
-
وعليكم السلام 1. من فهمي لسؤالك ، عندك نموذج فردي ، وعليه تستطيع ان تستعمل الكود التالي لطباعة آخر سجل في النموذج: DoCmd.GoToRecord , , acLast DoCmd.PrintOut acSelection, , , acHigh . ولا اجد اي طريقة للطباعة بصيغة pdf ، إلا اذا استعملت طابعة pdf افتراضية Virtual Printer ، بحيث تجعلها الطابعة الافتراضي للطبع Default Printer ، ثم تُرجع الطابعة الاخرى كطابعة افتراضية ، وهذا الرابط يعطيك فكرة عن هذه الطابعات: جعفر
-
وعليكم السلام ولتعم الفائدة ، رجاء اقرأ الرابط هذا ، حتى يعمل لك الاكسس الكود المطلوب . والآن الى طلبك: 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 جعفر
-
هلا ومرحبا
-
التحكم في النصوص بواسطة عجلة الماوس بدلاً من شريط التمرير
jjafferr replied to gelani2002's topic in قسم الأكسيس Access
-
حياك الله اخوي ابوعبدالله ادمج الكود من هنا ، مع كود ايقونك من هنا ، واتحفنا بلمساتك جعفر
- 5 replies
-
- تغير ايكونة الأكسس
- تخفيض الأمان برمجيا
- (و2 أكثر)
-
السلام عليكم أخي ابوعبدالله شوف الكود في الرابط التالي ، فهو لا يغير الريجستري ، ويعمل على الاكسس 2013 كذلك: جعفر
- 5 replies
-
- تغير ايكونة الأكسس
- تخفيض الأمان برمجيا
- (و2 أكثر)
-
وعليكم السلام تجربتي تقول ، ان جميع ما تقرأ هو نظري ، الى ان تبدأ وتطبقه عمليا ، وافضل طريقة للتطبيق العملي المتنوع ، هو مواضيع المنتديات ، وابدأ بـ : مراجعة مواضيع المنتدى ، وابتدأ بالاسئلة السهلة ، افهم السؤال ، اشتغل على اجابة السؤال دون النظر الى الردود ، ثم قارن نتائج اجابتك بنتائج بقية اجابات السؤال ستلاحظ الطرق المتعددة لحل سؤال ما ، تطبيقيا ، وقد تكون طريقتك افضل من الطرق الاخرى جعفر
-
وعليكم السلام تحويل التقرير الى صورة ، سواء 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 جعفر
-
التحكم في النصوص بواسطة عجلة الماوس بدلاً من شريط التمرير
jjafferr replied to gelani2002's topic in قسم الأكسيس Access
وعليكم السلام تفضل هذا الرابط الخارجي ، وبه مرفقات ايضا ، حسب نسختك من الاكسس https://www.devhut.net/2014/01/22/ms-access-enable-mouse-wheel-scrolling-of-text-box/ جعفر -
وعليكم السلام الشيء الذي جذب انتباهي ، هو عبارتك باللون الاحمر ، والتي لم تلتفت لها اي من الاجابات!! الرابط التالي يعطيك فكرة عن كيفية التعامل مع الحقول الفارغة: جعفر
-
وعليكم السلام واختصارا لكود اخي @صالح حمادي ، وبدل ان نفتح الباب لكل اوامر الاكسس ، جرب هذا السطر commandbars("Property sheet").enabled=true جعفر