بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
10020 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
-
مافي داعي تستخدم نقرة الفأرة اليمين ، تقدر تكتب مباشرة في حقل المعادلات. الهدف من مثالي السابق (القائمة المنسدلة Combobox) ، ومن مثالي الاخير (القائمة من النقر على الفأرة بالزر اليمين) ، هو حتى لا يخطئ المستخدم ودخل حرف غلط ، واللي على اساسه لن يعمل البرنامج. هدفي من سؤالي سابقا: هو حتى افكر في طرق اخرى في استعمال Combobbox ، ولكن هذا لا يمكن اذا كانت المعادلات بهوى المستخدم.
-
السلام عليكم عملت جميع الاحتمالات ، و ان شاء الله افرد موضوع لزر الفأرة اليمين (قيم متغيرة) . البرنامج لا يتأكد من صحة القيم التي تم ادخالها ، للعلم. لا تنسى تنقر على الفأرة اليمين لإدخال الحقول من الجدول Table 1. 1618.1.Cal error2.accdb.zip
-
شكرا جزيلا اخوي ابو خليل عملت موضوع لهذه الجزئية:
-
السلام عليكم في احد مشاريعي ، جابوا لي قائمة اكسل فيها تواريخ مكتوبة بكل ما لذ وطاب من الطرق ، مثل: 30/11/2009 ، 2012-06-25 ، 21/6/2015م ، " 9/1/2014" ، 30\11\2009 ، 5/1999/26 ، 25/1999/6 ، 5/1994/ 26 ، وحتى بعضها بالارقام الهندية ، فعملت الدالة التالية ، والتي ترسل لها التاريخ المطلوب تعديله ، والدالة تصلح التاريخ وترجعه. وستلاحظون اني استخدمت الدالة DateSerial ، حتى اعطي اليوم والشهر والسنة بياناتهم يدويا ، بدلا عن استعمال CDate . هذه هي الدالة: Function Date_Rectified(D As String) As Date On Error Resume Next Dim x() As String Dim P1 As String, P2 As String, P3 As String D = Trim(D) D = Replace(D, "(", "") D = Replace(D, ")", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, "*", "") D = Replace(D, "م", "") D = Replace(D, ChrW(1632), "0") 'الرقم الهندي صفر D = Replace(D, ChrW(1633), "1") D = Replace(D, ChrW(1634), "2") D = Replace(D, ChrW(1635), "3") D = Replace(D, ChrW(1636), "4") D = Replace(D, ChrW(1637), "5") D = Replace(D, ChrW(1638), "6") D = Replace(D, ChrW(1639), "7") D = Replace(D, ChrW(1640), "8") D = Replace(D, ChrW(1641), "9") D = Replace(D, "!", "-") D = Replace(D, "/", "-") D = Replace(D, "//", "-") D = Replace(D, "\", "-") D = Replace(D, ".", "-") D = Replace(D, "_", "-") D = Replace(D, "|", "-") D = Replace(D, ",", "-") D = Replace(D, Chr(34), "") If Len(D) = 4 Then 'starts with year, but its 4 digits only:1999 'convert to 1-1-1999 OR EMPTY Date_Rectified = DateSerial(D, 1, 1) Exit Function End If If D = "5/1994/ 26" Then Debug.Print D End If x = Split(D, "-") P1 = x(0): P2 = x(1): P3 = x(2) If Len(P1) = 4 And Len(P2) <> 0 Then 'starts with year, and month exist: 1999-1-2 Date_Rectified = DateSerial(P1, P2, P3) ElseIf Len(P3) = 4 And Len(P2) <> 0 Then 'ends with year, and month exist: 2-1-1999 Date_Rectified = DateSerial(P3, P2, P1) ElseIf Len(P2) = 4 And Len(P1) <= 12 Then 'year in the middle, day and month exist: 5/1999/26 Date_Rectified = DateSerial(P2, P1, P3) ElseIf Len(P2) = 4 And Len(P1) > 12 Then 'year in the middle, day and month exist: 25/1999/6 Date_Rectified = DateSerial(P2, P3, P1) Else 'otherwise Date_Rectified = Null End If End Function
-
وعليكم السلام في احد مشاريعي ، جابوا لي قائمة اكسل فيها تواريخ مكتوبة بكل ما لذ وطاب من الطرق ، مثل: 30/11/2009 ، 2012-06-25 ، 21/6/2015م ، " 9/1/2014" ، 30\11\2009 ، 5/1999/26 ، 25/1999/6 ، 5/1994/ 26 ، وحتى بعضها بالارقام الهندية ، فعملت الدالة التالية ، والتي ترسل لها التاريخ المطلوب تعديله ، والدالة تصلح التاريخ وترجعه. ومنها تقدر تحصل على السنة 🙂 هذه هي الدالة: Function Date_Rectified(D As String) As Date On Error Resume Next Dim x() As String Dim P1 As String, P2 As String, P3 As String D = Trim(D) D = Replace(D, "(", "") D = Replace(D, ")", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, "*", "") D = Replace(D, "م", "") D = Replace(D, ChrW(1632), "0") 'الرقم الهندي صفر D = Replace(D, ChrW(1633), "1") D = Replace(D, ChrW(1634), "2") D = Replace(D, ChrW(1635), "3") D = Replace(D, ChrW(1636), "4") D = Replace(D, ChrW(1637), "5") D = Replace(D, ChrW(1638), "6") D = Replace(D, ChrW(1639), "7") D = Replace(D, ChrW(1640), "8") D = Replace(D, ChrW(1641), "9") D = Replace(D, "!", "-") D = Replace(D, "/", "-") D = Replace(D, "//", "-") D = Replace(D, "\", "-") D = Replace(D, ".", "-") D = Replace(D, "_", "-") D = Replace(D, "|", "-") D = Replace(D, ",", "-") D = Replace(D, Chr(34), "") If Len(D) = 4 Then 'starts with year, but its 4 digits only:1999 'convert to 1-1-1999 OR EMPTY Date_Rectified = DateSerial(D, 1, 1) Exit Function End If If D = "5/1994/ 26" Then Debug.Print D End If x = Split(D, "-") P1 = x(0): P2 = x(1): P3 = x(2) If Len(P1) = 4 And Len(P2) <> 0 Then 'starts with year, and month exist: 1999-1-2 Date_Rectified = DateSerial(P1, P2, P3) ElseIf Len(P3) = 4 And Len(P2) <> 0 Then 'ends with year, and month exist: 2-1-1999 Date_Rectified = DateSerial(P3, P2, P1) ElseIf Len(P2) = 4 And Len(P1) <= 12 Then 'year in the middle, day and month exist: 5/1999/26 Date_Rectified = DateSerial(P2, P1, P3) ElseIf Len(P2) = 4 And Len(P1) > 12 Then 'year in the middle, day and month exist: 25/1999/6 Date_Rectified = DateSerial(P2, P3, P1) Else 'otherwise Date_Rectified = Null End If End Function
-
وعليكم السلام اذا الحقل: me.abc="i am small letters" لتكبير الحروف me.abc= Format(me.abc, ">")
-
1. هل العمليات ستكون / * - + فقط ؟ 2. كم حقل ممكن تستعمل في المعادلة الواحدة؟ هنا استخدمت حقل واحد فقط: urea / 5 وهنا استخدمت 3 حقول: ALT/AST*UREA وفي الطريقة الاولى استخدمت ارقام ، بينما في الطريقة الاخيرة استخدمت حقول فقط ، فرجاء اعطنا مجموعة امثلة لتغطية جميع الطرق. اذا كان جوابك: "مش هتكون ثابنه ، متغيره وفقا لمستخدم البرنامج". فانا من الان اقول لك: ستكون هذه أخر مشاركة لي في هذا الموضوع.
-
رجاء اعطنا كل انواع المعادلات
-
-
هل هذه خطوات العمل: 1- يختار المستخدم احد قيم الحقل test في الجدول Table2 ، وليكن مثلا ASO ، 2- المستخدم يكتب المعادلة التالية في السجل اعلاه: [Bili]/2 3- البرنامج يأخذ قيمة السجل [Bili] من الحقل [result] في الجدول Table1 ، ويضعها في المعادلة اعلاه ، 4- ونتيجة المعادلة يضعها في سجل [ASO] من الحقل [result] في الجدول Table1 ، يعني قيمة [result] لهذا السجل راح تتغير قيمتها حسب نتيجة المعادلة اعلاه ؟ هل هذا صحيح ؟
-
هل هذه خطوات العمل: 1- يختار المستخدم احد قيم الحقل test في الجدول Table2 ، وليكن مثلا ASO ، 2- المستخدم يكتب المعادلة التالية في السجل اعلاه: [Bili]/2 3- في حقل result في الجدول Table1 ، تريد ان تظهر نتيجة المعادلة اعلاه ؟ هذا كله سهل ، السؤال هو ، في الخطوة 2 اعلاه ، من اين سيأتي البرنامج بقيمة [Bili] ؟
-
نعم، وعليه كتبت ملاحظاتي. والان حسب مرفقك الثاني ، هل هذا اللي تريده: بمعنى انك تريد ان يظهر لك في Table2 هذه النتائج ؟
-
السلام عليكم لايزال طلبك غير واضح بالنسبة لي !! رجاء اعطينا مجموعة امثلة (مو اقل من 4-5) ، وخلينا نحلل طلبك .
-
وعليكم السلام 🙂 حسب اعتقادي, هناك 3 طرق لعمل المطلوب: 1. اعمل نسخة من البرنامج ، بعد الضغط والاصلاح ، في مجلد في الشبكة ، وبين الحين والآخر تستطيع انزالها الى الحاسبة التي تريد ، وتستبدل بها نسخة الحاسبة (انا اعمل بهذه الطريقة في احد اعمالي ، حيث عدد المستخدمين كبير ، وبهذه الطريقة الموضوع سهل عمله) ، 2. مثل ما تفضل اخوي @gavan ، ولكن مع تغيير بسيط: أ- اكتب الكود اعلاه على حدث زر ، لما تريد عمل ضغط واصلاح ، 'كود الضغط و الاصلاح Application.SetOption "Auto compact", True 'كود الخروج من التطبيق DoCmd.Quit ب- على حدث فتح النموذج الرئيسي للبرنامج ، قم بتغيير الاعدادات الى (حتى لا يعمل البرنامج اصلاح في كل مرة ينغلق فيه البرنامج) : Application.SetOption "Auto compact", False 3. على حدث نقر زر ، اكتب كود ، والذي سيتم حفظه كملف بصيغة vbs او bat ، ويعمل التالي: أ- لنفترض ان اسم قاعدة بياناتك A.accdb ، الكود يبحث عن الملف A.laccdb (لاحظ هذا اسم ملف القفل الذي ينشأه اكسس عندما يكون برنامجك شغال) ، واذا لم يجده ، ينفذ الامر التالي لضغط واصلاح البرنامج. اليك هذا البرنامج الذي يعمل ضغط واصلاح، وبه بعض الميزات: http://www.peterssoftware.com/cal.htm#:~:text=Backup, Repair, and Compact a List. او برنامجي ، والذي ياخذ نسخة من البرنامج الاصل قبل الضغط والاصلاح ، يقوم بعمل الضغط والاصلاح ، Decompile للكود ، وحفظ نسخه من البرنامج بعد الضغط والاصلاح : شكرا جزيلا على هذه المعلومة اخوي ابو خليل ، وفي الواقع يجب عمل الضغط ةالاصلاح على كمبيوترك المحلي ، وليس على مجلد الشبكة 🙂 جعفر
-
السلام عليكم 🙂 في الواقع انا خسارتي كبيرة لغيابي عن المنتدى لفترات طويلة ، لأني ما اشوف و اواكب واتعلم واستفيد من مثل هذه الابداعات الجميلة 🙂 شكرا لك اخوي ابو جودي 🙂 جعفر
- 18 replies
-
- 2
-
-
- systry
- system try icon
-
(و21 أكثر)
موسوم بكلمه :
- systry
- system try icon
- sys try icon
- التحكم فى واجهة اكسس
- تصغير بجوار الساعة
- توسيط
- اخفاء
- إخفاء
- اخفاء اكسس
- إخفاء اكسس
- شخابيط
- ابو جودى
- شخابيط وأفكار
- شخابيط ابو جودى
- شخابيط وافكار
- اخفاء اطار لاكسس
- شفافية للنموذج لاظهار صور png
- توسيط للنماذج والتقارير
- تغير ايقونة الاكسس
- اهداء
- اهداء للمنتدى
- هدية للمنتدى
- هدية متواضعة
-
تجارب وفوائد ✨نصوص متحركة ✨ .. 4 أربعة أشكال متنوعة مما لذ وطاب 😊👌
jjafferr replied to Moosak's topic in قسم الأكسيس Access
السلام عليكم 🙂 في الواقع انا خسارتي كبيرة لغيابي عن المنتدى لفترات طويلة ، لأني ما اشوف و اواكب واتعلم واستفيد من مثل هذه الابداعات الجميلة 🙂 شكرا لك اخوي موسى 🙂 جعفر -
وعليكم السلام 🙂 طريقة بسيطة لعدة اوامر iif متداخلة : . جعفر
-
وعليكم السلام 🙂 الفرز يجب ان يكون عن طريق حقل المعرف. الاستعلام: . والدالة في الوحدة النمطية: Function Concat(PR As Double) Dim rst As Recordset Dim i As Long, RC As Long Set rst = CurrentDb.OpenRecordset("select [Category] From PRindex Where [PuReq]=" & PR & " Order by [المعرف]") rst.MoveLast: rst.MoveFirst: RC = rst.RecordCount For i = 1 To RC Concat = Concat & "," & rst!Category rst.MoveNext Next i Concat = Mid(Concat, 2) rst.Close: Set rst = Nothing End Function . والنتيجة: 1617.PRindex.accdb.zip
- 1 reply
-
- 3
-
-
ابدا بالعمل ، ولما تصادف مشكلة ، ارسلها هنا علشان نساعدك
-
وعليكم السلام 🙂 البرنامج غير مفتوح المصدر لأنه بصيغة accde ، فالطريقة الوحيدة عندك هي الرجوع الى صاحب البرنامج: http://www.acc-arab.com حتى يعدل عليه ،او الاتصال بالمبرمج: محمد عصام - مصـــــر - القاهــــــرة - Soul-angel@msn.com جعفر
- 1 reply
-
- 1
-
-
وعليكم السلام 🙂 1. ممكن اضافة اسم "الموارد اليشرية" في الكود ، بحيث عند النقر على الزر ، يقارن الاسم الموجود في الحقل بالاسم الموجود في الكود ، وعليه يقوم بالحذف من عدمه ، ولكني أفضّل ان اضيف حقل اخر في الجدول ، نوع نعم/لا ، فلنسميه Delete_Me ، وبهذه الطريقة لا نكتب اسم "الموارد البشرية" في الكود ، وانما نعمل "صح" امامه. وكذلك يمكنك اضافة اي عدد من الاقسام التي لا تريد حذفها. اما الكود فيكون: اذا Delete_Me =-1 اذن احذف. 2. اذا كنت في صفحة الكود VBE ، اضغط على الزر F1 ، وابحث عن msgbox ، ثم انقر على Msgbox Function : . في الاسفل بيعطيك الكود ، واللي منه تقدر تجربه وتغيره حسب حاجتك ، فهو يعطيك مثال فيه نعم/لا : . 3. اما وجود الحقل الفارغ في اسفل السجلات ، لأنك تركت في اعدادات النموذج "الاضافة" (اضافة سجل) ، نعم ، بينما انت لا تريد الاضافة ، فغيره الى لا : . ليش ما عملت تغيير على مرفقك وريحتك وقللت العمل على نفسي ؟ حتى تستفيد من هذه الاجراءات لأسئلتك الاخرى 🙂 جعفر
-
اخي الفاضل انا هنا اجمع مشاركاتي السابقة في مكان واحد ، لمعاينة التقرير حسب قيمة الحقل EMID ، اذا كان الزر في النموذج الفرعي: في حال كان EMID نص doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]='" & [Forms]!ETSALATSIMCARDFORMTEST![ETSALATFORM]![EMID] & "'" في حال كان EMID رقم doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]=" & [Forms]!ETSALATSIMCARDFORMTEST![ETSALATFORM]![EMID] . واذا كان الزر في النموذج الرئيسي: EMID نص doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]='" & [Forms]!ETSALATSIMCARDFORMTEST![EMID] & "'" في حال كان EMID رقم doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]=" & [Forms]!ETSALATSIMCARDFORMTEST![EMID]
-
التقرير يتجزأ الى اربعة اقسام في الطباعة
jjafferr replied to محمد التميمي's topic in قسم الأكسيس Access
وعليكم السلام 🙂 حيا الله اخوي محمد 🙂 للتقارير التي تطبع على طابعات خاصة ، مثل طابعة الهويات البلاستيكية ، يجب تخصيص الطابعة ، ولا نجعلها الطابعة الافتراضية ، هكذا . . . ثم تجعل مسافات الحواف كلها صفر ، وسستم تغييرها تلقائيا حسب اعدادات الطابعة : . . ودائما استعمل "معاينة الطباعة" . . فيصبح تقريرك هكذا . جعفر