-
Posts
4171 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
179
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
-
بسيطة أخي جو .. احذف التسمية من خصائص التقرير ( Caption ) فقط وسيعمل معك بدون مشاكل تفضل ملفك بعد التعديل :- LAb (1).zip
-
وعليكم السلام ورحمة الله تعالى وبركاته 🤗 كإجابة على السؤال المهم في طلبك ، إن كان يمكن تحقيقه من خلال الجدول نفسه ، فإجابتي لا . ما لم يكن هناك رأي آخر . فمثلاً لا تستطيع ادخال قيمة افتراضية لحقل ما داخل جدول من خلال معادلة أو جملة شرطية . كمثال:- =IIf([loifondamontale]="المهندسين", 1, 0) ولا أحاول إحباطك ، فيمكن تحقيق الهدف بطرق مختلفة . منها استخدام الجمل الشرطية المعقدة داخل حدث بعد التحديث لمربع النص او الكومبوبوكس loifondamontale كمثال للتوضيح بالافتراض ان لديك نموذج لإدخال البيانات في هذا الجدول :- Private Sub loifondamontale_AfterUpdate() Dim typ As String typ = Me.loifondamontale If typ = "مهندسين" Then Me.evalu_moubadara_chaksia = 5 Me.evalu_itkan_elamel = 4 Me.evalu_nachatat_tarbia = 3 Me.evalu_absence = 0 Me.evalu_retard = 1 Me.evalu_tatwir = 2 Me.evalu_absence_prof = 0 Me.evalu_retard_prof = 0 Me.evalu_nadawat_prof = 0 Me.evalu_nachatat_tarbia_prof = 0 Me.evalu_mobadara_prof = 0 ElseIf typ = "معلمين" Then Me.evalu_absence_prof = 1 Me.evalu_retard_prof = 2 Me.evalu_nadawat_prof = 3 Me.evalu_nachatat_tarbia_prof = 4 Me.evalu_mobadara_prof = 5 Me.evalu_moubadara_chaksia = 0 Me.evalu_itkan_elamel = 0 Me.evalu_nachatat_tarbia = 0 Me.evalu_absence = 0 Me.evalu_retard = 0 Me.evalu_tatwir = 0 Else Me.evalu_moubadara_chaksia = 0 Me.evalu_itkan_elamel = 0 Me.evalu_nachatat_tarbia = 0 Me.evalu_absence = 0 Me.evalu_retard = 0 Me.evalu_tatwir = 0 Me.evalu_absence_prof = 0 Me.evalu_retard_prof = 0 Me.evalu_nadawat_prof = 0 Me.evalu_nachatat_tarbia_prof = 0 Me.evalu_mobadara_prof = 0 End If End Sub هذا كإقتراح أول يعتمد على الجملة الشرطية المتعددة ( أو حتى باستخدام Case ) وكلاهما يؤدي الغرض نفسه . أما عن وجود حل آخر وهو استخدام جدول للقيم الإفتراضية التي تريدها ولنفترض انه سيتكون من 3 حقول ( نوع الموظف ، اسم الحقل ، القيمة الإفتراضية ) - أسماء مجازية - وتملأ القيم مرة واحدة ( وقد يكون لها مستقبلاً نموذج لتعديلها حسب رغبتك ) . ثم وبنفس النمط - في حدث بعد التحديث لمربع النص نفسه أو الكومبوبوكس - نستخدم أسلوب كمثال :- Private Sub loifondamontale_AfterUpdate() Dim rs As DAO.Recordset Dim fldName As String, defVal As Variant Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_DefaultValues WHERE نوع_الموظف = '" & Me.loifondamontale & "'") Do While Not rs.EOF fldName = rs!اسم_الحقل defVal = rs!القيمة_الافتراضية Me(fldName) = defVal rs.MoveNext Loop rs.Close Set rs = Nothing End Sub 💡 وفي هذا الحل من الضروري أن تكون أسماء مربعات النص ( في النموذج ) مطابقة تماماً لأسماء الحقول في الجدول . وقد يكون هناك حلول اخرى تعتمد على الاستعلامات تحديث ، ولكنك هنا ستحتاج شرطاً لتحديد السجل الحالي برقم الموظف أو id الحقل ... إلخ. جرب ولن تخسر شيء 😇.
-
استخدم تحديث النموذج Docmd.Requery بعد رسالة تأكيد نجاح الاستيراد
-
وعليكم السلام ورحمة الله وبركاته.. للإستيراد من اكسل الى اكسيس ، راجع هذا الموضوع:- أما التصدير من اكسيس لإكسل ، فأعتقد أن الكثير من المواضيع في المنتدى تحدثت عنه ، استخدم خاصية البحث ، علك تجد ما يناسبك. *أتابع من الجوال*
-
مداخلة .. اجعل خاصية Modal = Yes للنموذج والتقرير أولاً ثانياً في زر الطباعة الموجود في النموذج Main وبعد هذا السطر ElseIf .ResultMain = 7 Then DoCmd.Close acReport, "youssef" قم بإضافة السطر :- DoCmd.OpenForm "main", acNormal ليصبح هذا الجزء كاملاً :- ElseIf .ResultMain = 7 Then DoCmd.Close acReport, "youssef" DoCmd.OpenForm "main", acNormal End If
-
وعليكم السلام ورحمة الله وبركاته .. تأملت منك توضيح كلمة الفرق هنا = ؟؟؟
-
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
في الرابط التالي ، سلسلة من دروس الأستاذ محمود عبدالغفار ، متأكد أنها ستقدم لك الإجابات الشافية بشكل مرئي .. https://www.youtube.com/hashtag/mahmoudtrainingmicrosoftvba_dao والدرس الأول أعتقد جواب لسؤالك -
نسخة التجربة للعميل بعدد سجلات معينه مع امكانية تفعيل النسخه
Foksh replied to Hamtoooo's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. فكرة جميلة ولا بأس بها .. واسمح لي بمداخلات في نقاطي التالية :- إذا كانت الفكرة تعتمد على عدد سجلات محدد ، فهذا يعني انك ستكرر إستدعاء الأكواد في جميع نماذج الإدخال ، صحيح ؟ إذا قام المستخدم ( العميل ) بشراء نسخة كاملة منك ، وتم عمل فورمات وتنزيل نسخة ويندوز جديدة ، فهل سيتأثر التفعيل بهذه الحالة ؟؟ هل رمز التفعيل الذي في مثالك أو غيره ثابت ، أم يختلف من نسخة الى نسخة أخرى ؟؟؟ هل يتم تشفير مفتاح وبيانات التفعيل في الريجستري ؟؟؟؟ هي فقط نقاط خطرت ببالي ، لأني اعتمد في مشاريعي على فكرة مشابهة ، وما زالت قي التطوير بجميع الصغرات التي أواجهها -
مكتبة الموقع - ⭐ أداة تحويل ملفات PDF الى صور 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. حياكم الله أخي أسعد ، الأداة منفصلة بذاتها للآن .. تستطيع استدعائها وفتحها من خلال زر مثلاً بأحد الخيارين التاليين :- On Error GoTo ErrorHandler Dim dbPath As String dbPath = CurrentProject.Path & "\PDF Converter - 64.accde" Application.FollowHyperlink dbPath Exit Sub ErrorHandler: MsgBox "حدث خطأ أثناء محاولة فتح قاعدة البيانات" & vbCrLf & Err.Description, _ vbExclamation + vbMsgBoxRight, "خطأ" أو استخدام الكود التالي :- On Error GoTo ErrorHandler Dim dbPath As String Dim ws As Object dbPath = CurrentProject.Path & "\PDF Converter - 64.accde" If Dir(dbPath) = "" Then MsgBox "ملف قاعدة البيانات غير موجود", vbExclamation Exit Sub End If Set ws = CreateObject("WScript.Shell") ws.Run Chr(34) & dbPath & Chr(34) Set ws = Nothing Exit Sub ErrorHandler: MsgBox "حدث خطأ أثناء فتح قاعدة البيانات" & Err.Description, vbExclamation + vbMsgBoxRight, "خطأ" Set ws = Nothing مع ضرورة تغيير اسم قاعدة البيانات في الكود ، وحيث أن مسار المشروع سيكون بجانب قاعدة بياناتك . وكلاهما يعملان ولكن الكود الأول قد ينتج عنه رسالة التنبيه هذه على سبيل المثال :- والسبب في بعض الأجهزة ونسخ الأوفيس عدم تعيين موقع قاعدة البيانات كمصدر موثوق ، لذا في الكود الثاني سيتجاوز هذا التحذير فقط لا غير .. -
مكتبة الموقع - ⭐ أداة تحويل ملفات PDF الى صور 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
أسعدكم الله أخي @Hamtoooo ، وبإذن الله قريباً جداً مميزات وتحسينات وإضافات جديدة ترقى بكم وبهذا المنتدى . -
⭐ هدية ~ مرسال الواتس أب الجديد 2025⭐ محدّث 4.0
Foksh replied to Foksh's topic in قسم الأكسيس Access
في التحديث الجديد تم إضافة ميزات وتحسينات كثيرة إن شاء الله 😇 . قريباً بإذن الله -
مكتبة الموقع - ⭐ أداة تحويل ملفات PDF الى صور 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته.. في زر *اعرض هذا الملف* ، ثم الزر "حمل هذا الملف* -
اظهار رسالة عدم وجود بيانات في التقرير اذا كان فارغاً
Foksh replied to بلال اليامين's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أولاً أخي الكريم ما علاقة النموذج الفرعي في حدث القرير !!!!! حاول ان يكون العنوان ذا صلة بالموضوع وأن يكون واضحاً . راجع هذا الموضوع ، سيفيدك كثيراً . فهو يحتوي ثمرة خبرة الأساتذة في هذا الموضوع -
تم طرح نفس المشكلة تقريباً في موضوع قديم هنا :- وللأسف كانت فكرتك مبنية على أنك لا تريد أن يتم الغاء التنشيط أو الرول باك .. صحيح !!
-
هذه بسيطة إن شاء الله ,, لكن تعليقي على هذه :- حيث ان عند تحويل الأوقات الى دقائق :- 300 + 360 + 300 + 300 + 389 + 300 + 375 + 366 + 270 + 380 + 300 + 380 + 375 + 270 + 330 + 300 + 375 + 375 + 300 + 375 + 300 = 7020 دقيقة وعند التحويل بقسمة المجموع على 60 7020 ÷ 60 = 117 ساعة إذاً الناتج يكون 117 ساعة .. أما في طلبك الإضافي :- SELECT Tbl_Salary.Mmonth, Format(Sum(DateDiff("n",[Start_Day],[End_Day]))\60,"00") & ":" & Format(Sum(DateDiff("n",[Start_Day],[End_Day])) Mod 60,"00") AS Total_Work_Time, Count(Tbl_Salary.ID) AS Work_Days, Round(Sum(DateDiff("n",[Start_Day],[End_Day]))/300,2) AS Actual_Work_Days FROM Tbl_Salary GROUP BY Tbl_Salary.Mmonth ORDER BY Min(Tbl_Salary.DDate); Mmonth Total_Work_Time Work_Days Actual_Work_Days May 153:30 28 30.7 June 117:00 21 23.4 July 139:28 25 27.89 August 133:35 23 26.72
-
وعليكم السلام ورحمة الله وبركاته .. استخدم هذا الاستعلام :- SELECT Tbl_Salary.Mmonth, Format(Sum(DateDiff("n", [Start_Day], [End_Day]))\60,"00") & ":" & Format(Sum(DateDiff("n", [Start_Day], [End_Day])) Mod 60,"00") AS Total_Work_Time, Count(Tbl_Salary.ID) AS Work_Days FROM Tbl_Salary GROUP BY Tbl_Salary.Mmonth ORDER BY Min(Tbl_Salary.DDate); سيعرض لك اسم الشهر ، ومجموع ساعات العمل فيه ، وعدد أيام العمل أيضاً Que_Foksh Mmonth Total_Work_Time Work_Days May 153:30 28 June 117:00 21 July 139:28 25 August 133:35 23 ملفك بعد التعديل :- JO_TIME.zip
-
وعليكم السلام ورحمة الله وبركاته .. هذه الرسالة تعني ان هناك دالة أو وظيفة أو ماكرو يحمل نفس الإسم : Kh_Date_Gender_Province قد يكون على سبيل المثال اسم الدالة بأحد هذه الخيارات :- Sub Kh_Date_Gender_Province() أو Public Function Kh_Date_Gender_Province تحقق من أن اسم الدالة غير مكرر في نفس الأكواد
-
تكرار الترقيم في نموذج لاحصائيات الاجازات لعموم الموظفين
Foksh replied to SAROOK's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته ,, حل مشكلتك إن شاء الله بسيط . في المديول اللي في مشروعك الرئيسي ، انقل الدالة التالية :- Public Function RowNum(frm As Form) As Variant On Error GoTo Err_RowNum With frm.RecordsetClone .Bookmark = frm.Bookmark RowNum = .AbsolutePosition + 1 End With Exit_RowNum: Exit Function Err_RowNum: If Err.Number <> 3021& Then Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description End If RowNum = Null Resume Exit_RowNum End Function الآن في النموذج استدعي الدالة التالية في مربع النص الذي تريد الترقيم فيه بدلاً من القديمة :- =RowNum([Form]) وأخبرنا بالنتيجة -
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
أنا مركز معاك وبكل حرف وزي ما تحب وزيادة 😎 شكراً لك ولمصدر معلوماتك على هذه المداخلة 😏 -
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
شكراً لك على أفادتي بالنتيجة ، وإن شاء الله قريباً إصدار جديد بمميزات خدمية شاملة . أما فيما يخص :- هناك كثير من الأسباب التي تجعل من مستخدمي أوفيس يستخدمون الإصدارات 32-بت ، أذكر لك منها - وليس عموماً - ما يلي :- التوافق مع الإضافات Add-Ins والمكتبات الخارجية . والسبب أن الكثير من هذه الإضافات والمكتبات تعمل بشكل فعال وثابت على الإصدار 32-بت مثل :- ( ActiveX و DLLs و COM ) . في البرامج والمشاريع الكبيرة آكسيس 32-بت يعتبر أكثر استقراراً وثباتاً .. والنقطة المهمة بنظري أنه إذا أنشأت برنامجك بـنسخة 32-بت ، فثق تماماً بأنه سيعمل على آكسيس 32-بت و 64-بت = ( النواتين ) دون حاجتك لتغيير أو إعادة كتابة الأكواد بسبب عدم توافق PtrSafe أو تغيير بعض أنواع البيانات ( مثل Long إلى LongPtr ) ... والعديد غيرها . رأيي الشخصي ، هذه النقطة ليست عميقة بما يكفي ، لأن هدف المبرمج ليس استعراض حداثة النسخة أو نواة النظام أمام المستخدم ، بل تقديم حل مستقر وثابت خالي من الأخطاء والمشاكل ، قابل للصيانة ، وسهل التوزيع على شريحة واسعة من المستخدمين . من وجهة نظر عملية ، إذا كانت النتيجة النهائية واحدة - سواء بُنيت على إصدار قديم أو حديث - فإن الوسيلة المستخدمة تصبح مجرد تفصيل ، وليست مقياساً للذكاء البرمجي . لذلك أختلف معك هنا ، لأن الذكاء الحقيقي يظهر في اختيار الأنسب للواقع ، وليس الأحدث بالضرورة 😁 . 🤗 هذه وجهة نظري وليست ملزمة - وهي قابلة للخطأ أو الصواب - . -
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
-
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
هذا لا شك فيه ، وهو فعلاً ما يتم 😇 -
تحويل pdf ⭐ هدية ~ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
سأحاول تثبيت نسخة أوفيس 2003 وتجربة حفظ نسخة خاصة منه مع التعديل على الأكواد لتتوافق معه 😅 ، وربنا يستر تحديث جديد إن شاء الله قريباً