بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
3284 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
128
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
نموذج فيه اضافة وحذف يوجد فيه مشكلة ارجو المساعده
Foksh replied to عمار العبيدي's topic in قسم الأكسيس Access
لا اعلم طريقة وبنية الملف الاصلي .. اذا كان بنائه بنفس الاسلوب فحتما ستواجه مشكلة .. هل انتبهت للحدث عند النقر التالي :- Private Sub اقسام_العمل_Click() [Forms]![اقسام العمل]![اقسام العمل] = [اقسام العمل] End Sub -
بإذن الله ، قريباً جداً مهندسنا الغالي
-
لم تقم بالتوضيح اخي الكريم ، الاحصاء يجب ان يكون مستندا الى شروط واضحة ، فالقيم في الجداول مبهمة وقد لا يعرف معناها إلا إنت ، وتحتاج تتبع حتى تتوضح الصورة لمن يقرأ ويطلع على المرفق .. في التقرير مثلاً :- ما النتيجة التي من المفترض ان تكون فيه ؟؟
-
-
السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) سأقدم لكم فيما بعد ( مرحلة التطوير والتعديل الأخيرة ) فكرة لتنفيذ عملية التحديث الهوائي ( Online ) . فيما يلي صورة لفكرة التحديث من مشروع قيد التحضير لصديق لي .. انتظرونا
-
وعليكم السلام اخي @عمار العبيدي ,, سأقدم لك طريقتين ، ولكن أولاً علينا تصحيح الأخطاء التي في النموذج "استعلام6" وهي انك جعلت مصدر البيانات للكومبوبوكس "السنة و الشهر" من نفس الاستعلام . على العموم ، الطريقتين تعتمدان على تغيير مصدر بيانات الكومبوبوكسين . مع تغيير مصدر السجلات لهما بحيث يجلبان فقط رقم السنة ورقم الشهر حسب الكومبوبوكس الآن من خلال الـ VBA وهي الطريقة الأولى قمت بادخال الاستعلام في الدالة التالية :- Private Sub MonthCounter() Dim db As DAO.Database Dim rst As DAO.Recordset Dim strSQL As String Dim MonthNum As Long If IsNull(Me.السنة) Or IsNull(Me.الشهر) Then Me.عدد_الأشهر_المتجاوزة = Null Exit Sub End If strSQL = "SELECT Count(*) AS عدد_الأشهر_المتجاوزة " & _ "FROM جدول2 " & _ "WHERE Year([بداية الاجازة]) = " & Me.السنة & " " & _ "AND Month([بداية الاجازة]) = " & Me.الشهر & " " & _ "AND ((DateDiff('d',[بداية الاجازة],[نهاية الاجازة])+1)>3 " & _ "OR (DateDiff('m',[بداية الاجازة],[نهاية الاجازة])+1)>0)" Set db = CurrentDb Set rst = db.OpenRecordset(strSQL, dbOpenSnapshot) If Not rst.EOF Then MonthNum = rst!عدد_الأشهر_المتجاوزة Else MonthNum = 0 End If Me.عدد_الأشهر_المتجاوزة = MonthNum rst.Close Set rst = Nothing Set db = Nothing End Sub ويتم استدعائها في حدث بعد التحديث للكومبوبوكس ( السنة و الشهر ) Private Sub السنة_AfterUpdate() Call MonthCounter End Sub Private Sub الشهر_AfterUpdate() Call MonthCounter End Sub والنتيجة في النموذج "استعلام6" أما الطريقة الثانية ، فتعتمد على الدالة DCount باستعلام داخلي داخل مصدر بيانات مربع النص "عدد_الأشهر_المتجاوزة" . بحيث يكون مصدر بياناته هذه الجملة الاستعلامية :- =IIf(IsNull([السنة]) Or IsNull([الشهر]),0,Nz(DCount("*","جدول2","Year([بداية الاجازة]) = " & [السنة] & " AND Month([بداية الاجازة]) = " & [الشهر] & " AND ((DateDiff('d',[بداية الاجازة],[نهاية الاجازة])+1)>3 OR (DateDiff('m',[بداية الاجازة],[نهاية الاجازة]) وهي تقوم بحساب عدد السجلات التي تتطابق مع الشرط . ولسلامة القيمة الظاهرة في مربع النص "عدد_الأشهر_المتجاوزة" قمت باستعمال الدالة الشرطية IIF مع IsNull حتى لا تعود لك النتيجة في المربع بالقيمة Error بل بالقيمة 0 . الملف بعد التعديل ( Database2.accdb )
-
بناءً على ما تفضلتم به أستاذنا الكبير @AbuuAhmed ، فأنه وجب تعديل اقتراحي ليصبح كالآتي :- Private Sub Text0_AfterUpdate() Dim absValue As Double absValue = Abs(Text0) Text0 = Sgn(Text0) * (Int(absValue) + IIf(absValue - Int(absValue) <= 0.5, 0.5, 1)) End Sub
-
نعم صحيح كلامك معلمي الفاضل @ابوخليل ، ما تفضلت به صحيح 100% . فإنه مع تحديثات ويندوز الجديدة تم تلافي وحل مشاكل لم تكن ظاهرة بشكل واضح لمستخدمي الويندوز . فمثلاً انا عندي نسخة ويندوز بتحديثات 2020 وتتعارض مع بعض تعريفات الأجهزة لدي عند توصيلها بالـ USB بينما مع ويندوز بتحديثات 2024 لم تظهر هذه المشكلة وتم علاجها . وما قصدته بالتعارض ليس بالتعارض الكامل بعدم قبول التثبيت مثلاً ؛ بل كما حدث مع الترقية لويندوز 10 الى 11 ونفس اصدار الاوفيس قد قامت هذه الحركة من ويندوز بإتلاف خصائص الكومبوبوكس ( في مشاركة سابقة ) . هذا والله اعلم
-
وعليكم السلام ورحمة الله وبركاته .. بما أنك قمت بإعادة تنصيب أوفيس مرة أخرى لي سؤال مهم .. هل قمت بتنصيب نفس النسخة السابقة ؟؟؟ اذا كان نعم فحاول أن تقوم باستخدام برامج لحذف البرامج من الجذور مع جميع ملفاتها من ويندوز . ثم اعد تنصيب نسخة مختلفة من اوفيس ( حدّث لأحدث إن كنت تستعمل إصدار قديم ) اذا استمرت المشكلة فقط يكون لديك مشكلة في الويندوز !!! ونقطة مهمة تذكرتها أيضاً ، هل إصدار الويندوز لديك 64 ، وإصدار الأوفيس 32 فقط !!!!! هذا قد يحدث تعارض وتضارب في ملفات التشغيل المشتركة بين أوفيس و ويندوز .
-
نموذج فيه اضافة وحذف يوجد فيه مشكلة ارجو المساعده
Foksh replied to عمار العبيدي's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أخي @عمار العبيدي ، بما أنك في بداية الطريق في طريقة تصميم قواعد البيانات ,, انصحك :- أولاً ودائماً أن تبتعد على الأسماء العربية للجداول والحقول والنماذج ... إلخ . ثانياً والمهم أن تهتم بسلامة تصميم الجداول وبناءها بشكل متين لأنها أهم ما في المشروع . ثالثاً فيما يتعلق في مشكلتك بما ان زر الحذف في النموذج الرئيسي ، فوجب عليك أن تحدد له السجل في النموذج الرئيسي أيضاً . وهذا لن يمنع أنه يوجد عدة طرق للحذف حتى لو السجل في نموذج فرعي . الفكرة التي تمت هي تحديد السجل بنقل قيمته عند النقر على حقل اقسام العمل في الفرعي لنقلها لمربع النص اقسام العمل . ثم سيتم الحذف دون اي مشاكل . test.accdb -
اهلا صديقنا @الدكتور جمال راجح ، مشكور ومأجور على البرنامج وجعله الله في ميزان حسناتك .. نرجو منك الشرح المدعوم بالصور للبرنامج وطريقة العمل عليه
-
جميل جداً مهندسنا الغالي بالنسبة لي قمت بتجربة الفكرة من خلال زر بأن يقوم بجعل القيمة في مربع نص منضم لحقل رقمي في الجدول = "A250" كمثال ، لكن لم تنجح محاولتي ، ولكن عند كتابة قيمة رقمية في المربع = " 250 " ظهرت النتيجة = "A250" لكنها ليست قيمة حقيقية قابلة للحفظ في حقل رقمي . لكن السؤال اللي أحدث ثغرة في تفكيري هو ، هل يتم حفظ القيمة الناتجة في الجدول في الحقل الرقمي هكذا = "A250" !!!!!!!!!
-
وعليكم السلام ورحمة الله وبركاته ،، بدلاً من التحايل على آكسيس ، اعتقد أن أفضل وأسلم طريق لك هو جعل الحقل نصي بدلاً من رقمي إذا كنت ذا حاجة لإضافة قيمة نصية و قيمة رقمية في حقل واحد . هذا والله أعلم
-
مشاركة مع الاساتذة ومعلمنا الفاضل .. Private Sub Text0_AfterUpdate() Text0 = Int(Text0) + IIf(Text0 - Int(Text0) <= 0.5, 0.5, 1) End Sub وهذه الفكرة من خلا الاستعلام :- RoundedValue: Int([اسم الحقل]) + IIf([اسم الحقل] - Int([اسم الحقل]) <= 0.5, 0.5, 1)
-
مشاركة مع الأستاذ خليفة ، في مصدر سجلات النموذج الفرعي ، وعند حقل التاريخ ، اجعل الفرز تصاعدي .
-
اسمحوا لي مشاركتكم ،، فقد أعجبت بالفكرة استناداً إلى ملف الأستاذ @Moosak ، وإن سمح لي بالتعديل عليه لتوليفه حسب حاجة أخونا @Mr-X التعديلات بسيطة الى حد ما ، ولكنها لبت المطلوب في المرفق التالي DBSize.accdb
-
مشاركة في النقاش مع الأخوة الأفاضل والأساتذة الكرام .. غالباً قد تحدث المشكلة بسبب عدم تسجيل مكتبات ActiveX التي يعتمد عليها الـ ComboBox جرب هذه الفكرة .. 1. افتح CMD في وضع التشغيل كمسؤول . 2. اذا كان لديك :- اصدار 32-Windows : اكتب هذين السطرين كل سطر في أمر مستقل regsvr32 C:\Windows\System32\mscomctl.ocx regsvr32 C:\Windows\System32\comctl32.ocx اصدار 64-Windows : اكتب هذين السطرين كل سطر في أمر مستقل regsvr32 C:\Windows\SysWOW64\mscomctl.ocx regsvr32 C:\Windows\SysWOW64\comctl32.ocx 3. أعادة تشغيل الويندوز مرة أخرى . * قد يعمل معك سطر واحد من إعادة تسجيل هذه الملفات ، ولا يشترط أن يتم تسجيل الملفين معاً . وفي بعض الإصدارات في اوفيس التي تتعارض مع الويندوز 11 بعد الترقية لا التثبيت الجديد ، قد تضطر لإعادة تثبيت أوفيس مرة أخرى .
-
تفعيل وايقاف نقطة بيع عن فتح البرنامج بعد مدة معينة
Foksh replied to الحلبي's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته.. اخي @الحلبي ، أسعد الله اوقاتك .. سابقاً كان لنا نقاش في هذا الموضوع ، وكان ردي لك ملف في هذه المشاركة . أتمنى أنك تستطيع استغلاله جيداً وتوظيفه حسب رغبتك 😇 . -
اختيار صورة واظهارها بالفورم وحفظها بجدول وفولدر
Foksh replied to kkhalifa1960's topic in قسم الأكسيس Access
يوجد فكرة في جمجمتي 😅 ، لكنها قيد التحضير والتنفيذ. إلا أن ضيق الوقت في العمل ما يشغلني عنها .. -
مشاركة جانبية مع الأستاذ خليفة .. جرب هذا الاستعلام ، وأدخل كلمة = إيليزي كما هو في مثالك في الصورة SELECT الولاية AS Expr1, الإجمالية.البلدية, الإجمالية.الجنس, Sum(IIf([نوع الإعاقة]='حركي',1,0)) AS حركي, Sum(IIf([نوع الإعاقة]='ذهني',1,0)) AS ذهني, Sum(IIf([نوع الإعاقة]='بصري',1,0)) AS بصري, Sum(IIf([نوع الإعاقة]='سمعي',1,0)) AS سمعي, Sum(IIf([نوع الإعاقة]='متعدد الإعاقة',1,0)) AS [متعدد الإعاقة], Count(*) AS [de CountC] FROM الإجمالية WHERE (((الإجمالية.[نسبة الإعاقة])='% 100')) GROUP BY الولاية, الإجمالية.البلدية, الإجمالية.الجنس ORDER BY الولاية, الإجمالية.البلدية, الإجمالية.الجنس;
-
من وجهة نظري .. أيضاً اتبع فكرة قديمة وهي :- 1. أنشئ مربع نص باسم C1 مثلاُ . 2. في حدث عند الشوائب اجعل قيمته = 0 Private Sub Form_Dirty(Cancel As Integer) Me.C1 = 0 End Sub 3. في حدث عند الإغلاق أو إذا كان لدي زر خاص بالإغلاق للنموذج DoCmd.CancelEvent If Me.C1 = 0 Then Me.Undo End If بالنسبة لي هذا يمنع الحفظ التلقائي للسجلات الغير مكتملة أولاً ، ثم يجعلني أتحكم في - متى أحفظ أو لا - السجلات في النموذج .
-
في مشاركتك الأولى ، أهلا وسهلاً بك معنا أخي الكريم @mhm55 . ونتمنى أن تجد ما تبحث عنه من فائدة ومعلومة ونصيحة اسمح لي أولا بلفت انتباهك إلى ضرورة التقيد بـ قوانين المنتدى ، حتى تصل إلى مطلوبك بشكل سريع و واضح . ومن هذه الأمور التي عليك الإلتزام بها :0 1. ضرورة الإيضاح في طلبك بشكل كافي و شافي و وافي . 2. ارفاق ملف لتوضيح الصورة إن لزم الأمر . 3. لوضع كود في المشاركة ، استخدم علامتي التكويد <> ثم لصق الكود ليكون سهلاً في القراءة ؛ كما سترى لاحقاً . أما بالنسبة لطلبك ومشكلتك ،، عليك أولا التأكد من أمرين مهمين هما :- 1. تأكد أن ملف الإكسيل موجود في المسار المحدد في الكود (CurrentProject.Path & "\ITEMX.xlsx") 2. تأكد أن اسم ورقة العمل في ملف الإكسيل هو فعلاً = "SHEET1$" . إذا كان الاسم مختلفاً ، قم بتعديله في الكود . 3. جملة الإستعلام في الكود الذي ارسلته غير صحيحة في آكسيس ، والتالي تعديل عله يكون صحيحاً * بعد تجربة الكود على ملف سابق كما أشار معلمنا @أبو إبراهيم الغامدي ، تبين ان الكود الأصلي في مشاركتك يعمل بدون أي مشاكل . والجملة 3 أعلاه أصبحت بعد لتجربة غير صحيحة أشكر معلمنا الفاضل للفت انتباهي
-
عرض تقرير حسب اختيار واحد او اختيار متعدد من مربع قائمة
Foksh replied to moho58's topic in قسم الأكسيس Access
بسيطة يا صديقي .. تستطيع ذلك بعدة طرق ، منها :- اولاً تعريف متغير عام في أي وحدة نمطية أو وحدة نمطية جديدة ، كما تريد Public SelectedGrades As String ثم ، تعديل الكود السابق ليصبح ما يلي :- Dim varItem As Variant Dim strCriteria As String Dim strFilter As String Dim strSelectedGrades As String If Me.lst_XX_100.ItemsSelected.Count = 0 Then MsgBox "يرجى اختيار عنصر واحد على الأقل من الليست بوكس.", vbExclamation, "تنبيه" Exit Sub End If For Each varItem In Me.lst_XX_100.ItemsSelected If Len(strCriteria) > 0 Then strCriteria = strCriteria & " OR " End If strCriteria = strCriteria & "(grade = '" & Me.lst_XX_100.Column(0, varItem) & "' AND " & _ "groupe = '" & Me.lst_XX_100.Column(1, varItem) & "')" If Len(strSelectedGrades) > 0 Then strSelectedGrades = strSelectedGrades & " - " End If strSelectedGrades = strSelectedGrades & Me.lst_XX_100.Column(0, varItem) Next varItem SelectedGrades = strSelectedGrades strFilter = "annee = '" & Me.ANNEE200 & "' AND (" & strCriteria & ")" DoCmd.OpenReport "rap_list", acViewPreview, , strFilter الآن في التقرير في حدث عند التحميل ، وعلى افتراض ان لديك مربع نص (TX_LBL) ؛ نضع الجملة التالية Me.Tx_Lbl.Value = SelectedGrades ولضمان تفريغ قيمة المتغير عند اغلاق التقرير ، ضع في الحدث عند الاغلاق للتقرير ، الكود التالي SelectedGrades = "" وملفك بعد التعديل ، ويضم الحل السابق وهذا الحل . base_m.accdb