-
Posts
2993 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
117
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
ولأنني غير متواجد حاليا أمام الكمبيوتر ، سأحاول غدا تقديم اقتراح ما لم تحصل على إجابتك من المعلمين والأساتذة 😇 .
-
تعديل كود التنقل بين السجلات في النمودج المستمر باستعمال الأسهم
Foksh replied to moho58's topic in قسم الأكسيس Access
مشاركة عالطاير ، جرب هذا التعديل :- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error Resume Next Select Case KeyCode Case vbKeyDown DoCmd.GoToRecord , , acNext Case vbKeyUp DoCmd.GoToRecord , , acPrevious Case vbKeyRight Me.SetFocus SendKeys "{TAB}" Case vbKeyLeft Me.SetFocus SendKeys "+{TAB}" End Select End Sub -
تعديل على طريقة ظهور الباركود في النموذج
Foksh replied to محمد التميمي's topic in قسم الأكسيس Access
الملف يعمل على 32 بت ، وانا لدي 64 بت للأسف 😪 -
وبهذا التعديل : Public Function RoundToNearestHalf(ByVal inputValue As Double) As Double Dim absValue As Double absValue = Abs(inputValue) If absValue - Int(absValue) = 0 Then RoundToNearestHalf = inputValue ElseIf absValue - Int(absValue) < 0.5 Then RoundToNearestHalf = Sgn(inputValue) * (Int(absValue) + 0.5) Else RoundToNearestHalf = Sgn(inputValue) * (Int(absValue) + 1) End If End Function
-
كيف اضغط الملفات التى لها نفس الاسم ولكن الامتدادت متغيرة
Foksh replied to mohamed_ets's topic in قسم الأكسيس Access
يعني تم حل مشكلتك اخي الكريم ؟؟؟ -
بما ااني حالياً اتابع من الجوال ، لنجرب هذه الفكرة :- Public Function RoundCustom(inputValue As Double) As Double Dim absValue As Double absValue = Abs(inputValue) RoundCustom = Sgn(inputValue) * (Int(absValue) + IIf(absValue - Int(absValue) <= 0.5, 0.5, 1)) End Function والاستدعاء سيكون في الخلية B1 مثلاً :- =RoundCustom(A1) لست ضليعاً في اكسل لهذا الحد ، ولكن هي فكرة وانتظر تجربتها 😅 من طرفكم أستاذنا الكريم.
-
مطلوب نقاش واتفاق على على تسمية الخاصية (افضل اجابة)
Foksh replied to ابوخليل's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته ،، وانا من المؤيدين لما طرحه معلمنا الفاضل @ابوخليل ، واعتقد بما أن للموضوع علاقة بالإجابة التي اعتمدها صاحب الموضوع ، أرى أن عبارة : تم إعتماد هذا الحل قد تكون مناسبة ، وهنا يأتي دور صاحب الموضوع بأن يُحسن اختيار هذه الميزة التي تم منحه إياها تعبيراً عن أن هذا الحل هو الذي تم اعتماده. -
في نموذجك ،، اجعل مصدر سجلاته استعلام يضم الحقول التي تريدها ، وفي الحقل الفريد المشترك بينهم وافترض انه رقم الموظف ، اجعل شرطه الكومبوبوكس الذي تريد منه اختيار الموظف ، واجعل مصدر صفه = حقلين من جدول الموظفين ، الأول رقم الموظف والثاني اسم الموظف . ثم في حدث بعض التحديث اجعله يقوم بتحديث النموذج.. لم أكتب لك ولاااا اي كود 😅
-
كيف اضغط الملفات التى لها نفس الاسم ولكن الامتدادت متغيرة
Foksh replied to mohamed_ets's topic in قسم الأكسيس Access
رغم أنك في قسم الآكسيس ، والمفترض ان تطرح سؤالك في قسم الويندوز والبرامج على ما اعتقد ، إلا أنه قد يكون هناك فرصة باستخدام الـ PowerShell كالآتي كمحاولة :- Get-ChildItem -File | Group-Object { $_.BaseName } | ForEach-Object { Compress-Archive -Path $_.Group.FullName -DestinationPath "$($_.Name).zip" } في داخل المجلد الذي يحتوي ملفاتك ، اضغط مفتاح Shift داخل المجلد والزر الأيمن للماوس اختر Open PowerShell window here من القائمة . ثم الصق السطر السابق . -
استاذنا @AbuuAhmed ، يسعدنا دائما زياراتكم في قسمنا 🤗 . بالنسبة لي اعتمدت هذه الفكرة التي طرحتها وتم تعديلها سابقاً ، كونها لا تؤثر على مجرى العمليات الحسابية ( اذا اعتمدنا على مساواة القيمة الحقيقية والظاهرة من خلال التنسيقات ) . لذا ذهبت الى تحويل الكود الى دالة عامة كالآتي :- Public Function RoundCustom(ByVal inputValue As Double) As Double Dim absValue As Double absValue = Abs(inputValue) RoundCustom = Sgn(inputValue) * (Int(absValue) + IIf(absValue - Int(absValue) <= 0.5, 0.5, 1)) End Function وللإستدعاء بشكل منفرد لكل عنصر نصي ( مربع نص ) في حدث بعد التحديث مثلاً :- Private Sub Text0_AfterUpdate() Text0 = RoundCustom(Text0) End Sub أما من خلال الإستعلام ، فلنا حاجة للإستدعاء كالآتي :- SELECT RoundCustom([اسم_الحقل]) AS RoundedValue FROM اسم الجدول; كمثال للتوضيح :- SELECT RoundCustom([Salary]) AS RoundedSalary FROM Employees; التعليق هو أطراف أفكار ليس إلا .. 😅 رغم ان الموضوع قد تم حسمه وإغلاقه بأفضل إجابة 😁 .
-
نموذج فيه اضافة وحذف يوجد فيه مشكلة ارجو المساعده
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)
-
مشاركة مع الأستاذ خليفة ، في مصدر سجلات النموذج الفرعي ، وعند حقل التاريخ ، اجعل الفرز تصاعدي .