اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Moosak

أوفيسنا
  • Posts

    2166
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    55

كل منشورات العضو Moosak

  1. شوف هنا : 🙂
  2. تفضل أخي figo82eg 🙂 إضغط على المسار بالنفس للمعاينة PIC-Fixed.rar
  3. اسم التقرير مكتوب خطأ تأكد من كتابته بشكل صحيح 🙂
  4. تفضل أخي أبو حودة 🙂 يتم تصفية الإخوة فقط بعدما تختار أحد نتائج البحث .. تجارب.accdb
  5. وعليكم السلام ورحمة الله وبركاته 🙂 حياك الله أخي العزيز .. نعم حصلت معي كذلك .. والحل موجود في هذا الفيديو وقد انحلت المشكلة معي ولله الحمد ..
  6. السلام عليكم ورحمة الله وبركاته .. اليوم جايب لكم موقع وظيفته يقرأ أو يشرح لك الكود بلغة إنجليزية مفهومة ، ويمكنك عن طريق المترجم تحويلها إلى اللغة العربية 🙂 وهذا هو الموقع : https://denigma.app الموقع بفضل الله يتعامل مع معظم اللغات البرمجية تقريبا ، ومن ضمنها الفيجوال بيسك VBA .. وهذا شرح مبسط للاستخدام .. بعد فتح الموقع ننزل تحت إلى هذي الخانة، يوضع الكود في الخانة اليسرى ويظهر التفسير في الجهة اليمنى : نجرب نلصق دالة حساب العمر بالسنة والشهر واليوم ونضغط على [Explain it!] : ولترجمته باللغة العربية ، تأخذ النص لمترجم جوجل فيعطيك النتيجة هكذا : 🙂 هذا وسلامتكم ☺️🌹
  7. وهنا الدالة الأخيرة ( علشان ما أغار ) 😂 حساب العمر.rar
  8. أولا : متأكد أن إجايتك هي أفضل إجابة ؟ 😏 ثانيا هذا شرح مترجم للكود : يبدأ الكود بالتصريح عن المتغيرات التي سيتم استخدامها في البرنامج. تم التصريح عن المتغير db ككائن DAO.Database ، وتم التصريح عن rsP ككائن DAO.Recordset. يفتح الرمز بعد ذلك عبارة SQL لتحديث جميع السجلات في جدول astkbal بقيم 0 لحقول golos1 و lagna ، ولكن فقط إذا لم يتم تعيينها بالفعل على 0 (BOF). إذا لم يتم العثور على سجلات (EOF) ، فإنه يمر عبر كل سجل حتى يعثر على سجل تم فيه تحديث كل من lagna و golos1 إلى الصفر (LOF). ثم ينتقل للعثور على سجل آخر حيث تم تحديث lagna من قيمته الحالية ، والتي تم تعيينها مسبقًا بواسطة rsP! lagna = rsP! lagna؛ تستمر هذه الحلقة حتى تصل إلى x = rsP! frist_golos-rsP! end_golos أو حتى تصل إلى نهاية الملف (EOF) في rsL. بعد تحديث جميع السجلات في قاعدة البيانات ، يتم إغلاقها قبل إغلاق نفسها باستخدام Close (). يستخدم الكود لتحديث جدول الاستقبال من أجل توزيع الطلاب على الفصول الدراسية. يبدأ الكود بفتح مجموعة سجلات لـ tb_Prepare. يتم فحص BOF و EOF قبل متابعة الحلقة. إذا لم يكن هناك خطأ ، فسيستمر مع حلقة while التي ستتكرر خلال جميع السجلات في rsP حتى يتم الوصول إلى rsL. بمجرد الوصول إلى rsL ، سيتم الانتقال إلى السجل التالي وتحريره بحيث يتم تعيين lagna = 0 و golos1 = 0 لكل طالب في صف rsL. بعد تحرير صف كل طالب ، سينتقل إلى تحديث صف كل طالب مرة أخرى بعد تجاوزهم جميعًا.
  9. وهذه دالة أخرى : Function fAgeYMD(StartDate As Date, EndDate As Date) As String 'Purpose: Returns the difference between StartDate and EndDate in full years, months and days 'Coded by: raskew 'To call: ' ? fAgeYMD(#7/6/54#, #10/3/84#) 'Returns: ' 30 years 2 months 28 days Dim inthold As Integer Dim dayHold As Integer inthold = Int(DateDiff("m", StartDate, EndDate)) + _ (EndDate < DateSerial(year(EndDate), month(EndDate), Day(StartDate))) If Day(EndDate) < Day(StartDate) Then dayHold = DateDiff("d", StartDate, DateSerial(year(StartDate), month(StartDate) + 1, 0)) & Day(EndDate) Else dayHold = Day(EndDate) - Day(StartDate) End If fAgeYMD = Int(inthold / 12) & " year" & IIf(Int(inthold / 12) <> 1, "s ", " ") _ & inthold Mod 12 & " month" & IIf(inthold Mod 12 <> 1, "s ", " ") _ & LTrim(str(dayHold)) & " day" & IIf(dayHold <> 1, "s", "") End Function طريقة الاستدعاء : fAgeYMD(StartDate, EndDate)
  10. أخي حسين تفضل قمت بعمل المطلوب 🙂 : ولكن انتبه إلى أن عدد أرقام الجلوس التي وضعتها هي أقل من العدد الفعلي للطلاب ... لذلك بعض الطلاب لم يتم توزيعهم .. وهذا الكود الذي تم استخدامه : Private Sub LejanBtn_Click() On Error GoTo HandleError Dim db As DAO.Database Dim rsP As DAO.Recordset Dim rsL As DAO.Recordset Dim x As Integer CurrentDb.Execute "UPDATE astkbal SET astkbal.golos1 = 0, astkbal.lagna = 0;" Set db = CurrentDb Set rsP = db.OpenRecordset("tb_Prepare") If Not rsP.BOF And Not rsP.EOF Then rsP.MoveFirst While (Not rsP.EOF) Set rsL = db.OpenRecordset("SELECT * FROM astkbal WHERE [saf]= '" & rsP!saf & "' and lagna = 0 And golos1 = 0;") If Not rsL.BOF And Not rsL.EOF Then rsL.MoveFirst For x = rsP!frist_golos To rsP!end_golos rsL.Edit rsL!lagna = rsP!lagna rsL!golos1 = x rsL.Update rsL.MoveNext Next x End If rsP.MoveNext Wend End If rsP.Close rsL.Close Set db = Nothing Set rsP = Nothing Set rsL = Nothing Me.Requery MsgBox "تم توزيع اللجان بنجاح" HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Exit Sub Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.Description End If Resume HandleExit End Sub اعداد الجان_تعديل.rar
  11. هل التوزيع يكون بشكل عشوائي أم له نظام معين ؟ ماذا تقصد بـ بداية اللجنة ؟ و بداية رقم الجلوس ؟ من الجيد لو تعطينا نموذج للشكل النهائي الذي تريده ... لكي لا يكون العمل مبني على تقديرنا الشخصي 🙂
  12. وعليكم السلام ورحمة الله وبركاته .. 🙂 لعلك تجد حاجتك هنا :
  13. شكرا لك أخي مبرمج سابق مبدع بالفطرة ..🙂 أرى أنك أعتمدت على فرضية أن الحقل Id موجود ومرتب تصاعديا بدون وجود نواقص (حقول محذوفة) .. ماذا لو أن حقل ال Id مكتوب هكذا xml0620220856 ؟ كيف نستطيع الحصول على ال 100 سجل الأولى ؟ ثم المائة التالية ؟ ولو كان لدينا 3 قوائم ListBox مثلا في نفس النموذج نريد فيها تقسيم السجلات إلى 3 أقسام متساوية .. كيف نفعل ذلك ؟؟ طبعا الهدف من السؤال هو تحريك الدماغ .. والاستفادة من خبراتكم .. وإثارة روح التحدي .. 👍🏼😁
  14. العفو دكتور .. ضع أمام الديسيمل بليسس رقم 0
  15. أهلا بك أخي .. تستطيع عمل ذلك من خلال إنشاء عدة استعلامات، ومن لوحة الخصائص Top Values تكتب النسبة أو عدد السجلات المطلوب عرضها .. ثم تنشيء استعلام آخر تكتب فيه نسبة السجلات ومن المعايير تستخدم دالة ()Not In لإخباره بأن يظهر السجلات غير الموجودة في الاسعلام الأول .. وهكذا ( ملاحظة ظريفة 🙂 : عدم إرفاق السائل لملف للتطبيق عليه ، يعني أنه يكتفي بالشرح النظري ولا يحتاج للتطبيق العملي )
  16. وعليكم السلام ورحمة الله وبركاته دكتور لست متأكد من هذه المعلومة ، ولكن أعتقد أن هذه صياغة علمية لإظهار الأرقام . ولحلها غير تنسيق مربع النص إلى Standard النتيجة : لاحظ النوع بعد التالي لـ Standard اسمه Scientific يأخذ نفس الصياغة السابقة
  17. تفضل أخي عبدالعزيز .. هي نفس طريقة أخي kanory ولكن بتعديل بسيط تضع قناع الإدخال هكذا (في الجدول و / أو النموذج) : 00/00/"202"0 وستراه عند الإدخال هكذا : Database1.accdb
  18. فعلا 100% 😉👌🏼 والحد الثاني لسلاحنا أنه صديق المحترفين أمثالكم 😅
  19. أنا مستمع جيد .. نورني بسيطة .. غيرها إلى Dlookup 🙂 DLookUp("[totalbook]";"[tblibrarey]";"[books] ='"& [Forms]![finfo]![bx] &"' And [readers] ='"& [Forms]![finfo]![rx] &"' ") العفو حبيبنا 😊🌹
  20. شكلي ما أعرف أروج صح .. عليك بالكاتب الذكي لدوال المجال وهذا الحل : DCount("*";"[tblibrarey]";"[books] ='"& [Forms]![finfo]![bx] &"' And [readers] ='"& [Forms]![finfo]![rx] &"' ") test5.accdb
  21. شكرا لك أستاذي العزيز على التشجيع والتحفيز ، جزاك الله خيرا ..🌹 فعلا نبهني أحد أصدقائي لهذه النقطة .. والحل هو أن يتم تخزين جميع العمليات الحسابية والتعامل معها مرة واحدة بدل إجراء العمليات كل على حدة .. عسى أن يتسنى الوقت لعمل إصدار جديد للحاسبة 🙂 وأشكرك جدا على التنبيه 😊🌹
  22. في خصائص النموذج ضع قيمة ال Data Entry > Yes أو ( إدخال بيانات ) بالعربي
  23. أسهل من العسل 🙂 فقط أضفت دالة ()NZ لتجنب القيمة الفارغة =Nz(DSum("[add_amount]";"[add]";"[add_date] >=#"& [Forms]![Employee]![date1] &"# And [add_date] <=#"& [Forms]![Employee]![date2] &"# And [emp_id] ="& [Forms]![Employee]![Employeecbo] &" ");0) test_5.rar
×
×
  • اضف...

Important Information