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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام 🙂 اخي بشار ، اجعل عملية البحث اهم صديق لك في المنتدى ، فستحصل على اجابات سنين ، بدل انتظار الردود على موضوعك 🙂 جعفر
  2. وعليكم السلام 🙂 للأسف ، مايكروسوفت لم تقم بتحديث الكثير من الاشياء في اكسس ، وهذه من ضمنها ، مثلها مثل الصور التي على الازرار ، فلا تستطيع تغيير حجمها !! لهذا السبب يقوم المبرمجين باللف على هذا القصور بطرق اخرى ، مثل محاولات اخي موسى في مرفقه 🙂 جعفر
  3. انت محتاج ترك مسافة بين كلمتين في كودك ، وتعديل كلمة كندا (بالانجليزي يا مرسي 😁) جرب هذا الكود ، واخبرنا بالنتيجة في اسفل صفحة الكود : Private Sub Form_Open(Cancel As Integer) debug.print LanguageName & " (" & CountryName & ")" If LanguageName & " (" & CountryName & ")" <> "English (Canada)" Then MsgBox "يرجى تغير اللغه لــ English(Canda)" End If End Sub جعفر
  4. بدل الرسالة الحالية ، اعمل الرسالة اللي تريدها 🙂 جعفر
  5. السلام عليكم اخي عمار 🙂 1. بهذا البرنامج ، هل استطعت ان تعرف كلمة سر محرر الاكواد VBE لنفس البرنامج ؟ 2. كلمة سر دخول البرنامج بصيغة mdb كان يمكن الوصول اليه بعدة برامج على الانترنت ، وقد يكون البرنامج الذي ارفقته انت احدهم ، ولكن لا يمكنك الوصول الى كلمة سر دخول البرنامج بصيغة accdb 🙂 فهل البرنامج لإكتشاف كلمة سر دخول البرنامج ، او الدخول في محرر الاكواد VBE ؟ جعفر
  6. وعليكم السلام 🙂 تفضل ، هذا الرابط به طريقة ، وبه رابط لطريقة اخرى . جعفر
  7. السلام عليكم 🙂 مع اعتذاري للشباب ، فلم القي نظرة على مرفقاتكم 🙂 احفظ هذه الدالة باسم mod_Regional_Settings_info : Option Compare Database Option Explicit ' This code was originally written by Dev Ashish. ' It is not to be altered or distributed, ' except as part of an application. ' You are free to use it in any application, ' provided the copyright notice is left unchanged. ' ' Code Courtesy of ' Dev Ashish ' Public Const LOCALE_ILANGUAGE = &H1 ' language id Public Const LOCALE_SLANGUAGE = &H2 ' localized name of language Public Const LOCALE_SENGLANGUAGE = &H1001 ' English name of language Public Const LOCALE_SABBREVLANGNAME = &H3 ' abbreviated language name Public Const LOCALE_SNATIVELANGNAME = &H4 ' native name of language Public Const LOCALE_ICOUNTRY = &H5 ' country code Public Const LOCALE_SCOUNTRY = &H6 ' localized name of country Public Const LOCALE_SENGCOUNTRY = &H1002 ' English name of country Public Const LOCALE_SABBREVCTRYNAME = &H7 ' abbreviated country name Public Const LOCALE_SNATIVECTRYNAME = &H8 ' native name of country Public Const LOCALE_IDEFAULTLANGUAGE = &H9 ' default language id Public Const LOCALE_IDEFAULTCOUNTRY = &HA ' default country code Public Const LOCALE_IDEFAULTCODEPAGE = &HB ' default code page Public Const LOCALE_SLIST = &HC ' list item separator Public Const LOCALE_IMEASURE = &HD ' 0 = metric, 1 = US Public Const LOCALE_SDECIMAL = &HE ' decimal separator Public Const LOCALE_STHOUSAND = &HF ' thousand separator Public Const LOCALE_SGROUPING = &H10 ' digit grouping Public Const LOCALE_IDIGITS = &H11 ' number of fractional digits Public Const LOCALE_ILZERO = &H12 ' leading zeros for decimal Public Const LOCALE_SNATIVEDIGITS = &H13 ' native ascii 0-9 Public Const LOCALE_SCURRENCY = &H14 ' local monetary symbol Public Const LOCALE_SINTLSYMBOL = &H15 ' intl monetary symbol Public Const LOCALE_SMONDECIMALSEP = &H16 ' monetary decimal separator Public Const LOCALE_SMONTHOUSANDSEP = &H17 ' monetary thousand separator Public Const LOCALE_SMONGROUPING = &H18 ' monetary grouping Public Const LOCALE_ICURRDIGITS = &H19 ' # local monetary digits Public Const LOCALE_IINTLCURRDIGITS = &H1A ' # intl monetary digits Public Const LOCALE_ICURRENCY = &H1B ' positive currency mode Public Const LOCALE_INEGCURR = &H1C ' negative currency mode Public Const LOCALE_SDATE = &H1D ' date separator Public Const LOCALE_STIME = &H1E ' time separator Public Const LOCALE_SSHORTDATE = &H1F ' short date format string Public Const LOCALE_SLONGDATE = &H20 ' long date format string Public Const LOCALE_STIMEFORMAT = &H1003 ' time format string Public Const LOCALE_IDATE = &H21 ' short date format ordering Public Const LOCALE_ILDATE = &H22 ' long date format ordering Public Const LOCALE_ITIME = &H23 ' time format specifier Public Const LOCALE_ICENTURY = &H24 ' century format specifier Public Const LOCALE_ITLZERO = &H25 ' leading zeros in time field Public Const LOCALE_IDAYLZERO = &H26 ' leading zeros in day field Public Const LOCALE_IMONLZERO = &H27 ' leading zeros in month field Public Const LOCALE_S1159 = &H28 ' AM designator Public Const LOCALE_S2359 = &H29 ' PM designator Public Const LOCALE_SDAYNAME1 = &H2A ' long name for Monday Public Const LOCALE_SDAYNAME2 = &H2B ' long name for Tuesday Public Const LOCALE_SDAYNAME3 = &H2C ' long name for Wednesday Public Const LOCALE_SDAYNAME4 = &H2D ' long name for Thursday Public Const LOCALE_SDAYNAME5 = &H2E ' long name for Friday Public Const LOCALE_SDAYNAME6 = &H2F ' long name for Saturday Public Const LOCALE_SDAYNAME7 = &H30 ' long name for Sunday Public Const LOCALE_SABBREVDAYNAME1 = &H31 ' abbreviated name for Monday Public Const LOCALE_SABBREVDAYNAME2 = &H32 ' abbreviated name for Tuesday Public Const LOCALE_SABBREVDAYNAME3 = &H33 ' abbreviated name for Wednesday Public Const LOCALE_SABBREVDAYNAME4 = &H34 ' abbreviated name for Thursday Public Const LOCALE_SABBREVDAYNAME5 = &H35 ' abbreviated name for Friday Public Const LOCALE_SABBREVDAYNAME6 = &H36 ' abbreviated name for Saturday Public Const LOCALE_SABBREVDAYNAME7 = &H37 ' abbreviated name for Sunday Public Const LOCALE_SMONTHNAME1 = &H38 ' long name for January Public Const LOCALE_SMONTHNAME2 = &H39 ' long name for February Public Const LOCALE_SMONTHNAME3 = &H3A ' long name for March Public Const LOCALE_SMONTHNAME4 = &H3B ' long name for April Public Const LOCALE_SMONTHNAME5 = &H3C ' long name for May Public Const LOCALE_SMONTHNAME6 = &H3D ' long name for June Public Const LOCALE_SMONTHNAME7 = &H3E ' long name for July Public Const LOCALE_SMONTHNAME8 = &H3F ' long name for August Public Const LOCALE_SMONTHNAME9 = &H40 ' long name for September Public Const LOCALE_SMONTHNAME10 = &H41 ' long name for October Public Const LOCALE_SMONTHNAME11 = &H42 ' long name for November Public Const LOCALE_SMONTHNAME12 = &H43 ' long name for December Public Const LOCALE_SABBREVMONTHNAME1 = &H44 ' abbreviated name for January Public Const LOCALE_SABBREVMONTHNAME2 = &H45 ' abbreviated name for February Public Const LOCALE_SABBREVMONTHNAME3 = &H46 ' abbreviated name for March Public Const LOCALE_SABBREVMONTHNAME4 = &H47 ' abbreviated name for April Public Const LOCALE_SABBREVMONTHNAME5 = &H48 ' abbreviated name for May Public Const LOCALE_SABBREVMONTHNAME6 = &H49 ' abbreviated name for June Public Const LOCALE_SABBREVMONTHNAME7 = &H4A ' abbreviated name for July Public Const LOCALE_SABBREVMONTHNAME8 = &H4B ' abbreviated name for August Public Const LOCALE_SABBREVMONTHNAME9 = &H4C ' abbreviated name for September Public Const LOCALE_SABBREVMONTHNAME10 = &H4D ' abbreviated name for October Public Const LOCALE_SABBREVMONTHNAME11 = &H4E ' abbreviated name for November Public Const LOCALE_SABBREVMONTHNAME12 = &H4F ' abbreviated name for December Public Const LOCALE_SABBREVMONTHNAME13 = &H100F Public Const LOCALE_SYSTEM_DEFAULT& = &H800 Public Const LOCALE_USER_DEFAULT& = &H400 Const cMAXLEN = 255 Private Declare PtrSafe Function apiGetLocaleInfo Lib "kernel32" _ Alias "GetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String, _ ByVal cchData As Long) As Long '''' Function CountryName() As String Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngX As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngX = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SCOUNTRY, strLCData, lngData) If lngX <> 0 Then CountryName = Left$(strLCData, lngX - 1) End If End Function '''' Function fLocaleInfo(lngLCType As Long) As String Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngX As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngX = apiGetLocaleInfo(LOCALE_USER_DEFAULT, lngLCType, _ strLCData, lngData) If lngX <> 0 Then fLocaleInfo = Left$(strLCData, lngX - 1) End If End Function Function fLOCALE_IMEASURE() As String ' 0 = metric, 1 = US Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngX As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngX = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_IMEASURE, _ strLCData, lngData) If lngX <> 0 Then fLOCALE_IMEASURE = Left$(strLCData, lngX - 1) End If End Function Function fListseparator() As String ' 'to use it 'cmb.AddItem fld.Name & fListseparator & iField_Caption ' Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngX As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngX = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLIST, strLCData, lngData) If lngX <> 0 Then fListseparator = Left$(strLCData, lngX - 1) End If End Function '''' Function LanguageName() As String Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngX As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngX = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SENGLANGUAGE, strLCData, lngData) If lngX <> 0 Then LanguageName = Left$(strLCData, lngX - 1) End If End Function '''' Function LocalizedLanguageName() As String Dim lngLocale As Long Dim strLCData As String, lngData As Long Dim lngX As Long strLCData = String$(cMAXLEN, 0) lngData = cMAXLEN - 1 lngX = apiGetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLANGUAGE, strLCData, lngData) If lngX <> 0 Then LocalizedLanguageName = Left$(strLCData, lngX - 1) End If End Function . وتناديه هكذا: if LanguageName & " (" & CountryName & ")" <> LocalizedLanguageName then msgbox "PC Language is : " & LocalizedLanguageName end if . جعفر
  8. اذا كان هذا الملف اللي انا ارفقته ، فنعم لا تستطيع ادخال قيمة (حقل كود الصنف مقفل) ، ولكن لما تدخل اسم الصنف ، تلقائيا تحصل على الرقم التالي 🙂 جعفر
  9. اخي ابوتمكين 🙂 في الواقع هذا الموضوع دسم ويحتوي على كل ماهو قانوني في حدود قوانين المنتدى ، مع المرفقات . فارجع للمشاركات وتمعّن فيها مرة اخرى 🙂 جعفر
  10. وعليكم السلام اخي عمر 🙂 انا متابع الموضوع اول بأول ، وبسبب اني لم استخدم شجرة الحسابات ، فلم اكتب اي مشاركة 🙂 جعفر
  11. شكرا اخوي ابو احمد ، نعم كلامك صحيح وفي محله ، اذا تم حذف اي صنف في المنتصف (ما عدا الصنف الاخير) ، فالارقام الجديدة ستكون خطأ 🙂 مثلا : 2001 2002 2003 وتم حذف السجل الذي به الرقم 2002 ، فالرقام الجديدة ستكون خطأ ، لأنها تعتمد على عدد السجلات ، ولا تقرأ آخر رقم. لذا لتصحيح هذا الوضع ، فالكودين التاليين سيجعلان تسلسل آخر صنف صحيح ، ولو تم حذف اي صنف في المنتصف ، والافضل استعمال الطريقة رقم 3 ، لأنها لا ترجع لأخذ البيانات من الجدول ، مثلا: 2001 2003 فيصبح آخر رقم 2004 : Private Sub Name_AfterUpdate() '1 DMax 'only work if the field is empty ' If Len(Me![Number] & "") = 0 Then ' Me![Number] = Nz(DMax("[Number]", "tblName", "[typeID]=" & Me.Parent!typeID), Me.Parent!typeID) + 1 ' End If '3 Recordset 'only work if the field is empty If Len(Me![Number] & "") = 0 Then If Me.Recordset.RecordCount = 0 Then Me![Number] = Me.Parent!typeID + 1 Else Me.RecordsetClone.MoveLast Me![Number] = CLng(Me.RecordsetClone("Number")) + 1 End If End If End Sub . جعفر
  12. في اعتقادي ، مشاركة أكثر من شخص في الرد على السؤال ، يفتق الاذهان ويدمج التجارب ويبلور الافكار وفائدة للجميع ، فمنه نتعلم الطرق الاخرى للإجابة على السؤال
  13. وين تجربتك علشان نساعدك في المكان اللي تةقفت فيه !! هذا المرفق هو نفس المرفق في مشاركتك الاولى !! على العموم ، وكما اخبرتك بأن هناك اكثر من طريقة ، تفضل 3 طرق لعمل الترقيم التلقائي للمواد : Private Sub Name_AfterUpdate() '1 DMax 'only work if the field is empty ' If Len(Me![Number] & "") = 0 Then ' Me![Number] = Nz(DMax("[Number]", "tblName", "[typeID]=" & Me.Parent!typeID), Me.Parent!typeID) + 1 ' End If '2 Dcount 'only work if the field is empty ' If Len(Me![Number] & "") = 0 Then ' Me![Number] = DCount("*", "tblName", "[typeID]=" & Me.Parent!typeID) + Me.Parent!typeID + 1 ' If Me![Number] = 0 Then ' Me![Number] = Me.Parent!typeID + 1 ' End If ' End If '3 Recordset 'only work if the field is empty If Len(Me![Number] & "") = 0 Then Me![Number] = Me.Recordset.RecordCount + Me.Parent!typeID + 1 End If End Sub جعفر 1518.Code.accdb.zip
  14. وعليكم السلام 🙂 في الواقع هناك عدة طرق لتنفيذ اي طلب في الاكسس ، وبالنظر الى طلبك ، فاخوي احمد اعطاك رابط الجواب العام والاسهل ، طبعا مع اختلاف اسماء الحقول والجدول ، وانت مبرمج وادرى بهذه الامور : . . ارفق لنا عملك في الكود اعلاه ، وخلينا نساعدك في المكان اللي توقفت فيه. جعفر
  15. اتشرف اخوي سعيد 🙂 لما تكون حيتنا ، ارسل لي رسالة على الخاص ، وان شاء الله نلتقي ، وما ادراك ، يمكن @Moosak يحب البابلو كماي ويهبش معانا 🙂 جعفر
  16. وعليكم السلام اخي عمار 🙂 للأسف لا دراية لدي عن التحزيم ، فجوابي هنا عن الاكسس 😁 في الكود اعلاه ، انت لا تفتح تقرير ، وانما تفتح نموذج !! هذه هي الطريقة . فيصبح الكود: Dim stDocName As String stDocName = "PrintPreviewFrm" DoCmd.OpenReport stDocName, acViewPreview جعفر
  17. 1. عند استخدام اي من الاكواد التي تفضل بها الشباب ، والكود الذي وضعته انا ، يجب ان يكون مسار المجلد كاملا ، فمجلدك رقم 3733 لا يعطي المسار كاملا ، لذا ممكن حل الخطأ بوضع مسار المجلد في الكود ، ثم تضيف عليه رقم مجلد الموظف ، هكذا (ولقد تم تجربة الطرق الثلاث ادناه ، طبعا تجربة كل سطر بطريقة مستقلة) : Dim myPath As String myPath = "D:\" ShellExecute Me.hwnd, "open", myPath & Me.Folder_Name, "", "", 1 Application.FollowHyperlink myPath & Me.Folder_Name Shell "explorer.exe" & " " & myPath & Me.Folder_Name, vbNormalFocus . 2. نعم ، الكود الذي اعطيتك يُظهر "رسالة إشعار امان" الاكسس ، ولكنه وبعد قبول الرسالة ، يفتح المجلد او الملف ، وللتغلب على هذه الرسالة ، يمكننا كتابة الكود هكذا: DoCmd.SetWarnings False Application.FollowHyperlink myPath & Me.Folder_Name DoCmd.SetWarnings True جعفر Folder_Name.zip
  18. همممم اعتقد في خطأ في الحسبة من صوبك !! هذه نتيجة البرنامج: . وهاي نتائج موقعين من الانترنت متخصصين في هذا الموضوع: و . وهاي رابط نقاش طويل عن الدالة اعلاه: . جعفر
  19. السلام عليكم 🙂 الاكسس تلقائيا يحسب عدد الايام الصحيحة ، حسب عدد ايام الشهر ، وحسب كون السنة كبيسة او عادية ، فاليك الدالة التي استعملها (وهي موجودة في المنتدى، ولكن عملت عليها تغيير بسيط حتى تستطيع عرض الارقام مستقلة) : Public Function YMDDif4(sDate1 As Date, sDate2 As Date) On Error GoTo err_YMDDif4 'sDate1 earliest date 'sDate2 later date Dim d As Integer, m As Integer, y As Integer Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer 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 'YMDDif2 = CStr(Y) & " Years " & CStr(M) & " months " & CStr(D) & " days" 'YMDDif4 = CStr(y) & " س/" & CStr(m) & " ش/" & CStr(d) & " ي" 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 . واذا عندك بيانات في الجدول ، تناديها من النموذج على حدث الحالي: Dim myPeriod As String myPeriod = YMDDif4(Me.date1, Me.date2) Me.Y = Split(myPeriod, "|")(0) Me.M = Split(myPeriod, "|")(1) Me.D = Split(myPeriod, "|")(2) . بس في حالتك ، وبسبب النموذج غير مضمن ، فتناديها على حدث "بعد تحديث" التاريخ الثاني 🙂 جعفر مدة عمل الموظف.zip
  20. وعليكم السلام 🙂 هذا الكود يفتح المجلد D:\Guests_Pics بملئ الشاشة vbMaximizedFocus ، ويجعل التركيز على صورة رقم الضيف (مثلا 123.jpg ) ، وبدون ان يفتح الصورة Shell "C:\Windows\explorer.exe /select,D:\Guests_Pics\" & Me.Guest_ID & ".jpg", vbMaximizedFocus هذا الكود يفتح المجلد D:\Guests_Pics application.followhyperlink "D:\Guests_Pics" جعفر
  21. الله يسلمكم ويعافيكم جميعا ان شاء الله 🙂 وشكرا لك اخي محمد على جميل كلماتك 🙂 جعفر
  22. رجاء مراجعة الصورة في هذا الرابط ، والتأكد من جميع النقاط فيها : .
  23. من النصائح الذهبية في الاكسس: لا تبدأ اسم الكائن برقم ، وإلا ستحصل على اخطاء لا محل لها من الاعراب 😁 اجعل اسماء جداولك تبدأ بحرف 🙂 جعفر
×
×
  • اضف...

Important Information