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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. بالانجليزي هو On Dirty ومعناه عندما تقوم بعمل تغيير في قيمة/بيانات الحقل (او قيم السجل ، اذا استخدمت الحدث في اعدادات النموذج) ، هذا الرابط به معلومة مفصله . و جعفر
  2. السلام عليكم اخي حمدي 🙂 لا انصح بهذا العمل ، فعند كشف الايميل ورقم الهاتف في المنتدى المفتوح ، فهذا يعرض صاحبه الى استلامه الى رسائل تخريبية واتصالات هو في غنى عنها !! جعفر
  3. وعليكم السلام 🙂 كانت لي محاولة هنا ، قد تستفيد منها جعفر
  4. يا هلا ومرحبا jo 🙂 الخطوتين: 1. الالتزام بالقائمة: نعم ، 2. حدث "عند عدم الوجود في القائمة" ، وتضع هذا الكود Private Sub Combo0_NotInList(NewData As String, Response As Integer) MsgBox "لابد من الاختيار من القائمة" Response = acDataErrContinue Me.Combo0.Undo End Sub . وتستطيع الحصول على هذا الكود وغيره من مساعد الاكسس: . جعفر
  5. السلام عليكم😊 اخوي ابو أحمد كفيت ووفيت، وفي الواقع وبعد عدة من استفسارات اخونا nssj، كنت اعتقد بأنك ستتوقف، ولكنك كنت تبهرني بإجابة وكود أفضل من سالفها، فهذا عهدنا بك، شكرا جزيلا😊 اخوي rockjones33 لك أسلوب غير متعارف عليه في الرد، فما شاء الله عليك مشرّق ومغرّب في نفس اللحظة، لهذا السبب وبسهولة ممكن الواحد يفهمك غلط، وخصوصا ان كلامك وامثلتك غير محددة الاتجاه، وأنا شخصيا ماني ملحق عليك🤔 اعتقد انكم جميعا توجهون كلامكم لصاحب السؤال، واتمنى من اخوي rockjones33 صياغة ردودة بطريقة مفهومه لنا 😊 جعفر
  6. السلام عليكم😊 واهنئك أخي المهندس @Eng.Qassim على هذه الترقية، واهلا وسهلا بك معنا من جديد😊 جعفر
  7. السلام عليكم 🙂 اخونا @سامي الحداد له صولات في المواضيع ، و ردود موفقة ، فأهلا وسهلا به خبيرا بيننا 🙂 ولايزال البحث مستمر لترقية بقية الاعضاء 🙂 جعفر
  8. اخي الفاضل 🙂 كان قصدي بانني ما قادر اتتبع الخطوات للوصول لمشكلتك ، فرجاء تساعدنا علشان نساعدك 🙂 انت صاحب الموضوع ، فرجاء اخذ من وقتك واعمل مرفق آخر فيه بيانات ، ومن واقع مرفقك وبياناتك وحقولك اخبرنا ماذا تريد ان يحدث لأي معلومة ، وكيف يجب ان تكون الصورة النهائية للبيانات 🙂 جعفر
  9. انا اشتريت نسخة مايكروسوفت اوفيس 2021 Pro Plus الذي يحتوي على مايكروسوفت اكسس بمبلغ 39.99$ يعني حوالي 40$ من هنا : https://store.techspot.com/sales/microsoft-office-professional-plus-2021-for-windows?utm_source=techspot.com&utm_medium=referral&utm_campaign=microsoft-office-professional-090922 جعفر
  10. وعليكم السلام ورحمة الله وبركاته 🙂 ولا واحد من القائمة اعلاه موجود في ملفك ، فلا نستطيع مساعدتك !! ويجب عليك اعادة النظر في جدولك ، ويجب تقسيمه الى جدولين او ثلاثة تحتوي جميعها على الحقل EmpCode ، ثم ربط الجداول بحقل EmpCode في استعلام ، وعرض النتائج التي تريدها 🙂 وإلا : 1. جدولك سيكون بطيء لما تصبح البيانات التي به تتعدى 10 الآف سجل ، 2. لن يمكنك ادخال بيانات في جميع الحقول ، فمجموع حروف اي سجل في جدول لا تتعدى 4000 حرف ، واليك هذه المعلومة من مايكروسوفت: . من اعدادات الجدول هنا: . جعفر
  11. شكرا جزيلا على النسخة جعفر
  12. السلام عليكم 🙂 انزلت المرفقين ، ولكن الشجرة ما اشتغلت عندي 🙂 بس الحمدلله تجاربي السابقة افادتك 🙂 وما العيب في هذا الكود ، فهو الاسرع في جلب البيانات 🙂 ولكن تأكد في نهاية الكود ان تفرغ الذاكرة العشوائية من هذه البيانات عن طريق: rst.close: set rst=nothing جعفر
  13. السلام عليكم 🙂 انا استخدم هذه الوحدة النمطية: Option Compare Database Option Explicit '--------------------------------------------------------------------------------------- ' Procedure : EnableArrowsScroll ' Author : Daniel Pineault, CARDA Consultants Inc. ' Website : http://www.cardaconsultants.com ' Purpose : Enable using the up and down arrows to move between records on a ' continuous form ' Req'd Refs: None ' The Form's Key Preview property must be set to True for this code to work. ' ' Input Variables: ' ~~~~~~~~~~~~~~~~ ' iKeyCode : Keycode from the source form from the KeyDown event ' frm : form object to apply the new behavior to ' ' Usage: ' ~~~~~~ ' KeyCode = EnableArrowsScroll(KeyCode, Me) 'This is placed in the KeyDown event ' 'Dont forget to set the Key Preview property to Yes ' ' Revision History: ' Rev Date(yyyy/mm/dd) Description ' ************************************************************************************** ' 1 2011-07-07 Initial Release ' 2 2017-04-08 Added DefaultView check '--------------------------------------------------------------------------------------- Public Function EnableArrowsScroll(ByVal iKeyCode As Integer, frm As Access.Form) As Integer On Error GoTo Error_Handler If frm.DefaultView = 1 Then 'Only process for Continuous forms Select Case iKeyCode Case vbKeyDown ' If CurrentRecord <> RecordsetClone.RecordCount Then 'Restrict to existing records If frm.NewRecord = False Then 'Allow going to new record for data entry DoCmd.GoToRecord , , acNext End If EnableArrowsScroll = 0 Case vbKeyUp If frm.CurrentRecord <> 1 Then DoCmd.GoToRecord , , acPrevious End If EnableArrowsScroll = 0 Case Else EnableArrowsScroll = iKeyCode End Select Else EnableArrowsScroll = iKeyCode End If Error_Handler_Exit: On Error Resume Next If Not frm Is Nothing Then Set frm = Nothing Exit Function Error_Handler: If Err.Number <> 2105 Then MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: EnableArrowsScroll" & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" End If Resume Error_Handler_Exit End Function . وتناديها على حدث "الزر الاسفل" للنموذج ، هكذا Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error GoTo Error_Handler KeyCode = EnableArrowsScroll(KeyCode, Me) Error_Handler_Exit: On Error Resume Next Exit Sub Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: Form_KeyDown" & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" Resume Error_Handler_Exit End Sub . جعفر 1532.UseArrow.mdb.zip
  14. والاهم ان المستخدم ما يرجع للمبرمج لما يريد اضافة او تغيير في النصوص 🙂 جعفر
  15. اتفق مع اخي موسى 🙂 ولكن الافضل عمل جدول وادخال هذه البيانات (وغيرها في المستقبل) في حقل ، وحقل آخر للرقم ، ومن ثم استخدام الاستعلام او دالة لقراءة النصوص وتحويلها لارقام 🙂 جعفر
  16. وعليكم السلام 🙂 هناك عدة مواضيع تناقش طلبك ، فالبحث في المنتدى سيعطيك الكثير من النتائج ، اليك احدها جعفر
  17. كفيت ووفيت ، شكرا جزيلا 🙂 الآن مشاركتك اصبحت مرجع للاعضاء 🙂 جعفر
  18. ياريت تكمل جميلك وتخبرنا عن "الملف" اللي حل مشكلتك ، علشان اللي تكون عنده المشكلة يعرف الحل مباشرة 🙂 جعفر
  19. طريقة اخوي ابوبسملة صحيحة اذا كان الحقلين D و M ارقام ، وإلا اليك الطريقة اللي في الرابط اعلاه : dim myWhere as string myWhere="[D] =" & rs!degree1 'اذا الحقل رقم 'myWhere="[D] ='" & rs!degree1 & "'" 'اذا الحقل نص myWhere= myWhere & " and " myWhere=myWhere & "[M]=" & rs!step1 'اذا الحقل رقم 'myWhere=myWhere & "[M]='" & rs!step1 & "'" 'اذا الحقل نص rs!NewAsmi = DLookup("[R]", "Ratib_Tb", myWhere) . وبهذه البساطة تقدر تعمل الامر Dlookup بدون اخطاء 🙂 وطبعا اذا استخدمت نموذج ولد بلادك موسى في هذا الموضوع ، فهو تلقائيا يعرف العلوم ويضبط امورك 🙂 جعفر
  20. يا ابو احمد ، خليتني انط من على الكرسي وانا اقول بسم الله ما شاء الله واصلي على النبي ، على هذاالسطر الجميل ، وبعد رسائل الخطأ ، اكتشفت انك تنادي الدالة DialogColor ، بس نسيت ترفقها لنا 😁 'https://www.devhut.net/vba-choosecolor-api-x32-x64/ #If VBA7 Then Private Type ChooseColor lStructSize As Long hwndOwner As LongPtr hInstance As LongPtr rgbResult As Long lpCustColors As LongPtr flags As Long lCustData As LongPtr lpfnHook As LongPtr lpTemplateName As String End Type #Else Private Type ChooseColor lStructSize As Long hwndOwner As Long hInstance As Long rgbResult As Long lpCustColors As Long flags As Long lCustData As Long lpfnHook As Long lpTemplateName As String End Type #End If Private Const CC_ANYCOLOR = &H100 'Private Const CC_ENABLEHOOK = &H10 'Private Const CC_ENABLETEMPLATE = &H20 'Private Const CC_ENABLETEMPLATEHANDLE = &H40 Private Const CC_FULLOPEN = &H2 Private Const CC_PREVENTFULLOPEN = &H4 Private Const CC_RGBINIT = &H1 'Private Const CC_SHOWHELP = &H8 'Private Const CC_SOLIDCOLOR = &H80 #If VBA7 Then Private Declare PtrSafe Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As ChooseColor) As Long #Else Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As ChooseColor) As Long #End If Public Function DialogColor(Optional lDefaultColor As Variant) As Long Dim CC As ChooseColor Dim lRetVal As Long Static CustomColors(16) As Long 'Some predefined color, there are 16 slots available for predefined colors 'You don't have to defined any, if you don't want to! CustomColors(0) = RGB(255, 255, 255) 'White CustomColors(1) = RGB(0, 0, 0) 'Black CustomColors(2) = RGB(255, 0, 0) 'Red CustomColors(3) = RGB(0, 255, 0) 'Green CustomColors(4) = RGB(0, 0, 255) 'Blue With CC .lStructSize = LenB(CC) .hwndOwner = Application.hWndAccessApp .flags = CC_ANYCOLOR Or CC_FULLOPEN Or CC_PREVENTFULLOPEN Or CC_RGBINIT If IsNull(lDefaultColor) = False _ And IsMissing(lDefaultColor) = False Then .rgbResult = lDefaultColor 'Set the initial color of the dialog .lpCustColors = VarPtr(CustomColors(0)) End With lRetVal = ChooseColor(CC) If lRetVal = 0 Then 'Cancelled by the user DialogColor = RGB(255, 255, 255) ' White -> 16777215 Else DialogColor = CC.rgbResult End If End Function جعفر
  21. وعليكم السلام 🙂 هنا تلقى مجموعة من الحلول . والخطأ اللي يظهر لك معناه هناك خطأ في البحث في "نوع البيانات" ، وهنا ستجد طريقة سهلة بدون ان تخطأ جعفر
  22. وعليكم السلام 🙂 1. اضافة جميلة وملف صوت مميز ، والاحلى انك جمعت المرفقات في مجلد واحد 🙂 2. انا كذلك كنت مستغرب من هذا ، وبحثت ولم اصل الى نتيجة ، وبعدها جرّبت واقتنعت 🙂 وكذلك للتجربة ، 1. افتح برنامجك ، 2. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بان الوندوز حذفه ، 3. رجاء ارجاع المجلد Tools مرة اخرى ، باستعمال Ctrl + Z ، 4. افتح اي من النموذجين Up او Dn ، 5. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بأنك لا تستطيع حذفه ، لأن الوندوز يستعمل ملف الخط ، 6. اغلق النموذج الذي فتحته ، 7. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، وستجد ان الوندوز حذفه ، 8. رجاء ارجاع المجلد Tools مرة اخرى ، باستعمال Ctrl + Z ، من هنا نرى ، انه اذا كان الوندوز يستخدم ملف الخط ، فلن يحذف المجلد. 9. اعمل هذا التغيير على احد النموذجين Up او Dn ، Private Sub Form_Close() 'Call RemoveFonts(CurrentProject.Path & "\Tools\digital-7 (mono).ttf") Call RemoveFonts("digital-7 (mono).ttf") Call RemoveFonts("C:\Windows\Fonts\digital-7 (mono).ttf") End Sub 10. افتح النموذج ثم اغلقه ، 11. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بأنك لا تستطيع حذفه ، لأن الوندوز يستعمل ملف الخط ، من هنا عرفت انه لسبب ما 🙂 وللمحترفين ، هناك طريقة اخرى لمعرفة اذا قام الكود بحذف الخط من الوندوز ، باضافة Debug لمعرفة نتيجة عمل Api : 1 = تم حذف الخط ، 0 = لم يتم حذف الخط (ونلاحظ انه مرتين ، لأن الكود الاخير فيه حذف الخط من مسارين) : جعفر
  23. وعليكم السلام 🙂 هناك عدة محاولات هنا جعفر
  24. واذا تسمح لي اخوي ابو احمد ، بجعل البرنامج تلقائيا يستخدم الخط ويحذفه عند الخروج من البرنامج (استخدمت هذه الطريقة في احد برامجي في لخط الباركود 🙂 ) ، وعليه ، صورة نموذجك بالخط الصحيح سيكون . والوحدة النمطية لإضافة وحذف الخط Private Declare PtrSafe Function AddFontResource Lib "gdi32.dll" Alias "AddFontResourceA" ( _ ByVal lpFileName As String) As Long Private Declare PtrSafe Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" ( _ ByVal lpFileName As String) As Long ' Public Function AddFonts(Font_Name_Path As String) Dim result As Long result = AddFontResource(Font_Name_Path) 'MsgBox Result & " fonts added" End Function Public Function RemoveFonts(Font_Name_Path As String) Dim result As Long result = RemoveFontResource(Font_Name_Path) 'MsgBox Result & " fonts added" End Function . وننادي الاضافة عند فتح النموذج ، ثم ننادي الحذف عند اغلاق النموذج: Private Sub Form_Open(Cancel As Integer) Call AddFonts(CurrentProject.Path & "\Digital_Font\digital-7 (mono).ttf") End Sub Private Sub Form_Close() Call RemoveFonts(CurrentProject.Path & "\Digital_Font\digital-7 (mono).ttf") End Sub . مع مراعاة اني عملت مجلد للخط "digital-7 (mono).ttf" اسميته Digital_Font في مجلد البرنامج . جعفر StopWatch.zip
  25. وعليكم السلام 🙂 هذا الموضوع ممكن ينفعك جعفر
×
×
  • اضف...

Important Information