-
Posts
7001 -
تاريخ الانضمام
-
Days Won
203
كل منشورات العضو ابو جودي
-
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
وهاد تعديل طفيف تنيسق شرطى انظر عندم عدم وجود نتيجة فى ال sCOR وعند التحديث للقيم وعند التركيز داخل الحقل وبما انك رجل منذ القدم معنا ياريت تختار افضل اجابة ليتم العلم انه تم الرد وتوصلت للنتيجة المطلوبة ولا يحتاج الى متابعة وو... Evaluation-HR- Final.zip -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
شوف يا سيدى انا كنت ناوى اعمل جدول تانى زى ما قلت لك فى الرد النظرى على اعتبار ان التقييم شهرى ولكن بما انه هناك EvalID فتمام انظر الى الجدول tblEvalDetails تم اضافة حقل EvalID ليكون لكل موظف تقيمه الخاص تم ربط الحقول EvalID , EmpID , QuestionID مع بعضهم كمفتاح اساسى حتى لا يتم تكرار نفس الاسئلة لنفس الموظف لنفس رقم التقييم تم عمل استعلام الحاقى باسم qryAddQusToEvaDtils وظيفته الحاق كل الاسئلة فى الجدول tblEvalDetails واضافة رقم الموظف ورقم التقييم فى النموذج الخاص بالتقيم وعند اختيار موطف يتم تشغيل الاستعلام لان الكود تم وضعه عند تحديث مربع سرد الموظف بس خلاص هو بس بيتم احضار كل الاسئلة دفعة واحدة وبيتم وضع التقييم على كل سؤال فى النموذج الفرعى واحد بعد الاخر لان قبل التحديث كان لابد ان يضيف الاسئلة فى النموذج الفرعى تباعا من خلال مربع السرد -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
هو انت تريد تعديل ام شرح ؟ انت قلت تريد تعديل والان صار التعديل معك كما تمنيت تماما -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
اتفضل يا سيدى الشرح بعد التجربة ان كان المطلوب تم تنفيذه Evaluation-HR- Final.zip -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
سؤال لو تكرمت EvalID كيف يتم تحديده ومتى يتم تغيره ومن اين ؟ -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
انت انضممت منذ 4 ساعات وعلمت وتيقنت جيدا ايضا ... ماشاء الله عليك ابشر ان شاء الله جارى عمل اللازم -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
شوف يا سيدى انت تعمل جدول تسميه مثلا tblEmpScore ولما تفتح نموذج EvaluationDetails ولما تختار موظف والتاريخ للشهر يتم تشغيل استعلام الحاقى لكافة الأسئلة الى الجدول tblEmpScore واللى هيكون هو مصدر بيانات النموج الفرعى اللى اسمه EvaluationHead طبعا تظبط اللينكات بين الاتنين بالكود والشهر وطبعا بما انك عامل القاعدة زى ما تفضلت التطبيق راح يكون سهل عليك واللا مو انت اللى صممتها وتريد التعديل وخلاص اعترف حاول عمل اللى قلت لك اياه واى شئ يصعب عليك اسأل لا تتردد وان شاء الله تجد الدعم المناسب قدر المستطاع -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
طيب انا فتحت القاعدة اعمل ايه بقى ؟! -
مطلوب اظهار جميع أسئلة التقييم في شاشة واحدة_ (معدل)
ابو جودي replied to Connect Gates's topic in قسم الأكسيس Access
رائع ولو وضعت القاعدة هنا سوف تفيد الجميع مثلما تريد وكذلك سوف تجد المساعدة اللازمة قدر المستطاع وستجد هنا ان الجميع يتواصل معك وانك تتواصل مع الجميع كما تتمنى -
السلام عليكم استاذى القدير ومعلمى الجليل @د.كاف يار تحية كيبة عطرة ... اعجبتنى الفكرة جدا جدا جدا ولكن لى رجاء ممكن شرح كيفية ضبط اماكن ازرار الامر ان ذادت عن المرفق او قلت
-
ماشاء الله استاذى الجليل ومعلمى القدير الاستاذ @Barna انا انسان معقد , وافكارى مثلى
-
تعديل رقم (2).. افضل واسرع بعد التمعن فى الاكواد واحساسى بعدم الرضا عن النتيجة السابقة بفضل الله تعالى تم تغيير الفكرة للأفضل اولا الروتين العام فى الوحدة النمطية: يقوم بعمل دوران على النص لتعريته من اى شئ يخالف المستخدم داخل الروتين عن طريق استخدام الـ Unicode Public Function StripSpChars(strString As String) As String Dim lngCtr As Long Dim intChar As Integer If strString & "" = "" Then Exit Function For lngCtr = 1 To Len(strString) intChar = AscW(Mid(strString, lngCtr, 1)) If intChar = 13 Or _ intChar = 32 Or _ intChar = 40 Or _ intChar = 41 Or _ intChar = 45 Or _ intChar = 46 Or _ intChar = 58 Or _ intChar = 91 Or _ intChar = 93 Or _ intChar = 95 Or _ intChar = 171 Or _ intChar = 187 Or _ intChar = 1548 Or _ intChar >= 1569 And intChar <= 1594 Or _ intChar >= 1601 And intChar <= 1610 Or _ intChar >= 1648 And intChar <= 1649 Or _ intChar >= 1632 And intChar <= 1641 Or _ intChar >= 48 And intChar <= 57 Then StripSpChars = StripSpChars & ChrW(intChar) End If Next lngCtr StripSpChars = Trim(StripSpChars) End Function ثانيا : الاكواد داخل النموذج روتين فرعى لتغيير مصدر التحكم لمربع النص فقط الذى يحتوى على النص + حركات التشكيل - تيم تغيير مصدر التحكم لمربع النص فقط الذى يحتوى على النص + حركات التشكيل حسب حالة المرجع X الذى تم الاعلان عنه فى بناء الروتين Sub GoRecdSource(ByRef x As Boolean) Select Case x Case Is = False Me.txtnass.ControlSource = "[nass]" lblChkCase.Caption = ChrW("1573") & ChrW("1582") & ChrW("1601") & ChrW("1575") & ChrW("1569") & ChrW("32") & ChrW("1581") & ChrW("1585") & ChrW("1603") & ChrW("1575") & ChrW("1578") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1578") & ChrW("1588") & ChrW("1603") & ChrW("1610") & ChrW("1604") Case Is = True Me.txtnass.ControlSource = "=StripSpChars([nass])" lblChkCase.Caption = ChrW("1573") & ChrW("1592") & ChrW("1607") & ChrW("1575") & ChrW("1585") & ChrW("32") & ChrW("1581") & ChrW("1585") & ChrW("1603") & ChrW("1575") & ChrW("1578") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1578") & ChrW("1588") & ChrW("1603") & ChrW("1610") & ChrW("1604") End Select End Sub وبعد اذن استاذى الجليل ومعلمى القدير و والدى الحبييب الاستاذ @jjafferr النظر الى التعديل الجديد لرؤية التعديل الجديد وابداء الرأى عن هذه الفكرة وإرشادى الى ما ينقص تمام العمل واخيرا مرفق التطبيق 12446-1 (3).accdb
-
الحل الامثل تبعا للمرفق ان شاء الله اولا الروتين العام فى الوحدة النمطية: يقوم بعمل دوران على النص لتعريته من اى شئ يخالف المستخدم داخل الروتين عن طريق استخدام الـ Unicode Public Function StripSpChars(strString As String) As String Dim lngCtr As Long Dim intChar As Integer If strString & "" = "" Then Exit Function For lngCtr = 1 To Len(strString) intChar = AscW(Mid(strString, lngCtr, 1)) If intChar = 13 Or _ intChar = 32 Or _ intChar = 40 Or _ intChar = 41 Or _ intChar = 45 Or _ intChar = 46 Or _ intChar = 58 Or _ intChar = 91 Or _ intChar = 93 Or _ intChar = 95 Or _ intChar = 171 Or _ intChar = 187 Or _ intChar = 1548 Or _ intChar >= 1569 And intChar <= 1594 Or _ intChar >= 1601 And intChar <= 1610 Or _ intChar >= 1648 And intChar <= 1649 Or _ intChar >= 1632 And intChar <= 1641 Or _ intChar >= 48 And intChar <= 57 Then StripSpChars = StripSpChars & ChrW(intChar) End If Next lngCtr StripSpChars = Trim(StripSpChars) End Function ثانيا : الاكواد داخل النموذج الاعلان عن متغير للاحتفاظ برقم السجل الحالى من خلال الحقل txtid Dim idRec As Integer روتين فرعى للذهاب للسجل حسب قيمة المتغير السابق idRec للحافظ على الذهاب الى السجل الحالى Sub GoRec() With Me.Recordset .FindFirst "ID=" & idRec End With End Sub روتين فرعى لتغير مصدر بيانات النموذج - يحتفظ الروتين برقم السجل الحالى بالحاق الرقم الى المتغير idRec - تيم تغيير جملة بناء الاستعلام حسب حالة المرجع X الذى تم الاعلان عنه فى بناء الروتين - تغيير عنوان مربع الاختيار تبعا لحالة مصدر البيانات المطلوب استخدانه Sub GoRecdSource(ByRef x As Boolean) idRec = txtid Select Case x Case Is = False Me.RecordSource = "SELECT book.nass, book.id, book.part, book.page FROM book;" GoRec lblChkCase.Caption = ChrW("1573") & ChrW("1582") & ChrW("1601") & ChrW("1575") & ChrW("1569") & ChrW("32") & ChrW("1581") & ChrW("1585") & ChrW("1603") & ChrW("1575") & ChrW("1578") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1578") & ChrW("1588") & ChrW("1603") & ChrW("1610") & ChrW("1604") Case Is = True Me.RecordSource = "SELECT StripSpChars([book]![nass]) AS nass, book.id, book.part, book.page FROM book;" GoRec lblChkCase.Caption = ChrW("1573") & ChrW("1592") & ChrW("1607") & ChrW("1575") & ChrW("1585") & ChrW("32") & ChrW("1581") & ChrW("1585") & ChrW("1603") & ChrW("1575") & ChrW("1578") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1578") & ChrW("1588") & ChrW("1603") & ChrW("1610") & ChrW("1604") End Select End Sub الكود المستخدم على مربع الاختيار يتم استدعاء الروتين الفرعى المختص بتغيير مصدر بيانات النموذج تبعا لحالة مربع الاختيار الذى يدرج قيمته الى المتغير المستخدم كمرجع فى الروتين الفرعى السابق GoRecdSource (ChkCase) ما سبق اجتهاد شخصى >>---> قد تكون هناك طرق افضل وفى انتظار رأى استاذى الجليل ومعلمى القدير الاستاذ @Barna واخيرا مرفق التطبيق 12446-1 (2).accdb
-
يمكنكم استخدام الروتين الاتى لإزالة اى حركات تشكيل ويتم استدعاءه كم خلال StripSpCharsOnly("النص") 'OR in Forms StripSpCharsOnly(txtName) 'or in Query StripSpCharsOnly(FildeName) Public Function StripSpCharsOnly(strString As String) As String Dim lngCtr As Long Dim intChar As Integer If strString & "" = "" Then Exit Function For lngCtr = 1 To Len(strString) intChar = AscW(Mid(strString, lngCtr, 1)) If intChar = 32 Or _ intChar >= 1569 And intChar <= 1594 Or _ intChar >= 1601 And intChar <= 1610 Or _ intChar >= 1648 And intChar <= 1649 Then StripSpCharsOnly = StripSpCharsOnly & ChrW(intChar) End If Next lngCtr StripSpCharsOnly = Trim(StripSpCharsOnly) End Function مثال فى المرفق : Strip Special Characters.zip
-
ممكن يختفى والاصل اللى بالتشكيل عندك اصلا هات مرفق واعرفق ازاى
-
كود جعل زر خيار True بناء علي وضع قيمة في حقل نص
ابو جودي replied to حسين العربى's topic in قسم الأكسيس Access
الملف موجود فى مشاركة الباش مهندس @Eng.Qassim ورابط المرفق مرة أخرى Converter Arabic and Unicode (v. 3).accdb -
ممكن مرفق يختوى على النموذج فقط .؟
-
بناء على طلب احد الاخوة شرح تفصيلى لدالة: DLookup Function الوصف-Description : ترجع الدالة DLookup قيمة حقل واحد إذا لم يكن هناك سجل يلبي المعايير أو إذا كان المجال لا يحتوي على أي سجلات، ترجع الدالة DLookup القيمة Null إذا كان هناك أكثر من حقل ترجع الدالة DLookup التكرار الأول لذلك يجب تحديد معايير تضمن أن تكون قيمة الحقل التي يتم إرجاعها بواسطة الدالة DLookup فريدة قد تحتاج إلى استخدام قيمة مفتاح أساسي للمعايير او قيمة فريدة للتأكد من أن الدالة DLookup ترجع قيمة فريدة بناء الجملة الدالة-Syntax DLookup : يختلف بناء الجملة الخاص بوظيفة DLookup الشكل العام البسيط لبناء الجملة يكون كالتالى DLookup("FieldName" , "TableName") وعندما نريد بناء جملة ترجع قيمة حقل من جدول بناء على قيمة محددة لابد ان يحتوى بناء الجملة على معيار الشكل العام لبناء الجملة كالتالى DLookup("FieldName" , "TableName" , "Criteria") و لابد من الاخذ فى الاعتبار انه سوف نعتمد فى بناء جملة DLookup من هذا النوع الذى يعتمد على معيار على نوع البيانات المستخدم فى هذا المعيار انواع البيانات المستخدمة فى المعيار هى لا تخرج عن الثلاث انواع الاتية (رقم - نص - تاريخ - Numeric - String - Date ) ودائما تلك الجزئية هى مصدر القلق والخطأ والتساؤل ولكى نبسطها DLookup("FieldName" , "TableName" , "Criteria = n") '|Numeric DLookup("FieldName" , "TableName" , "Criteria = 'S'") '|String DLookup("FieldName" , "TableName" , "Criteria = #D#") '|Date بكل بساطه فى بناء الجملة الرئيسي عندما نستخدم معيار يحتوى على نوع بيانات من النوع رقم فقط تم وضع علامة = بعد Criteria ثم الرقم بدون اى اضافات عندما نستخدم معيار يحتوى على نوع بيانات من النوع نص فقط تم وضع علامة = بعد Criteria ثم النص بين علامتين تنصيص مفرده ' عندما نستخدم معيار يحتوى على نوع بيانات من النوع تاريخ فقط تم وضع علامة = بعد Criteria ثم التاريخ بين علامتين هاش # يستخدم ما سبق عندما نكتب قيمة المعيار بطريقة مباشرة وعندما يكون المعيار مستمد من عنصر موجود اما حقل فى استعلام او مربع نص فى نموذج يكون بناء الجملة كالأتى DLookup("FieldName" , "TableName" , "Criteria =" & [ObjectName]) '|Numeric DLookup("FieldName" , "TableName" , "Criteria ='" & [ObjectName] & "'") '|String DLookup("FieldName" , "TableName" , "Criteria =#" & [ObjectName] & "#") '|Date ملاحظة هامة عند التعامل مع التاريخ لابد ان يكون تنسيق التاريخ فى المعيار على الطريقة الأمريكية mm/dd/yyyy -------------------------------------------------------------------------------------------------------------------------- وعندما يكون المعيار مستمد من متغير يتم اسناد قيمة المعيار اليه داخل محرر الأكواد يكون بناء الجملة كالأتى ولا ننسى عند التعامل مع التاريخ لابد ان يكون تنسيق التاريخ فى المعيار على الطريقة الأمريكية mm/dd/yyyy Dim MyVariable As String Dim stLinkCriteria As String MyVariable = 1 stLinkCriteria = "[FldCriteria]=" & MyVariable '|Numeric 'MyVariable = "Mahmoud" 'stLinkCriteria = "[FldCriteria] ='" & MyVariable & "'" '|String 'MyVariable = "03/01/1982" 'stLinkCriteria = "[FldCriteria] =#" & MyVariable & "#" '|Date stLinkCriteria = "[FldCriteria]=" & MyVariable '|Numeric 'stLinkCriteria = "[FldCriteria] ='" & MyVariable & "'" '|String 'stLinkCriteria ="[FldCriteria] =#" & MyVariable & "#" '|Date DLookup("FieldName", "TableName", stLinkCriteria) مثال متقدم : احضار بيانات دفعة واحدة من اكثر من حقل عن طريق المصفوفات من خلال الـ DLookup على طريقة استاذى الجليل ومعلمى القدير و والدى الجبيب الاستاذ @jjafferr Dim strDLookupFlds As String Dim stLinkCriteria As String Dim MyVariable As String Dim Arry() As String Dim ChosFld As String MyVariable = 1 stLinkCriteria = "[FldCriteria]=" & MyVariable '|Numeric 'MyVariable = "Mahmoud" 'stLinkCriteria = "[FldCriteria] ='" & MyVariable & "'" '|String 'MyVariable = "03/01/1982" 'stLinkCriteria = "[FldCriteria] =#" & MyVariable & "#" '|Date strDLookupFlds = DLookup("[Fld1] & '|' & [Fld2] & '|' & [Fld3] & '|' & [Fld4] & '|' & [Fld5] & '|' & [Fld6] & '|' & [Fld7] & '|' & [Fld8]& '|' & [Fld9]", "[tblName]", stLinkCriteria) Arry = Split(strDLookupFlds, "|") Debug.Print strDLookupFlds ChosFld = Arry(0) Debug.Print ChosFld 'Arry(0) = Fld1 'Arry(1) = Fld2 'Arry(2) = Fld3 'Arry(3) = Fld4 'Arry(4) = Fld5 'Arry(5) = Fld6 'Arry(6) = Fld7 'Arry(7) = Fld8 'Arry(8) = Fld9
- 6 replies
-
- 4
-
-
- dlookup
- dlookup function
- (و9 أكثر)
-
كود جعل زر خيار True بناء علي وضع قيمة في حقل نص
ابو جودي replied to حسين العربى's topic in قسم الأكسيس Access
-
شرح : نبذة عن الاستعلامات الفرعية SubQueries وامثلة عملية عليها
ابو جودي replied to Amr Ashraf's topic in قسم الأكسيس Access
ماشاء الله شرح مبسط ومنسق ولا اروع طيب احيانا بيكون فى استعلام داخل استعلام لكن فى الحقول وليس فى المعيار هل يمكن التطرق اليه -
-- الوقت والتاريخ تاريخ آخر يوم فى الشهر المحدد LastDayInMonth(01/01/2022) Public Function LastDayInMonth(ByVal AnyDate As Date) As Date LastDayInMonth = DateSerial(Year(AnyDate), Month(AnyDate) + 1, 0) End Function ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- عدد ايام الشهر المحددد NumofDays(01/01/2022) Public Function NumofDays(ByVal AnyDate As Date) NumofDays = Day(DateSerial(Year(AnyDate), Month(AnyDate) + 1, 0)) End Function
-
اتفضل
-
اتفضل يتم وضع النص المراد الظهور له فى كل صفخة فى الـ PageFooterSection Database11.accdb
-
تغيير قيمة مربع نص بناء على قيمة مربع تحرير وسرد
ابو جودي replied to Hassanshami's topic in قسم الأكسيس Access
اعتقد الحل موجود بإجابة الباش مهندس @Eng.Qassim فى المرفق الذى رفعه بمشاركته Select Case State Case Is = "موقف": Me.S1 = "0" Case Is = "غياب": Me.S1 = Me.الراتب - (Me.الراتب * 0.2) Case Is = "مباشر": Me.S1 = Me.الراتب End Select -
بارك الله فى عمرك استاذى الجليل