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

jjafferr

أوفيسنا
  • Posts

    9,756
  • تاريخ الانضمام

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

  • Days Won

    396

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

  1. هلا والله بأصحابنا شخباركم ، شعلومكم ، ان شاء الله في خير وعافية انا تطرقت لهذا الموضوع ، كجزئية من موضوع آخر ، ووضعت رابط للقائمة ascii code الحروف العربية ، هنا: http://www.officena.net/ib/index.php?showtopic=59183&p=393754 جعفر
  2. السلام عليكم أخي كريمو الجدول السابق tbl_Avoid تم إحالته الى التقاعد ، فلذلك فهو غير موجود في البرنامج ، العمل كله وببساطة في الجدول tbl_Loans اعمل قرض لكريمو ، وستلاحظ ان البرنامج عمل سجل كل شهر بطريقة مستقله في الجدول tbl_Loans ، قم بإعادة ترتيب الاقتطاع ، وعند الانتهاء من التنفيذ ، سترى ان السجلات في الجدول tbl_Loans تتمتشى مع التغيرات. رجاء تجربة هذه الخطوة ، لأن هذه الخطوة هي الاساس في البرنامج الان. أضف موظف آخر ، أضف نوع آخر من القروض للموظف ، ... الخطوات التاليه عليّ: 1. عندما يريد موظف تسديد اي مبلغ ، فيجب ان تخبرني كيف اقوم بالعمل ، الخطوات التاليه عليك: 1. عمل استعلام (ومن ثم تقرير) لحساب موعد دفع القروض ، والمتبقي منها ، 2. ان تعمل نفس الشئ بالنسبة لبقية القروض (اي استعمل الكود الذي عملناه لـ Cridi ، استعمله لـ Elect و بقية انواع القروض ، وطبعا انا معك للمساندة ) جعفر 11.3.FrmDiscountReport.mdb.zip
  3. السلام عليكم ولد بلادي ادري ما سويلك سالفة ، بس السموحة التواريخ اللي انا علّمتها بالاحمر ، كيف نحسبها؟ انت عندك في النموذج: التاريخ من ، والتاريخ الى ، فكيف نحسبها ، او من اي حقل نأخذها؟ جعفر
  4. وعليكم السلام انظر الى هذا الرابط ، فهو مشابه لسؤالك: http://www.officena....showtopic=60971 واذا عندك سؤال لاحقا ، فنحن في الخدمة جعفر
  5. وعليكم السلام انظر الى هذا الرابط ، فهو مشابه لسؤالك: http://www.officena.net/ib/index.php?showtopic=60971 جعفر
  6. تفضلي انا عملت الاستعلام qry_Main ، واللي النمذج الاساسي يعتمد عليه. طريقة العمل: 1. عند اختيار اي لوحة من القائمة المنسدلة ، فالنموذج يعطي سجل هذه اللوحة ، 2. وعندما تريدين جميع اللوحات ، انقري على القائمة المنسدلة مرتين Double click جعفر 68.قاعدة بيانات السيارات.accdb.zip
  7. حيا الله أخوي 1. لأن كان فيه شوية اشياء تعقد عمل البرنامج ، واشياء ما ممكن تشغل البرنامج ، مثل انك جعلت حقل ID غير مسموح تكراره في الجدول ADS (قلت في خاطري: يا حظهم الطلبة ، يقدر الواحد فيهم يتأخر كل يوم ، بس يتسجل عليه تأخير يوم واحد فقط في السنة ) ، 2. كل شئ يصير ، بس لما يكون عندك اكثر من 1000 طالب ، فيا الله الله يمديك تسجل حضورهم ، وتريد في نفس الوقت تسجل معلوماتهم كذلك!!! 3. في مشاركتي السابقة ، شوف الكود اللي عليه مربع احمر رقم 1 ، احذف اشارة ' من امام كل سطر ، وبيشتغل الكود ان شاء الله جعفر
  8. افتح الكود ، وابحث عن: bmp وسترى الاسم الباحث جعفر
  9. حياك الله أخوي أبوخليل حيا الله أخوي أبو يزن 1. انا جاد في كل كلمة قلتها ، فمعناه ان هناك من يستطيع ان يحصل على ما يريد ، بغض النظر عن اي نوع من انواع الحمايات اللي بتعملها ، سواء للأكسس او اي برنامج آخر 2. نعم لا يمكن التعديل عليه ، فيجب عليك الاحتفاظ بالنسخة المفتوحة المصدر لعمل التغييرات ، ثم قفلها الى mde او accde 3. ابحث في المنتدى ، وستجد المطلوب ، لأن هذا الموضوع مب تخصصي ، فما افهم فيه الكفاية (وكذلك انا جاد ، رحم الله إمرئ عرف قدر نفسه ) الجاد جعفر
  10. وعليكم السلام حول البرنامج الى mde او accde بالطريقة هذه ، غير ممكن الحصول على الكود (لقسم منا ) ، وشفّر بيانات الجداول ، فحتى لو استطاعوا الوصول لداخل البرنامج (قسم منا ) ، فلن يستفيدوا من البيانات ، جعفر
  11. وعليكم السلام أستاذنا الفاضل / الجندبي (بس ان شاء الله كتبت اسمك صح ) انا غيرت في البرنامج ، يعني عندك برنامج جديد النموذج: في الخانة الخضراء تدخل رقم الباركود ، ولما تطلع من الحقل (يعني تضغط على TAB او Enter في لوحة المفاتيح) ، تظهر لك معلومات الطالب في النموذج الرئيسي ، وكذلك تحصل على سجلات الطالب القديمة في النموذج الفرعي. حفظ معلومة الحضور: عندك طريقتين لحفظ المعلومة: 1. عندما تدخل رقم الباركود في الخانة الخضراء ، ولما تطلع من الحقل (يعني تضغط على TAB او Enter في لوحة المفاتيح) ، او 2. عند النقر على زر الحفظ. حاليا البرنامج يحفظ المعلومة عن طريق النقر على زر الحفظ. وإحنا في الخدمة جعفر 66.BarcodeStudent.accdb.zip
  12. أخي ابو يزن طرشت لك الرسالة السابقة من هاتفي ، فما فيه خاصية المنتدى العادي ، لذلك طلعت الكتابة بالمقلوب المفروض ان المبرمج يكون يكتب الاسم وبطريقة مباشرة ، مثل: أبو يزن ، بدل ما يكتب أ ب و ي ز ن ، او يكتب ارقام الحروف (القائمة التي وضعها اخينا أبا عمر ascii table ، وانظر في الاسفل) ، مثل: AppDesigner="أبو يزن" ولكن اذا اراد المبرمج ان يتحاشى الحروف العربية في الكود (قد يكون السبب لأن بعض اعدادات الكمبيوترات تحولها الى علامات استفهام ؟؟؟؟ ) ، فانه سيضطر الى استعمال ارقام الحروف ! مثل: لاحظ في الاكسس ، لما تريد تعمل زر لنموذج اسمه بالعربي (مثل أبو يزن) ، فالاكسس يعمل هذا الكود: docmd.openform chr(195) & chr(200) & chr(230) & chr(32) & chr(237) & chr(210) & chr(228) بدل عن الامر المتعارف: docmd.openform "أبو يزن" '- '- والان وبعد هذه المقدمة عملت لك كود صغير يغير الاسم من حروف الى ارقام: a = "أبو يزن" b = "" c = "" For I = 1 To Len(a) c = c & Mid(a, I, 1) & "=" & Asc(Mid(a, I, 1)) & " , " b = b & "chr(" & Asc(Mid(a, I, 1)) & ") & " Next I c = Mid(c, 1, Len(c) - 3) b = Mid(b, 1, Len(b) - 3) Debug.Print c Debug.Print b والنتيجة (السطر الاول للعلم فقط ، بينما السطر الثاني هو الذي يحتوي على الكود): أ=195 , ب=200 , و=230 , =32 , ي=237 , ز=210 , ن=228 chr(195) & chr(200) & chr(230) & chr(32) & chr(237) & chr(210) & chr(228) يعني بدل ما تكتب اسمك بهذه الطريقة: AppDesigner="أبو يزن" اكتبه: AppDesigner=chr(195) & chr(200) & chr(230) & chr(32) & chr(237) & chr(210) & chr(228) والجدول اللي أخوي ابا عمر تركه لنا هو للحروف اللاتينية فقط ، والرابط فيه جدول للغة العربية كذلك: http://www.ascii.ca/cp864.htm جعفر
  13. عزيز وغالي أخوي أبو عبير ولو إحنا في الكثير من الاوقات مقصرين جعفر
  14. اخوي أبو يزن جرب: AppDesigner="أبو يزن" بدل السطر اللي يبدا بـAppDesigner جعفر
  15. حياك الله أخوي محمد وجزاك الله من فضل رحمته جعفر
  16. وحيا الله الشباب أخوي رمهان وأخوي محمد وأخوي أبوآلآء وشكرا على لطيف كلماتكم جعفر
  17. السلام عليكم 1. من المعروف ان تنسيق النص في مربع القائمة ListBox هو من اليسار الى اليمين ، مشكلة كانت تصادفني دائما ، وهو تنسيق القيم في مربع القائمة لتكون من اليمين الى اليسار بالنسبة للغة العربية (طريقة تغيير مربع القائمة الى مربع تحرير ونص ، ثم عمل التنسيق عليه من اليمين الى اليسار ، ثم اعادته الى مربع قائمة لا يعمل معظم الوقت) ، موقع http://www.lebans.com والذي يحتوي على مالذ وطاب عنده طريقه لهذا التنسيق: http://www.lebans.com/justicombo.htm كذلك. 2. ونفس المشكلة مع موضوع تنسيق الشجرة TreeView من اليمين الى اليسار. النتيجة: و وطريقة العمل ، يوضع هذا الكود في وحدة نمطية: Option Compare Database Option Explicit #If VBA7 And Win64 Then '64 bits Public Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As Long Public Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare PtrSafe Function InvalidateRect Lib "user32" (ByVal hwnd As LongPtr, lpRect As Long, ByVal bErase As Long) As Long Public Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As LongPtr, ByVal hWnd2 As LongPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPtr Public Declare PtrSafe Function GetFocus Lib "user32" () As LongPtr Public Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal wCmd As Long) As LongPtr Dim hwnd As LongPtr #Else '32 bits Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Public Declare Function GetFocus Lib "user32" () As Long Public Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long Dim hwnd As Long #End If Public Const GW_CHILD = 5 Public Const WS_EX_LAYOUTRTL = &H400000 Public Const GWL_EXSTYLE = (-20) Function RTL_Set(frm As Form, ctl As Control) Dim varHwnd As Variant Dim OldLong As Long frm.SetFocus ctl.SetFocus varHwnd = GetFocus() OldLong = GetWindowLong(varHwnd, GWL_EXSTYLE) SetWindowLong varHwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL InvalidateRect hwnd, 0, False End Function Function RTL_SetTree(frm As Form, ctl As Control) Dim OldLong As Long OldLong = GetWindowLong(ctl.hwnd, GWL_EXSTYLE) SetWindowLong ctl.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL InvalidateRect hwnd, 0, False End Function ' ' From http://www.microsoft.com/middleeast/msdn/faq.aspx ' 'Place OnLoad of the Form ' Dim OldLong As Long 'For Form ' OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE) ' SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For List ' OldLong = GetWindowLong(List1.hwnd, GWL_EXSTYLE) ' SetWindowLong List1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For The StatusBar ' OldLong = GetWindowLong(StatusBar1.hwnd, GWL_EXSTYLE) ' SetWindowLong StatusBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For TreeView ' Dim nodX As Node ' Set nodX = TreeView1.Nodes.Add(, , "R", "Root") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Child 1") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C2", "Child 2") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C3", "Child 3") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C4", "Child 4") ' nodX.EnsureVisible ' OldLong = GetWindowLong(TreeView1.hwnd, GWL_EXSTYLE) ' SetWindowLong TreeView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ListView ' OldLong = GetWindowLong(ListView1.hwnd, GWL_EXSTYLE) ' SetWindowLong ListView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ProgressBar ' ProgressBar1.Value = 50 ' OldLong = GetWindowLong(ProgressBar1.hwnd, GWL_EXSTYLE) ' SetWindowLong ProgressBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ToolBar ' mhwnd = GetWindow(Toolbar1.hwnd, GW_CHILD) ' OldLong = GetWindowLong(mhwnd, GWL_EXSTYLE) ' SetWindowLong mhwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False في اسفل الكود انا تركت الكود لبقية الاشياء اللي يمكن عملها من اليمين الى اليسار. اما تنفيذ التنسيق لمربع القائمة ، فهو وضع هذا الكود عند تحميل النموذج الذي يحتوي على هذا المربع (وهنا اسم حقل مربع القائمة هو List0_RTL ) : 'ListBox RTL Call RTL_Set(Me, List0_RTL) وتنسيق الشجرة ، فهو وضع هذا الكود عند تحميل النموذج الذي يحتوي على الشجرة (وهنا اسم الشجرة هو TreeView1) : 'TreeView RTL Call RTL_SetTree(Me, TreeView1) وللأمانة العلمية ، فاني استخدم قاعدة البيانات التي وضعها الاخ محمد في الرابط: http://www.officena.net/ib/index.php?showtopic=60781 جعفر تعديل 1: 18-11-2021 ، جعل البرنامج يعمل على النواتين 32بت و 64 بت 54.RTL_TreeView_ListBox_32bits_n_64bits.accdb.zip
  18. السلام عليكم أخوي أبا عمر حيله جميلة باستخدام SetWindowPos إحنا بسبب طريقة السؤال كنا نحاول ان نخفي شاشة الاكسس ، بس انت ماشاء الله عليك ، نظرت للموضوع من خارج العلبة ، وحصلت على مفهوم أكبر وطرق اخرى للحل ، هنيئا لك هذه القدرة وللعلم ، راعي الغنم في مشاركته رقم 84 لمح لهذا الشي نظريا ، ولم يطبقه برمجيا ، وانت سبقته ففيك الخير جعفر
  19. تفضل وكما قال الاخ عبدالله ، Application.followhyperlink يستطيع ان يفتح قاعدة بيانات اخرى ، مثل ما في موضوعك الاصلي عن هذا السؤال: http://www.officena.net/ib/index.php?showtopic=60818&p=393534 جعفر
  20. وعليكم السلام لو كنت مخبرنا من البداية قصدك ، كنا اعطيناك الحل من البداية والكود هو: myApp = Me.txtOpenFile 'myApp = "F:\Temp\myDatabase.mdb" 'Shell myApp, 1 Application.FollowHyperlink myApp اما مربع النص ، فيمكنك ان تكتب فيه المسار يدويا كذلك ، مع اني اضفت امكانية فتح ملفات الاكسس كذلك. جعفر 53-Word_Print.zip
  21. وعليكم السلام أخي كريمو محتاج شوية وقت وارجع لك ان شاء الله جعفر
  22. أخي الفاضل استعمل السطرين اللي في منتصف الكود ، وخبرني النتيجة: ' End If Me.txtname = Node.Parent Me.txtSon = Node.FirstSibling On Error Resume Next Debug.Print "node.Child; " & Node.Child جعفر
×
×
  • اضف...

Important Information