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

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

  1. ابوآمنة

    ابوآمنة

    الخبراء


    • نقاط

      16

    • Posts

      713


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      15

    • Posts

      9937


  3. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      11

    • Posts

      1748


  4. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      5

    • Posts

      8723


Popular Content

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

  1. أولا يجب إضافة تعديل بسيط لدالتك لتصبح بهذا الشكل: Function sedqtr(mott As String) Dim se As String se = "" For i = 1 To Len(mott) se = se & Format(Asc(Mid(mott, i, 1)), "000") + Int(100 / 15) Next sedqtr = se End Function الدالة المعاكسة لها تكون كالتالي: Function sedqtr(mott As String) Dim se As String se = "" For i = 1 To Len(mott) Step 3 se = se & Chr(Val(Mid(mott, i, 3)) - Int(100 / 15)) Next sedqtr = se End Function
    5 points
  2. عن إذن أستاذي ومعلمي صالح تفضل 3333.accdb طبعاً الشفرة تسجل في الريجستري regedit
    4 points
  3. وعليكم السلام 🙂 هل زرت هذا الرابط ، وانزلت الرفق : جعفر
    4 points
  4. السلام عليكم 🙂 رجاء مراجعة موضوع النسخة 2 من هنا : واجهة هذه النسخة: البرنامج يقوم بهذه الخطوات التي يوصي بها المحترفين (كما هو موضح في الصورة اعلاه) ، طريقة العمل: 1. اختار ملف اكسس ، 2. اذا الملف محمي بكلمة سر ، فيمكن كتابته في المربع المخصص ، حيث سيتم حفظه في ذاكرة الكمبيوتر ، والتي يجب عليك ان تدخلها يدويا للقيام بالخطوات 2 و 3 لمرة واحدة ، بينما البرنامج سيدخلها تلقائيا للخطوات التالية ، 3. يجب ان تمسك مفتاح الشفت ، ثم تضغط على زر Decompile ، ولا تترك الزر إلا لما ينتهي البرنامج من عمله ، عندما نرى الخطوات 8 و 9 🙂 هذه النسخة اسرع من النسخة السابقة ، وافضل 🙂 جعفر Decompile_3.zip
    3 points
  5. السلام عليكم هذه دالة ممتازة للتشفير و فك التشفير وضعها الأستاذ @أ / محمد صالح جزاه الله كل خير Public Const trialdays As Integer = 30 Public Const encodekey As String = "mas" Public Const regpath As String = "HKEY_CURRENT_USER\software" Public Const regfolder As String = "masrfirst" Public Const mainform As String = "main" Function en_de(sMessage As String, Optional strKey As String = encodekey) Dim kLen, x, y, i, j, temp Dim s(256), k(256) 'Init keystream kLen = Len(strKey) For i = 0 To 255 s(i) = i k(i) = Asc(Mid(strKey, (i Mod kLen) + 1, 1)) Next j = 0 For i = 0 To 255 j = (j + k(i) + s(i)) Mod 255 temp = s(i) s(i) = s(j) s(j) = temp Next 'Drop n bytes from keystream x = 0 y = 0 For i = 1 To 3072 x = (x + 1) Mod 255 y = (y + s(x)) Mod 255 temp = s(x) s(x) = s(y) s(y) = temp Next 'Encode/Decode For i = 1 To Len(sMessage) x = (x + 1) Mod 255 y = (y + s(x)) Mod 255 temp = s(x) s(x) = s(y) s(y) = temp en_de = en_de & Chr(s((s(x) + s(y)) Mod 255) Xor Asc(Mid(sMessage, i, 1))) Next End Function قم بوضعها في وحدة نمطية منفصلة و يتم استدعائها بهذا الشكل Me.t = en_de(Me.v) v و t هما أسماء مربعات نص و هي تقوم بالتشفير و فك التشفير في نفس الوقت
    3 points
  6. السلام عليكم 🙂 الاستعلام الذي عملته انت : . بدون ربط بين الجداول ، وهذا معناه ، انك تطلب سجلات عددها : 16x8x11x16x27x24x10x6 = 875,888,640 (شوف صورة سجلات الجداول في الاسفل ، علشان تعرف من وين جئت بهذه الارقام 🙂 ) ، فهل سرعة محرك كمبيوترك CPU ، وكمية الذاكرة المؤقته RAM ، قادرة على عرض هذا الكم الهائل من السجلات 🙂 . خلينا نشوف استعلام علشان نفهم الموضوع : نخلي الجدولين فقط ، والي نعرف ان مجموع عدد السجلات سيكون : 16x8 = 128 . والنتيجة ، وكما يعرضها الاستعلام : . وهذا اللي عملنه انا بإستعمال مرفقك ، وهي الطريقة الافضل لبرنامجك : . ولكن ، هذه طريقة الاكسل في وضع البيانات ، بينما اذا اردنا تعديل الاكسس ، فيكون كالتالي: نعمل الجدول tbl_Salary والذي سيشمل جميع الجداول الثمانية ، وبدون حقلي "المحسوب" ، ومع اضافة حقل اسم "المجموعة" : . والنتيجة : . وعلى اساس هذا الجدول ، نعمل استعلام qry_Salary ، ونضيف الحقلين "مج الاستقطاع" و "الصافي" مع معادلاتهم : . ومقارنة سجلات الجدول السابق مع الاستعلام الجديد : . والآن وبكل بساطة تعمل الاستعلام الذي يقوم بعملية جمع الصافي : . والنتيجة : . جعفر 1197.wameed.accdb.zip
    3 points
  7. برنامج للحضور والانصراف للعاملين انا كنت نزلته قبل كده فى قسم الاكسس النسخه دى بعد اضافات جديده وشرح لطريقه الاستخدام وانا ضفته فى هذا القسم خوفا ان يكون مخالف انى انزل البرنامج مرتين وهترك المجال لإدارة المنتدي تتولى نقله من عدمه لقسم الاكسس صور البرنامج https://drive.google.com/open?id=1j5MJeQdaqHGL351Me9wD4x5hKcna0gPq https://drive.google.com/open?id=1y6qL4x8khyedccBXY-VSxZqhrdJPMT3W https://drive.google.com/open?id=1GB7gVZcAxfuocr_lU9YsbIHzRMafhUMm https://drive.google.com/open?id=1vcKj26_EoFJ57jrymPCdetXE9QOIHuVY https://drive.google.com/open?id=1XGykpvyh3YTWwLFf0Wyu1MZHObwO7uVa فيديو استخدام البرنامج رابط التحميل https://drive.google.com/open?id=1nrhgmtBR3iuhVwSoEUyS9AWebO2As1Rj وهرفق نسخه فى الموضوع
    2 points
  8. لا حاجة لرفع الملف بكامله (أكثر من 1100 صف) كان يكفي رفع نموذج عما تريد لا أكثر من 20 صف لمعاينه عمل المعادلات انظر الى هذا الملف My_sheet (1).xlsx
    2 points
  9. لا يا أخي الشفرة لا تسجل في الرجستري فالمتغيرات المعرفة فوق الدالة نحتاج منها سطر واحد فقط و البقية تستطيع حذفها لأنها خاصة ببرنامج آخر Public Const encodekey As String = "mas"
    2 points
  10. جرب هذا الكود Option Explicit Sub Join_array() Dim My_rg As Range, Entire_Mot$, Cel As Range Set My_rg = Union(Range("I5"), Range("C12"), Range("B13"), Range("E13"), _ Range("G13"), Range("C16"), Range("E16"), Range("H16"), _ Range("F18"), Range("H18")) For Each Cel In My_rg Entire_Mot = Entire_Mot & " " & Cel.Text Next Range("N14") = Mid(Entire_Mot, 1, Len(Entire_Mot) - 1) & "." End Sub
    2 points
  11. @احمد الفلاحجي شكرا استاذ احمد علي اهتمامك تم حل المشكلة من قبل اخينا الكريم استاذ صالح @ابوآمنة حاجة بسيطة يا استاذ صالح
    2 points
  12. الكود بعد وضع كود تجاوز الخطأ جرب الآن Sub AuditChanges(IDField As String, UserAction As String, UsedForm As Form) 'كود تجاز الخطاء ' On Error Resume Next Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim ctl As Control Dim datTimeCheck As Date Dim strUserID As String Set cnn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "SELECT * FROM revision", cnn, adOpenDynamic, adLockOptimistic datTimeCheck = Now() strUserID = Environ("USERNAME") Select Case UserAction Case "EDIT" For Each ctl In UsedForm.Controls If ctl.Tag = "Audit" Then If Nz(ctl.Value) <> Nz(ctl.OldValue) Then With rst .AddNew ![DateTime] = datTimeCheck ![UserName] = strUserID ![FormName] = UsedForm.name ![Action] = UserAction ![RecordID] = UsedForm.Controls(IDField).Value ![FieldName] = ctl.ControlSource ![OldValue] = ctl.OldValue ![NewValue] = ctl.Value .Update End With End If End If Next ctl Case "DELETE" For Each ctl In UsedForm.Controls If ctl.Tag = "Audit" Then With rst .AddNew ![DateTime] = datTimeCheck ![UserName] = strUserID ![FormName] = UsedForm.name ![Action] = UserAction ![RecordID] = UsedForm.Controls(IDField).Value ![FieldName] = ctl.ControlSource ![OldValue] = ctl.Value .Update End With End If Next ctl Case Else For Each ctl In UsedForm.Controls If ctl.Tag = "Audit" Then If Nz(ctl.Value) <> Nz(ctl.OldValue) Then With rst .AddNew ![DateTime] = datTimeCheck ![UserName] = strUserID ![FormName] = UsedForm.name ![Action] = UserAction ![RecordID] = UsedForm.Controls(IDField).Value ![FieldName] = ctl.ControlSource ![NewValue] = ctl.Value .Update End With End If End If Next ctl End Select rst.Close cnn.Close Set rst = Nothing Set cnn = Nothing Exit Sub End Sub
    2 points
  13. ان وسائل التواصل الاجتماعي لها مميزاتها و لكن مع احترامي لكافة الآراء ، أري أن المنتدى أفيد على المدى الطويل من اي من وسائل التواصل الاجتماعي التي قد تكون أسهل و لكن الاستفادة منها على المدى الطويل أقل و هذا رأي شخصي يحتمل الخطأ والصواب عندما أنشأنا جروب الفيس بوك ، حرصت ان يكون فقط وسيلة لنشر المواضيع و الفيديوهات و الا يكون فاعدة بيانات بديلة للمنتدى واذا ثبت أن هناك ما هو افضل من المنتدى كأداة للتوصل و تخزين و استرجاع المعلومات، فالحل سيكون فى الاستبدال و ليس الاضافة ، فوجود اكثر من قناة للتواصل على الرغم من مميزاته الا انه به تشتيت و تفرقة للجهود الى أرى أن الأصلح عدم تشتيتها.
    2 points
  14. وعليكم السلام اخي صالح 🙂 الضغط والاصلاح عمله مع كائنات الاكسس ، عدا الكود ، بينما الامر Decompile/Compile له علاقة بضغط واصلاح الكود 🙂 وفي برنامجي اتبعت ارشادات المحترفين في الجمع بين الطريقين ، وبالتسلسل الصحيح 🙂 جعفر
    2 points
  15. السلام عليكم 🙂 ولكن تأكد من انك تحتفظ بالنسخة الاصلية الغير مشفرة ، فأي تعديل (ولابد ان يكون هناك تعديل ، فالمثل المتعارف عليه بين المبرمجين: اذا استعملت البرنامج مدة وما اردت فيه تعديل ،ولا رأيت فيه مشكلة ، فأنت المستخدم فيك المشكلة !!) ، ولا يمكن القيام بالتعديل على النسخة المشفرة ، وتحتاج الى النسخة الغير مشفرة لعمل التعديل 🙂 ويجب تتبع رقم نسخة برنامجك (لا ليس نسخة الاوفيس ، وانما نسخة برنامجك) ، والاحتفاظ بجميع النسخ لديك ، فقد لا يملك كل مستخدم ، النسخة النهائية !! جعفر
    2 points
  16. تفضل أضفنا أمر DELETE في الوحدة النمطية ووضعنا الأمر عند الحدث في النموذج . copy.accdb
    2 points
  17. فورم اكسل بحث عن اسم الصحابى وصفته ونبذه عنه الفيديو الملفات كود البحث فى رجال حول الرسول.pdf بحث فى رجال حول الرسول.xlsm
    1 point
  18. هذه الخطوة رقم 1 ، وهي عمل نسخة من البرنامج قبل ان يقوم بالضغط ، ليش !! لأن الله يسلمك ، معظمنا لا يعمل نسخة من البرنامج ، واذا اثناء العمليات اعلاه اطفأت الحاسبة/الكهرباء ، فعلى برنامجك السلام !! كنت اعتقد بأنه يقول بذلك ، ولكني تأكدت بعد سؤالك ، بأنه يتأكد ولكن لا يخبرك بالنتيجة !! لذلك ، فأنا اعمل على النسخة التالية التي ستنبهك بذلك 🙂 جعفر
    1 point
  19. الشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا بالتوفيق اخى
    1 point
  20. السلام عليكم اساتذتى واخوانى -أقدم لكم هذا البرنامج وهو من برمجة وتصميم استاذنا الكبير / سامى محمد على وصور وشرح البرنامج داخل ملف الإكسيل وهناك نموذجان للبرنامج أحدهما يصلح لمدارس البنين والأخر لمدارس البنات واسم المستخدم للبرنامج : admin وكلمة السر : 123 يا رب ينال اعجابكم -جزاكم الله كل خير BOY.rar GIRL.rar صور وشرح البرنامج.docx
    1 point
  21. يعطبك الف عافيه اخي نعم هذا هو المطلوب مشكور جدا
    1 point
  22. اخي أحمد الفلاحجى اشكرك جدا علي تعاونك ١٠٠ ١٠٠
    1 point
  23. العفو أخي هو متغير ثابت
    1 point
  24. ابحث في المنتدى هناك الكثير من طرق توزيع الطلاب على اللجان .....
    1 point
  25. Public Const regpath As String = "HKEY_CURRENT_USER\software" ضيعني هذا السطر شكراً لك على التنبيه لكن هل هو متغيير أم ثابت Const
    1 point
  26. وعليكم السلام اتفضل اخى الفاضل ان شاء الله يكون طلبك بناء على رقم الحساب والعمله والاهم التاريخ ليعطينى الرصيد صحيح الرصيد التراكمى: DSum("Price";"wesam_tb1";"AccountName=" & [AccountName] & "And [PCurrency]=" & [PCurrency] & "and [dat]<=" & Format([dat];"\#mm\/dd\/yyyy\#")) والافضل باستخدام حقل رقم الحركه كما بالمرفق الثانى QTRseed: DSum("Price";"wesam_tb1";"AccountName=" & [AccountName] & "And [PCurrency]=" & [PCurrency] & "and [dat]<=" & Format([dat];"\#mm\/dd\/yyyy\#") & "and [id]<=" & [id]) صوره من المرفق الثانى تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق رصيد تراكمي.accdb رصيد تراكمي1.accdb
    1 point
  27. الف شكر استاذي الفاضل ابوآمنة
    1 point
  28. وعليكم السلام مشاركه لاخى العزيز @اشرف جزاه الله خيرا اتفضل اخى الفاضل @عذاب الزمان ان شاء الله يكون ماطلبت على قدر ما فهمت من سؤالك Private Sub TYPE_AfterUpdate() Dim x As String x = Me.TYPE.Column(0) ' If x = A Or x = 2 Or x = B Then = الجمله التاليه ولكن بقيمها بالجدول If x = 1 Or x = 4 Or x = 2 Then Me.COUNT_TYPE = DCount("TYPE", "TBL1", "TYPE=" & x) Me.txt3 = "" Else Me.txt3 = DCount("TYPE", "TBL1", "TYPE=" & x) Me.COUNT_TYPE = "" End If End Sub تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق TEST SUM&COUNT.accdb
    1 point
  29. 1 point
  30. 1 point
  31. انقل الكود فقط تم تعطيل رسالة الخطأ فقط
    1 point
  32. جرب هذا التعديل ()sub clear sheets("namesheet1").range("B2", "B13").clear sheets("namesheet2").range("h4","H16").clear sheets("namesheet3").range("h6", "h12").clear end sub
    1 point
  33. تفضل واخبرني بالنتائج copy.zip
    1 point
  34. حياك الله اخي @احمد حبيبه كرما ارفق مثال مصغر لنفهم ماتريد عمله
    1 point
  35. شكرا لك أستاذ صالح حمادي على الدالة كما يوجد عدة دوال أخرى وكل وحدة وطرقة المتبعة فيها ولكن أرد عكس هذيه دالة رغم بساطتها لم أنجح في ذلك وشكر جزيلا لك
    1 point
  36. إليك هذا الرابط ربما يفيدك
    1 point
  37. أحسنت اخى الكريم عمل ممتاز بارك الله فيك
    1 point
  38. حياك أخي اشرف كلنا تستفيد من بعض و يا ليتك وضعت مشاركتك ليختار الاخ الانسب له وأيضا هي إثراء للموضوع .
    1 point
  39. السلام عليكم ابوآمنة عمل جميل باسلوب سهل احسنت اخي الفاضل ابوهزاع العولقي حذفت المرفق السابق والرائع ابو امنة سبقني في الرد بعمل جميل ورائع اتمني ان يكون طلبك
    1 point
  40. هذا ما فعلته شكر الله لك وجزاك خيرا
    1 point
  41. للأسف لا املك نفس الاصدار لكني اعتقد ان عملية تحويل قاعدة البيانات الى accde هي نفسها في الاصدارات الاقدم من 2019 بعد عمل compile للأكواد والتأكد من خلو برنامجك من الأخطاء قم بعمل ضغط واصلاح اولاً ومن ثم توجه الى "حفظ ونشر" في قائمة ملف ومن ثم اختار انشاء accde
    1 point
  42. ضعه في الفورم form احذف اول سطر من الكود وضع مكانه Private Sub CommandButton3_Click() اذا كان رقم الزر التنفيذ 3 او استبدل 3 برقم زر التنفيذ
    1 point
  43. راح يطبع حسب اوامر طباعة PDF يعني عاوزاه A4 يطبع عوزاه A3 يطبع
    1 point
  44. اكتب على الوورد عادي وعند الطباعة اختار خجم الورق سواء كان A3 أو A4 اذا اخترت الطباعة على ورق حجم A3 اختار ضبط من خصائص الطباعة سيقع توزيع المحتوى على كامل حجم الورقة
    1 point
  45. وعليكم السلام تفضل استعلام عن الرقم الألى.xlsx
    1 point
  46. السلام عليكم ...أنظر المرفق به يوزرين الاول صلاحيات كاملة والاخر بدون فتح النموذج : 1 1 الثاني 2 2 kan1.accdb_2.zip
    1 point
  47. انا اتكلم برمجيا لا محاسبيا.. القيمة تم رصدها في قاعدة البيانات بقي اما استلامها او دفعها فالواجب من منظور برمجي : ان القيمة في السند يتم جلبها آليا من جدول الفواتير او بعضا منها , وما يتم سداده يتم التأشير عليه وما المانع الخزينة يكون مصدرها جدول التفاصيل ، ما هي كلها جداول هنا او هناك ، والقيمة المدفوعة والمتبقية مرصودة . ما انت في الاخير ستعمل مقارنة بين المقبوضات والمبيع وكذلك بين المشتريات والمدفوع من اجل اخراج الربح والخسارة ، يعني ستضطر مجبرا ان تجمع بين جدولك الجديد اللي اسميته جدول الصندوق مع جدول التفاصيل في استعلام واحد مع ان العمليات كلها جاهزة في جدول التفاصيل فقط تحتاج لحقل يبين المسدد من غيره ومثل ما ذكرتك لك اخي الكريم هذا رأي انفرد به قد يكون غير صحيح لوجود خطوات مستقبلية تتعارض وفكرتي .. انما هي فكرة وتصور لما يحدث داخل قاعدة البيانات من اجراءات وعمليات
    1 point
×
×
  • اضف...

Important Information