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

نجوم المشاركات

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      21

    • Posts

      9937


  2. husamwahab

    husamwahab

    الخبراء


    • نقاط

      9

    • Posts

      1047


  3. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      7

    • Posts

      3463


  4. الرائد77

    الرائد77

    الخبراء


    • نقاط

      4

    • Posts

      238


Popular Content

Showing content with the highest reputation on 04/24/20 in مشاركات

  1. نعم ، انشئ استعلام خاص "بمعلومات المشرف" فقط ، ثم انشئ استعلام مجاميع لجدول "الزيارات" ، تجمع فيه الحقول m,q, ..... ثم اعمل استعلام ثالث ، تجمع فيه الاستعلامين اعلاه ، وهو يكون مصدر بيانات التقرير "معلومات المشرف" جعفر
    3 points
  2. السلام عليكم في نقاش مع الأستاذ @رمهان في أحد المواضيع اقترح عليا فتح موضوع حول إغلاق البرامج المتصلة بالشبكة من أجل النقاش و إثراء الموضوع. و لقد قمت بهذا الصدد بتصميم مثال يجعل مدير الشبكة يتحكم في إغلاق جميع البرامج (الأجهزة) المتصلة عبر الشبكة. شرح فكرة البرنامج: قمت بإضافة جدول لقاعدة البيانات اسمه tbl1 و وضعت به حقل اسمه code_edit نوعه رقمي تعتمد الفكرة على إعطاء هذا الحقل قيمتين 0 أو 1 في نسخة المستخدم هناك نموذج الواجهة frm يتحسس لقيمة الحقل code_edit إذا وجدها 1 يفتح نموذج آخر يبدأ بالعد التنازلي من 10 لإغلاق القاعدة و عند فتح القاعدة مرة ثانية يظهر نموذج العد التنازلي مرة أخرى لأن قيمة الحقل 1 يتم تغيير قيمة الحقل من خلال زري أمر في نسخة المدير (إغلاق الأجهزة المتصلة و منع الإتصال ، السماح بالإتصال) في المرفق ثلاثة ملفات نسخة المدير و نسخة مستخدم و db بعد تحميل المرفق قم بتحديث إرتباط نسخة المدير و نسخة مستخدم مع القاعدة db افتح الملفين نسخة المدير و نسخة مستخدم و اضغط على زر إغلاق الأجهزة المتصلة و منع الإتصال في نسخة المدير سوف تلاحظ ظهور نموذج العد التنازلي في نسخة المستخدم و إن كانت لك شبكة داخلية تستطيع نقل نسخة المستخدم لجهاز آخر و تحديث الإرتباط و تجربة البرنامج. eloued.rar
    2 points
  3. السلام عليكم . رمضان مبارك تقبل الله منا و منكم في الملف كود لإظهار القيم المكررة مع رقم الصف الموجود فيه التكرار في MSGBOX اظهار المكرر في رسالة.xlsm
    2 points
  4. تم عمل تغيير على الاستعلامات مصدر بيانات التقرير : . والنتيجة . جعفر 1216.visit.accdb.zip
    2 points
  5. معليش فين التكرار نزلت المرفق ولم الحظ التكرار ؟؟؟
    2 points
  6. شکرا لک في الحقيقة انا ما نظرت النتيجة هكذا تخياتي
    2 points
  7. بعد اذن اخي واستاذي @Shivan Rekany المجموع غير صحيح ويمكن استبدال الكود =Nz([male];0)+Nz([Famale];0) بالكود =Nz(Val([male]);0)+Nz(Val([Famale]);0)
    2 points
  8. السلام عليكم ايضا اذا اردنا التخيير بين فتح النموذج لعرض البيانات والتعديل عليها وبين فتحه لإدخال البيانات Private Sub Form_Open(Cancel As Integer) If MsgBox("Yes = لإدخال بيانات جديدة" & vbCrLf & _ "NO = لعرض البيانات والتعديل", _ vbQuestion + vbYesNo, _ "عرض وإدخال") = vbYes Then Me.DataEntry = True Else Me.DataEntry = False End If End Sub
    2 points
  9. تفضل اخي العزيز ارجو ان يكون طلبك لا يوجد بيانات1.rar
    2 points
  10. كنت أعاني من هذا المشكل وتمحله بهذا الشكل #If win64 Then declare PtrSafe Sub Sleep Lib "kernel32" (byval dwmilliseconds as Long ) #Else Declare Sub sleep Lib "kernel32" (ByVal dwmilliseconds As Long) #End If
    2 points
  11. بارك الله بك اخي رائد اليك كود اخر بنفس الموضوع لكنه يفوم بترتيب النتيجة ابجدياً (مع حق اختيار القيم الفريدة) Option Explicit Sub My_code() Dim list As Object Dim Rng As Range, rcell As Range Dim D As Worksheet, Lr_A% Dim Answer As Byte Set D = Sheets("Duplicates") Lr_A = D.Cells(Rows.Count, 1).End(3).Row Set list = CreateObject("System.Collections.ArrayList") Set Rng = D.Range("A2:A" & Lr_A) D.Range("D1").CurrentRegion.Clear Answer = MsgBox("Do you want all data Or Only the Unique values", 4) For Each rcell In Rng.Cells '++++++++++++++++++++++++++++++++++++++++++++++++++ If Answer <> 6 Then list.Add (rcell.Text) '* Else If Not list.Contains(rcell.Text) Then list.Add (rcell.Text) '** End If '+++++++++++++++++++++++++++++++++++++++ Next rcell list.Sort MsgBox Join(list.ToArray, vbCrLf) D.Range("D1").Resize(list.Count) = _ Application.Transpose(list.ToArray()) Set list = Nothing End Sub الملف مرفق Sortig_Data.xlsm
    2 points
  12. بارك الله فيكم أساتذتي الكرام. أنا تلميذ هذا الصرح العظيم و الرائع. كل عام و أنتم بخير و بارك الله فيكم . و جعل كل ما تقدمونه في ميزان حسناتكم. ووفقكم لما يحبه و يرضاه. بارك الله فيك أستاذنا علي . و جزاك الله خيرا
    2 points
  13. السلام عليكم . تقبل الله منا و منكم الصلاة و الصيام و القيام إن شاء الله لقد قمت بإضافة تحديث للبرنامج يمكن الزبون من تأجيل عملية إغلاق البرنامج لأجل حفظ العمل المتواجد بين يده. أضفت زر أمر في نموذج العد التنازلي عند الضغط عليه يغير العد من 60 و يغير حجم النموذج و ينقله للركن العلوي في الجهة اليسرى من الشاشة close pro.rar
    2 points
  14. الخطأ في الفرز لأنه كان يفرز حقل نص ، فاستبدلت الحرف A بالرقم 9999999999 (يعني رقم كبير) ، ثم استخدمت الدالة val لتحويل القيمة الى رقم : . ونفس الشيء في التقرير ، فطلعت النتيجة : . جعفر 1212.1.TEST_QUERY(1).accdb.zip
    1 point
  15. ( jjafferr )السلام عليكم استاذ جزاك الله خير الجزاء والشكر موصول لكل الاخوة الذين حاولو مساعدتي مع احترامي وتقديري للجميع
    1 point
  16. 1. طيب وشو النتيجة ، انت ارفقت ارقام ، ولازم تشرحها ، شو الصح وليش ؟ 2. هاي مو مقبولة (نعم مقبولة لهذا الموضوع) 🙂 3. ما منه فائدة بملاحظتك رقم 2 !! 4. حياك الله أبوآمنة 🙂 جعفر
    1 point
  17. كل عام وانت بخير أخي أحمد @أحمد الفلاحجى بارك الله فيك ....
    1 point
  18. جزاك الله خيرا اخى محمد @Barna وزياده الخير خيرين وكل عام وانتم بخير ارفق موضوع لام عهود جزاها الله خيرا http://arabteam2000-forum.com/index.php?/topic/277583-نسخ-جداول-في-القاعدة-بعلاقاتها-الى-الاستاذة-أم-عهود/#comment-1356700 بالتوفيق اخوانى
    1 point
  19. أخي لو ارفقت مثال للمطلوب كان اسرع في حصولك للاجابة ... على العموم انت صدرت الجداول وتحتاج تصدير للعلاقات جرب الكود التالي لتصدير العلاقات أو ارفق مثال للتجربة .... Function ExportRelations(DbName As String) As Integer Dim ThisDb As DAO.Database, ThatDB As DAO.Database Dim ThisRel As DAO.Relation, ThatRel As DAO.Relation Dim ThisField As DAO.Field, ThatField As DAO.Field Dim Cr As String, i As Integer, cnt As Integer, RCount As Integer Dim j As Integer Dim ErrBadField As Integer Cr$ = Chr$(13) RCount = 0 Set ThisDb = DBEngine.Workspaces(0).OpenDatabase("C:\mydat.mdb") Set ThatDB = DBEngine.Workspaces(0).OpenDatabase(DbName$) For i = 0 To ThatDB.Relations.Count - 1 Set ThatRel = ThatDB.Relations(i) Set ThisRel = ThisDb.CreateRelation(ThatRel.Name, _ ThatRel.Table, ThatRel.ForeignTable, ThatRel.Attributes) ErrBadField = False For j = 0 To ThatRel.Fields.Count - 1 Set ThatField = ThatRel.Fields(j) Set ThisField = ThisRel.CreateField(ThatField.Name) ThisField.ForeignName = ThatField.ForeignName On Error Resume Next ThisRel.Fields.Append ThisField If Err <> False Then ErrBadField = True On Error GoTo 0 Next j If ErrBadField = True Then Else On Error Resume Next ThisDb.Relations.Append ThisRel If Err <> False Then Else RCount = RCount + 1 End If On Error GoTo 0 End If Next i ThisDb.Close ThatDB.Close ExportRelations = RCount End Function وتستدعيها بالكود التالي ... Call ExportRelations("C:\ExpAndImp.mdb") C:\ExpAndImp.mdb هي مسار القاعدة المصدر منها العلاقات .... جرب وأعلمنا بالنتيجة !!!!!!
    1 point
  20. اهى اخى واستاذى محمد @Barna جزاك الله خيرا ورمضان مبارك وكل عام وانتم بخير شوف المشرف عماد رقمه 36
    1 point
  21. التكرار اللى بيحدث ده من البيانات الاحصائيه للمشرف اللى بتتكرر مع جميع السجلات قم بازالتهم من الاستعلامات ثم انشىء لهم استعلام خاص بهم واجعل مصدر تقدير الخلاصه بالاستعلام الجديد وصفى بيانات بناء ع رقم المشرف عند الاستدعاء جرب ووافنا بالنتيجه
    1 point
  22. السلام عليكم عملنا نموذج لا يفتح اذا كان فارغ من البيانات طبحيث وضعنا وسيط مخفي يعد السجلات فاذا كان العدد صفر تخرج رسالة او نموذج يخبر انه لا يمكنك فتح النموذج كونه لا يوجد يه بيانات طيب الان لو بدنا نستفيد من هذا الامر في برامجنا طبعا لا يعقل ان اطلب من مستخدم البرنامج ان يضيف بيانات من خلال الجدول هل هناك طريقة ان يتم تخيير المستخدم اذا كنت ترغب باضافة بيانات وكان الجواب نعم يتم فتح النموذج رغما انه عدد السجلات صفر مرفق قاعدة البيانات واتمنى ان يكون الشرح واضح لا يوجد بيانات.accdb
    1 point
  23. قمت بتحميله وسوف اقوم بالنظر فيه وان شاء الله احد الاخوه واساتذتنا يساعد ايضا وان شاء الله ربنا ييسر الامور بالتوفيق اخى
    1 point
  24. حياك الله 🙂 على بركة الله 🙂 جعفر
    1 point
  25. اخواني الكرام Shivan Rekany kha9009lid بارك الله لكما كفيتم ووفيتم بالمطلوب وتم تعديل المثال ووضعه بعد التعديل بعد اذن اساتذتي الكبار لكي يستفيد منه كل باحث شكرا لكل من ساعدني في ميزان حسناتكم hatem (1).accdb
    1 point
  26. حيا الله الجميع وكل عام وأنتم بخير ممكن ادخل شرط اخر وبالعامل and الاجابه بنعم في الرساله مع عدد السجلات هذا ان احسنت الفهم تحياتي
    1 point
  27. بالعكس ، الفكرة جدا جميلة ، وتُظهر براعة المبرمج وفهمه في تسهيل امور المستخدم 🙂 انا شفت مجموعة من البرامج ، لما يفتح البرنامج ، نرى نموذج فارغ (شاشة بيضاء) ، ولا يوجد اي شيء ممكن ان يعمله المستخدم سوى الخروج من النموذج !! بينما الفكرة هنا ، ان نغير اعدادات النموذج : لجعل النموذج يقبل ادخال البيانات me.DataEntry = True me.allowedits = true me.allowadditions = true . هكذا فيتحول النموذج الى نموذج ادخال بيانات 🙂 جعفر
    1 point
  28. وعلشان يستفيد الجميع 🙂 1. بدأنا في الاستعلام ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : 2. في التقرير ، عينا ولنفس السبب ، فما ممكن ان نكتب اسم الحقل ، ثم نشير الى نفس الحقل في المعادلة (لأنه سيشكل حلقه LOOP في الحصول على النتيجة) : طبعا بإمكاننا ان نعطي الحقل اي اسم ، مثل ZZ ، ولكن حذاري ، فدائما استخدم اسم يعطي معنى للحقل/المتغير ، علشان بعد سنة لما تريد تعدل على الكود ، الاسماء تكون واضحة ولها معنى 🙂 جعفر
    1 point
  29. السلام عليكم استاذ عبد اللطيف سلوم استفسار : فكرة الكود هو انك تسلب اختيار المستخدم اذا لم يوجد سجلات ثم تريد ان تعيد له حرية الاختيار في نفس الكود اعتقد ان الفكرة غير منطقية
    1 point
  30. السلام عليكم 🙂 لو تتبعت التاريخ لما يدخل في دالتي ، لوجدت انه غير الذي تم ارساله ، ولم استطع معرفة السبب !! لهذا السبب ، استعمل نفس دالة التجربة التي استعملتها انت ، ولكن ارسل التواريخ الى دالتي اولا ثم الى دالتك ، وسترى ان النتيجة صحيحة ، يعني : بدلا عن ارسال التواريخ الى دالتك اولا Debug.Print YMD_Diff(Date1, Date2) , YMDDif(Date1, Date2) ارسل التواريخ الى دالتي اولا Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) . جرب Sub Test2() Dim Date1 As Date Dim Date2 As Date Dim yy As Integer, mm As Byte, dd As Byte Debug.Print "YMDDif" ,"YMD_Diff" Date1 = DateSerial(1970, 2, 28) Date2 = DateSerial(1970, 3, 1) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) Date1 = DateSerial(1970, 1, 31) Date2 = DateSerial(1970, 2, 27) Debug.Print YMDDif(Date1, Date2) , YMD_Diff(Date1, Date2) 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" 'Debug.Print YMD_Diff(Date1, Date2, yy, mm, dd, True) 'Debug.Print yy, mm, dd 'Debug.Print "--------------------" End Sub . لهذا السبب ، لما ارسلت التواريخ مباشرة الى الدالة ، كانت النتائج صحيحة : . ------------------------------------------------------------------------------------------------ ولكن هذا الكلام كله صار بسبب قولك : وفي الواقع تم اثبات ان الاكسس لا يعطي نتائج خطأ بين التاريخين ، وإنما الخطأ كان في دالتك اللي في اول مشاركة لك . وللعلم ، فتجاربك في مشاركتك الاخيرة ، ليست على دالتك الاصل (والتي اثارت كل هذا النقاش) ، وانما على دالتك التي قمت بتعديلها 🙂 ومثل ما قلت سابقا ، طريقة عمل دالتك جميلة 🙂 جعفر
    1 point
  31. الاخوة الاعزاء ... الاستاذ جعفر ... فهمت موضوع التسمية 😍 كل كلمات الثناء لاتفي للتعبير عن مساعدتك لي ، حتى وصلت ان لاحل لهما لاني بحثت كثيرا ولم اجد اجابة حتى ان هناك منتديات يبقى اعضاءهم المتسائلين يسالون دون اجابة خصوصا السؤال الاول. ... حاولت التاشير على افضل اجابتين لان السؤال كان فيه اجابتان ، والافضل لجواب واحد فاشرت على احدهما... الحمد لله على صحبتكم ومعرفتكم وشكرا لمؤسسي هذا الموقع الرائع .... شكرا للاخ احمد الفلاحجي المتابع لتساؤلاتي ومساعدتي في ايجاد الحلول دائما . اتمنى ان لا اكون ثقيلا عليكم ، فالافكار كثيرة والاستعانه بكم هو الحل دائما . جزاكم الله خيرا ... اخوكم الحاج ابو داود ...
    1 point
  32. السلام عليكم و رحمة الله و بركاته في المرفق قاعدة بيانات تحتوي على ثلاثة نماذج احدهم يتحكم بفتح و إغلاق النموذجان المتبقيان .. قد تفيد هذه العملية في الشبكات , لمراقبة فتح و اغلاق نموذج معين و الاطلاع عليه عن بعد ان كان مفتوحآ أم مغلقآ و بالامكان التحكم بزيادة عدد النماذج المراقبة على قدر ما تحتاج .. راجيآ الدعاء النماذج المفتوحة حاليآ.accdb
    1 point
  33. الف مبروك وبالتوفيق للاخ عبدالفتاح في بي اكسيل والاخ الرائد 77 وكل عام وانتم بخير ورمضان كريم
    1 point
  34. بارك الله فيكم جميعا كلها حلول ممتازة كل عام وأنتم بخير
    1 point
  35. الناتج صحيح اخي احمد بارك الله فيك ويذيدك من علمه شكراً
    1 point
  36. تفضل اخي العزيز ارجو ان يكون طلبك في النموذج الثاني فيه طلبك الثاني Root100.rar
    1 point
  37. السبب انك تقوم بتشغيل ملف البرنامج مباشرة الحماية ييتم على الملف و ليس على اسم الملف و بالتالي تعديل اسم الملف لن يفيد بشيئ
    1 point
  38. من المعروف ان Null قيمته اقل من الارقام ، لذا يجب ان نحتال على الاكسس ، حتى نظهر الارقام (بالتسلسل التصاعدي) فوق الخانات الفارغة Null ، فاللي عملته للحقلين ، هو تغيير اسم الحقلين (بإضافة الرقم 2 عليهم) ، ثم عمل معادلة ، بحيث نطلب من اكسس ان يستبدل الخانة الفارغة بالحرف A : . والنتيجة تصبح مثل ما نريد : . والان في التقرير ، نطلب من الحقل ان يغير القيمة A الى فراغ (حتى نخفي A ) (رجاء ملاحظة تغيير اسماء الحقول مرة اخرى) ، مع استعمال الحقلين للفرز (انظر اسفل التقرير) : . والنتيجة : . جعفر 1212.TEST_QUERY.accdb.zip
    1 point
  39. تنقيح للمشاركة الأخرة ، كوني لم أستطع التعديل عليها: Public Function YMD_Diff(inDate1 As Date, inDate2 As Date, _ Optional outY, Optional outM, Optional outD, _ Optional AddOneDay As Boolean = False) As String Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date 'تصرف من Hawiii ------------------------------------- Dim bkDate1 As Date, bkDate2 As Date bkDate1 = inDate1: bkDate2 = inDate2 If inDate2 < inDate1 Then inDate1 = inDate2: inDate2 = bkDate1 End If Do While Month(inDate1) = 2 Or Month(inDate2) = 2 Or Month(inDate1 - 1) = 2 inDate1 = DateAdd("m", 1, inDate1) inDate2 = DateAdd("m", 1, inDate2) Loop 'AddOneDay عند الرغبة في إضافة يوم في العمر أو المدة inDate1 = inDate1 + AddOneDay 'inDate1 - Abs(AddOneDay) 'تصرف من Hawiii ------------------------------------- iMonth = DateDiff("m", inDate1, inDate2) If Day(inDate1) > Day(inDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, inDate1) outD = DateDiff("d", dInterim1, inDate2) outM = iMonth Mod 12 outY = iMonth \ 12 'تصرف من Hawiii ------------------------------------- If outY + outM = 0 Then outD = Abs(bkDate2 - bkDate1) + Abs(AddOneDay) 'تصرف من Hawiii ------------------------------------- YMD_Diff = outY & "y/" & outM & "m/" & outD & "d" End Function
    1 point
  40. حياك الله 🙂 معلش ، خذني على قدر عقلي ، فأنا فهمي ضعيف 🙂 واكتب لي مثال في الاكسل لوسمحت وارفقه هنا 🙂 شو الموجود حاليا ، وشو اللي لازم يصير 🙂 جعفر
    1 point
  41. السلام عليكم 🙂 الدالة موجودة في اكثر من موضوع ، منها : . وانا قلت: . . . لا تعليق لدي على دالة اخي Hawiii ونتائجها . ولكن هناك خطأ في حساب اخوي ابو تراب ، فالمواقع التالية اعطتنا هذه النتائج: . و . و . عندما ادخلت هذه التواريخ على دالتي الاصلية ، حصلت على نفس النتيجة : . هذا الكلام جدا خطير ، وغير مقبول على الاطلاق !! حيث ان معظم مؤسسات وشركات العالم قائمة في حساباتها على البرامج ، ولا يمكن ان يكون هناك خطأ حتى بمقدار ساعة واحدة ، وإلا فحقوق الناس ستذهب هباءً !! المؤسسات وشركات العالم تدفع الملايين على برامجها حتى لا تقع في مثل هذا الخطأ ، ونحن نرفع هذا الكود ، مثله مثل بقية الاكواد والبرامج التجريبية ، و نوادر وتجارب سنين ، بالمجان 🙂 شكرا للأخ الاستاذ @محمد طاهر ان وفر لنا هذا المنتدى ، و بالمجان ، لنساعد اخواننا في طلب العلم ، ونحصل على الثواب الجزيل 🙂 جعفر
    1 point
  42. اخي يجب ان تطابق ما بين اليوزرفورم والشيت بخصوص العناصر التي يتم ترحيلها وجدت صعوبة في المطابقة الكلمات ليس نفسها كما يوجد خلايا مدمجة بالنسبة لي لااعلم طريقة الترحيل للخلايا المدمجة عليك بالغاء الدمج ان اردت المساعدة هذا ما استطعت القيام به user.xlsm
    1 point
  43. طيب بالنسبة لأولا : اعمل لكل تاريخ Combobox في التقرير ، بحيث يكون بنفس طريقة الـ Combobox اللي في النموذج (وممكن تعمل نسخة منه من النموذج وتلصقه في التقرير) 🙂 جعفر
    1 point
  44. اسف هذا هو التعديل الصحيح توزيع الاسم.accdb
    1 point
  45. يمكن هذا الكود يحل المشكلة الكود Option Explicit Sub edit_formula() Application.EnableEvents = False Dim my_rg As Range Dim cel As Range Dim t Dim r% t = Range("a1").Formula Dim lr%: lr = Cells(Rows.Count, 1).End(3).Row On Error Resume Next Set my_rg = Range("a1:a" & lr).SpecialCells(xlCellTypeBlanks) If Err.Number <> 0 Then GoTo 1 On Error GoTo 0 For Each cel In my_rg r = cel.Offset(-1, 0).Row t = Replace(t, "A1", "A" & r + 1) cel.Formula = t t = Range("a1").Formula Next 1: Application.EnableEvents = True End Sub '===================================== Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Row > 1 Then edit_formula End If End Sub الملف مرفق Auto num.xlsm
    1 point
×
×
  • اضف...

Important Information