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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام 🙂 اخي بلال ، رجاء تخبرنا بالتفصيل ، عن الخطأ والمشكلة ، وفي اي مكان في برنامجك!! جعفر
  2. السلام عليكم 🙂 اخي إمام ، قوانين المنتدى تقول ، سؤال واحد لكل موضوع ، وقد تمت الاجابة على سؤالك ، فرجاء عمل موضوع جديد لسؤالك الاخير 🙂 يُغلق. جعفر
  3. وعليكم السلام 🙂 بالبيانات الموجودة في المرفق ، لم استطع معرفة المطلوب !! ياريت تدخل بيانات اكثر وترفق البرنامج من جديد ، ومن واقع بياناتك تخبرنا خطوة بخطوة الذي تريده 🙂 جعفر
  4. وعليكم السلام 🙂 ضع هذا الكود في وحدة نمطية ، بغض النظر عن الطرق اعلاه ، ثم اعمل ماكرو ينادي هذه الوحدة النمطية. جعفر
  5. وعليكم السلام 🙂 يمكنك فتح نموذج في برنامج آخر ، هكذا : Private Sub cmd_View_Kids_info_Click() On Error GoTo err_cmd_View_Kids_info_Click 'From Personnel Application, open sfrm_Family 'if the Remote Application/Form is open, close it first appAccess.DoCmd.Quit 'now open the Form for the new Employee_ID Set appAccess = CreateObject("Access.Application") DB_Path = "\\DBs\FE\Finance_FE.accdb" appAccess.OpenCurrentDatabase (DB_Path) appAccess.DoCmd.OpenForm "sfrm_Family" appAccess.Visible = True appAccess.UserControl = True 'Set appAccess = Nothing Exit_cmd_View_Kids_info_Click: Exit Sub err_cmd_View_Kids_info_Click: If Err.Number = 91 Or Err.Number = 462 Then 'the application is NOT open, ignore the error Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . ويمكن ان نفتح النموذج اعلاه للقراءة فقط: Private Sub cmd_View_Kids_info_Click() On Error GoTo err_cmd_View_Kids_info_Click 'From Personnel Application, open sfrm_Family 'if the Remote Application/Form is open, close it first appAccess.DoCmd.Quit 'now open the Form for the new Employee_ID Set appAccess = CreateObject("Access.Application") DB_Path = "\\DBs\FE\Finance_FE.accdb" appAccess.OpenCurrentDatabase (DB_Path) appAccess.DoCmd.OpenForm "sfrm_Family", , , , acFormReadOnly appAccess.Visible = True appAccess.UserControl = True 'Set appAccess = Nothing Exit_cmd_View_Kids_info_Click: Exit Sub err_cmd_View_Kids_info_Click: If Err.Number = 91 Or Err.Number = 462 Then 'the application is NOT open, ignore the error Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . كما يمكن ان نفتح النموذج اعلاه للقراءة فقط ، مع تصفية : Private Sub cmd_View_Kids_info_Click() On Error GoTo err_cmd_View_Kids_info_Click 'From Personnel Application, open sfrm_Family 'if the Remote Application/Form is open, close it first appAccess.DoCmd.Quit 'now open the Form for the new Employee_ID Set appAccess = CreateObject("Access.Application") DB_Path = "\\DBs\FE\Finance_FE.accdb" appAccess.OpenCurrentDatabase (DB_Path) myWhere = "[Full_Name]='" & Me.frm_1_All!Full_Name & "'" myWhere = myWhere & " And [Relation]<>'زوجة'" myWhere = myWhere & " And [Relation]<>'زوج'" appAccess.DoCmd.OpenForm "sfrm_Family", , , myWhere, acFormReadOnly appAccess.Visible = True appAccess.UserControl = True 'Set appAccess = Nothing Exit_cmd_View_Kids_info_Click: Exit Sub err_cmd_View_Kids_info_Click: If Err.Number = 91 Or Err.Number = 462 Then 'the application is NOT open, ignore the error Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر
  6. اخي امام 🙂 رجاء ، لازم تعطي توضيح اكثر. فإرفاق قاعدة بيانات ، واحنا اللي لازم نفكر ، وين ، ومتى ، وكيف !! ما يصير. جعفر
  7. وعليكم السلام 🙂 لا تقلق ، امامك مشوار طويل مع الاكسس وبدون مشاكل في البطئ ان شاء الله 🙂 اما تحويل الجداول الى SQL server ، فقد قام اخونا السيد جمال بوضع موضوع في غاية الروعة في شرحة: جعفر
  8. السلام عليكم 🙂 رجاء انزال الملف الجديد ، فالتعديلات التي فيه تساعد على التغلب من الكثير من العوائق 🙂 جعفر
  9. عادة المفروض ان السرعة تكون كما هي ، ولكن ، احد اهم الاشياء في بطئ قواعد البيانات هي الفهرسة !! اذا عندك اي حقل فيه معيار ، في الاستعلام او الكود ، فيجب ان تجعل هذا الجقل مفهرس. والشئ الثاني هو عدد مرات ذهابك للجدول لجلب البيانات ، ففي بعض الاحيان يمكنك جلب مجموعة من البيانات في مرة واحد. جعفر
  10. يا سلام عليك اخوي خالد ، لازم تنهي الموضوع بلمسة لم تكن على البال 🙂 جعفر
  11. وعليكم السلام 🙂 هل كلامك في نفس الكمبيوتر ، وإلا عن طريق الشبكة؟ جعفر
  12. وفي سطر واحد للاستعلام 🙂 Bobus: iif(int([A]) = [A] ; [A] ; 0) جعفر
  13. اذن ، اي رقم يكون عشري ، تريد النتيجة = 0 استخدم: A = (10 / 4) if int(A) = A then Bonus = A else Bonus = 0 end if جعفر
  14. اذا تريد 4.8 تجعلها 4 ، استخدم: int(4.8) جعفر
  15. من واقع بياناتك ، استخدم احدهم كمثال ، واخبرني القيمة الان ، والقيمة اللي تريدها ، مع اسماء الحقول الموجودة لوسمحت 🙂 جعفر
  16. همممم ، السؤال ظاهرا سهل الاجابة عليه ، ولكني اشم ان له بقية رجاء تعطينا شوية امثلة علشان نقدر نساعدك بطريقة افضل 🙂 جعفر
  17. وعليكم السلام 🙂 رجاء وضع سؤال واحد في كل موضوع ، فقوانين المنتدى لا تسمح بأكثر من سؤال في موضوع !! عند إضافة مادة عن طريق النموذج add_ietem ، فيتم حفظ البيانات في الجدول tabl1 ، صحيح يوجد رقم خاص لكل صنف (الحقل d_f) ، ولكن لا يوجد اسم موحد لكل صنف ، فلا يمكن القيام بجمع المادة !! واذا اردت الجمع باسم الصنف ، فالمادة الجديدة قد تكون قيمتها غير عن السابقة !! ونموذج الفاتورة farey2 يحفظ بياناته في جدول tabl2 ، ويأخذ اول سعر بيع لإسم الصنف. لازم تعيد النظر في استعمال البرنامج ، فالظاهر انها ليست النسخة الاخيرة !! جعفر
  18. وعليكم السلام 🙂 رجاء مراعاة قوانين المنتدى في جعل اسم الموضوع له علاقة بمحتوى السؤال 🙂 هذه دالة موجودة في مساعد الاكسس ، وتم التغيير عليها لتتناسب مع طلبك: Public Function YMDDif4(sDate1, sDate2) On Error GoTo err_YMDDif4 'sDate1 earliest date 'sDate2 later date Dim dInterim1 As Date iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay M = iMonth Mod 12 Y = iMonth \ 12 'YMDDif4 = CStr(Y) & " Years " & CStr(M) & " months " & CStr(D) & " days" YMDDif4 = CStr(Y) & " س/" & CStr(M) & " ش/" & CStr(D) & " ي" Exit Function err_YMDDif4: If Err.Number = 94 Then 'ignor, null Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function نناديها: Me.lbl_Age.Caption = YMDDif4(Old date , New Date) وللتاريخين اعلاه Me.lbl_Age.Caption = YMDDif4("06/03/2018", "31/10/2019") ونتيجة التاريخين اعلاه كان: 1 س/7 ش/25 ي جعفر
  19. تفضل ، هذا الرابط به طلبك 🙂 جعفر
  20. السلام عليكم 🙂 بالاضافة الى ميزات الاكسس الشخصية ، فيه امكانية مخاطبة البرامج الاخرى بعدة طرق ، احدها عن طريق Command line ، بحيث يمكننا ان نرسل اوامر من الاكسس الى هذا البرنامج الذي يقبل الاوامر من Command line . البرنامج pdftk (في المرفق) احد هذه البرامج : https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ المرفق فيه برنامج اكسس وملف a.pdf و b.pdf ، وبزر من الاكسس ، سيتم دمج الملفين الى ملف ab.pdf ، وفي المرفق ملف الاوامر التي يقبلها برنامج pdftk . البرنامج يستطيع التعامل مع ملفات pdf بعدة طرق ، لذلك وجب قراءة ملف الاوامر 🙂 وهذا هو الكود: Private Sub cmd_combine_Click() 'Merge Two or More PDFs into a New Document 'pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf Dim pdftk_File As String Dim a_FILE As String Dim b_FILE As String Dim ab_FILE As String Dim Command_Line As String pdftk_File = Chr(34) & Application.CurrentProject.Path & "\" & "pdftk" & Chr(34) a_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "a.pdf" & Chr(34) b_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "b.pdf" & Chr(34) ab_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "ab.pdf" & Chr(34) Command_Line = pdftk_File & " " Command_Line = Command_Line & a_FILE & " " Command_Line = Command_Line & b_FILE & " " Command_Line = Command_Line & "cat output" & " " Command_Line = Command_Line & ab_FILE 'Debug.Print Command_Line Shell_n_Wait Command_Line, vbHide End Sub جعفر اعتقد عندي هذا الملف من سنة 2009 --------------------------------------------------------------- تعديل 31-10-2019 : - استخدام الوحدة النمطية Shell_n_Wait والتي تقبل حروف unicode - utf-8 ، من https://github.com/xxdoc/vb6-Shell-Wait/blob/master/Shell %26 Wait v2/modShellWait.bas http://www.vbforums.com/showthread.php?700373-VB6-Shell-amp-Wait&p=4288285&viewfull=1#post4288285 - تم تغليف مسار الملفات بالاشارة " ، وذلك لحل مشكلة وجود مسافات في اسم المسار او الملف ، - تم تفكيك خط الامر الى مكونات اصغر ، لسهولة تغيير اي جزء منه. --------------------------------------------------------------- تعديل 15-01-2023 : يمكننا استعمال الاسم القصير Short FileName للتغلب على مشكلة اللغة العربية في استعمال هذا البرنامج 🙂 يصبح الكود: Private Sub cmd_combine_Click() On Error GoTo err_cmd_combine_Click: 'Merge Two or More PDFs into a New Document 'pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf Dim pdftk_File As String Dim a_FILE As String Dim b_FILE As String Dim ab_FILE As String Dim Command_Line As String pdftk_File = Chr(34) & Application.CurrentProject.Path & "\" & "pdftk" & Chr(34) 'File 'a_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "a.pdf" & Chr(34) a_FILE = Chr(34) & get8_3FullFileName(1, Application.CurrentProject.Path & "\" & "ملف1" & "\" & "a.pdf") & Chr(34) b_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "b.pdf" & Chr(34) 'Folder 'ab_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "ab.pdf" & Chr(34) ab_FILE = get8_3FullFileName(2, Application.CurrentProject.Path & "\" & "المجلد النهائي") & "\" & "ab.pdf" Kill ab_FILE ab_FILE = Chr(34) & ab_FILE & Chr(34) Command_Line = pdftk_File & " " Command_Line = Command_Line & a_FILE & " " Command_Line = Command_Line & b_FILE & " " Command_Line = Command_Line & "cat output" & " " Command_Line = Command_Line & ab_FILE 'Debug.Print Command_Line Shell_n_Wait Command_Line, vbHide Exit_cmd_combine_Click: Exit Sub err_cmd_combine_Click: If Err.Number = 53 Then 'file not for for deletion Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_cmd_combine_Click End If End Sub . وهذه الدالة التي يتم مناداتها لتغيير المسار الى 8.3 Function get8_3FullFileName(F_or_F As Integer, ByVal sFullFileName As String) As String ' ' Convert the normal path to the old DOS 8.3 path ' this solves the problem of spaces in the path ' and reading Unicode names ' ' F_or_F : File or Folder ' 1= File ' 2= Folder ' Dim FSO As Object: Set FSO = CreateObject("Scripting.FileSystemObject") If F_or_F = 1 Then get8_3FullFileName = FSO.GetFile(sFullFileName).ShortPath Else get8_3FullFileName = FSO.GetFolder(sFullFileName).ShortPath End If Debug.Print "Original File Path: " & sFullFileName Debug.Print "8.3 File Path: " & get8_3FullFileName End Function . والمرفق Combine_PDF_Files_83.zip فيه المثال اعلاه 🙂 Combine_PDF_Files_2.zip pdftk_2.02.zip Combine_PDF_Files_83.zip
  21. هذا كود لفتح ملف pdf موجود في مجلد السنة ، عن طريق برنامج الاكروبات. اذن انت سحبت اوراق من الاسكنر ، وتريد ان تضيف هذه الاوراق على الملف اعلاه؟ جعفر
  22. وعليكم السلام 🙂 اذا الزر الموجود في برنامج اكسس مفتوح المصدر ، فنعم ممكن عمل ذلك 🙂 جعفر
  23. وعليكم السلام 🙂 شوف هذا الرابط جعفر
  24. وانا اضم صوتي الى صوت الشباب ، وفي انتظار ردك اخي محمد 🙂 آن الاوان ان نرى جواهر الافكار تلمع جنب بعضها البعض 🙂 جعفر
×
×
  • اضف...

Important Information