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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      12

    • Posts

      9,814


  2. أبو إبراهيم الغامدي
  3. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      9

    • Posts

      3,491


  4. أبوعيد

    أبوعيد

    الخبراء


    • نقاط

      4

    • Posts

      1,541


Popular Content

Showing content with the highest reputation on 12 ديس, 2017 in all areas

  1. هذا من نبلكما أخواي وسابق فضلكما، ولا أعتقد أن ما قدمته يسمو إلى مقامكما.. ولكنه التواضع المعهود فيكما.. لا أظن أنني أحسن هذا النوع من المشاركات.. أرجو المعذرة..
    4 points
  2. الحين عرفت ، اسألتك السهلة عبارة عن طُعم ، لما تصيد الجواب ، تهجم عليه بالسؤال الصعب شتان بين حذف سجل ، وحذف مجموعة سجلات في النموذج الفرعي!! في النموذج الرئيسي ، اعمل الحدثين: Option Compare Database Option Explicit Private Sub cmd_Delete_Click() 'اذا اخترت السجل في النموذج الفرعي ، ثم ضغطت زر الحذف من النموذج الرئيسي مباشرة 'Screen.PreviousControl.SetFocus 'DoCmd.RunCommand acCmdDeleteRecord 'اما اذا اخترت السجل في النموذج الفرعي ، ثم اخذت لك لفة على كائنات النموذج الرئيسي 'فيجب ان يجب ان نخبر الكود ان عملنا سيكون على النموذج الفرعي 'frm_tap = اسم النموذج الفرعي 'Me.frm_tap.SetFocus 'DoCmd.RunCommand acCmdDeleteRecord Call Form_frm_tap.Delete_Record End Sub Private Sub frm_tap_Exit(Cancel As Integer) Call Form_frm_tap.rowsSelected End Sub . وفي النموذج الفرعي ، اعمل هذه الاحداث: Option Compare Database Option Explicit Dim Selected_Rows() As String Dim i As Integer Dim rst As DAO.Recordset Dim ctrl_Name As String ' Public Sub rowsSelected() ctrl_Name = "sit_no" Dim selH As Long, selT As Long ReDim Selected_Rows(0) selH = Me.SelHeight selT = Me.SelTop - 1 If Me.SelHeight <> 0 Then ReDim Selected_Rows(Me.SelHeight) Set rst = Me.RecordsetClone rst.MoveFirst: rst.Move selT For i = 0 To Me.SelHeight - 1 Selected_Rows(i) = rst(ctrl_Name) rst.MoveNext Next rst.Close: Set rst = Nothing End If End Sub Public Sub Delete_Record() On Error GoTo err_Delete_Record Set rst = Me.RecordsetClone For i = LBound(Selected_Rows) To UBound(Selected_Rows) - 1 rst.FindFirst "[" & ctrl_Name & "]=" & Selected_Rows(i) rst.Delete Next i Exit_Delete_Record: rst.Close: Set rst = Nothing Exit Sub err_Delete_Record: If Err.Number = 9 Then Resume Exit_Delete_Record Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . رجاء ملاحظة: 1. لازم تعطي اسم الحقل الى المتغير ، من هنا: ctrl_Name = "sit_no" 2. في الكود ، انا استعملت حقل رقم (انظر الكود اعلاه) ، فإذا استعملت حقل نص ، فيجب: تبديل هذا السطر rst.FindFirst "[" & ctrl_Name & "]=" & Selected_Rows(i) الى rst.FindFirst "[" & ctrl_Name & "]='" & Selected_Rows(i) & "'" جعفر 786.Delete_SubForm_Records.mdb.zip
    3 points
  3. وعليكم السلام ورحمة الله أهلا بك أستاذ عبد الفتاح ومرحبا.. عودا حميد.. أرجو أن أوفق لإرضاء طموحك.. لأني أتساءل كيف ستقوم باستخدم الطريقة على مستوى المستخدم؟! هل ستسلمة بيانات مفتوحة المصدر؟! أم أن لديك طريقة ما تتيح للمستخدم انتقاء حقول البيانات ومعالجنها ومن ثم تصديرها؟! على كل حال إليك الطريقة.. يمكن تصدير حقول مختارة من جدول أو استعلام عن طريق مزودات البيانات لأكسس (DAO,ADO) عن طريق خصيصة توصيف البيانات لكل منهما.. هناك فروق بسيط بين المزودين لكن سوف أركز على (DAO) لكونة المزود الافتراضي لأكسس.. يمكن توصيف البيانات على مستوى قاعدة البيانات، كما يمكن توصيف البيانات على مستوى مصدر السجلات (Recordset).. صيغة الشفرة لهذه المكونات كالتالي مكون (ِADO) Function OLEDB() As ADODB.Connection Set OLEDB = New ADODB.Connection OLEDB.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source =" & CurrentProject.Path & _ "\EMPLOYEES.XLSX;Extended Properties = 'Excel 12.0;HDR=YES;'" End Function مكون (DAO) Function XLDB() As DAO.Database DB_PATH = CurrentProject.Path & "\BOOK2" Set XLDB = OpenDatabase(DB_PATH, True, False, "EXCEL 12.0;HDR=YES;") End Function يكون مصدر البيانات لهذين المكونيين هو ملف أكسل، فإذا كان ملف أكسل موجود مسبقا فإن المكون سيقوم بإدراج ورقة البيانات إلى الملف، أما إذا كان ملف أكسل غير موجود فسيقوم المكون بإنشاء الملف وإدراج ورقة البيانات.. إذا كان ملف أكسل يحتوي على ورقة بيانات بنفس الاسم فسيعيد المكون رسالة الخطأ (3010) مفادها أن ورقة البيانات موجودة مسبقا.. ينطبق ما سبق على مكون مصدر السجلات (Recordset) وهذه صيغته Sub EXPORT_TO_EXCEL_02(SHEET_NAME) '.. EXPORT TO EXCEL USING CURENTDB EXECUTE CurrentDb.Execute "SELECT ID, [LAST NAME],[FIRST NAME] INTO [" & SHEET_NAME & "]IN'" _ & CurrentProject.Path & "\employees'[Excel 8.0;HDR=yes;] FROM EMP1" End Sub يمكن أيضا استخدام (DOCMD.RUNSQL) لكونها تعمد على (DAO) في مصدر البيانات وهذه صيغته Sub EXPORT_TO_EXCEL_01(SHEET_NAME) '.. EXPORT TO EXCEL USING DOCMD RUNSQL DoCmd.RunSQL "SELECT ID, [LAST NAME],[FIRST NAME] INTO [" & SHEET_NAME & "]IN'" _ & CurrentProject.Path & "\employees'[Excel 8.0;HDR=yes;] FROM EMP1" End Sub أرجو ملاحظة أن الأخيرين لهما نفس الصيغة في تعريف البيانات الصيغة المخصصة لتوصيف بيانات أكسل هي "EXCEL 8.0;HDR=YES;" 'تستخدم هذه الصيغة على مستوى قاعدة البيانات [EXCEL 8.0;HDR=YES;] 'تستخدم هذه الصيغة على مستوى مصدر السجلات الرقم في هذه الصيغة يمثل رقم إصدار نسخة الأوفس، وهو هنا للسخة 2003، وأنصح باستخدام هذه الرقم لتجنب وقوع خطأ عدم مطابقة النسخة عند تصدير البيانات... طريقة تصدير البيانات تعتمد على صيغة استعلام عمل جدول (SELECT ... INTO.. IN.. [EXCEL 8.0;HDR=YES] FROM) ..SELECT تأخذ اسماء حقول البيانات ..INTO ينشئ جدول يحمل البيانات العائدة من SELECT .. الجدول هنا هو ورقة البيانات في أكسل ..IN تأخد اسم ملف أكسل مع الدليل [EXCEL 8.0] ثوصيف مصدر البيانات المصدر إليها البيانات FROM تأخذ اسم جدول البيانات في أكسس المثال التالي يوضح كيف يمكن استخددام الطريقة على مستوى المستخدم؛ وذلك بتمكينه اختيار الحقول إما من الجدول أو استعلام ومن ثم تصديرها إلى أكسل Access With Excel.zip
    3 points
  4. السلام عليكم ورحمة الله وبركاته كنت قد وضعت هذا المثال في منتدى الفريق العربي للبرمجة ، وأخي ابو الآ ما قصر وعمل نسخة منه الى هذا المنتدى (انا لم اكن من روّاد هذا المنتدى حينئذٍ) على هذا الرابط: http://www.officena.net/ib/topic/58001-منقول-هدية-برنامج-تصدير-بيانات-من-جداولاستعلامات-اكسس-الى-اكسل/ والآن ، وبعد عمل مجموعة تعديلات عليه واصبح في نسخته الخامسة ، واهمها ان البرنامج اصبح يعمل على 32بت و 64بت ، رأيت ان اضع البرنامج بين يديكم طريقة العمل هي كما في الرابط السابق (ولكن للأسف لا يمكن رؤية الصور التوضيحية هناك) ، فعليه ، سأقوم بعمل نسخة منه هنا مع الصور التوضيحية: رأيت الكثير من الاسئلة حول تصدير بيانات الاكسس الى الاكسل ، وكل سؤال يختلف عن غيره بطريقة او اخرى ، فحبيت ان اضع بين يديكم برنامج اشتغلت عليه ، واتمنى من الله سبحانه وتعالى انه يقدر يخدم الكل البرنامج سهل الاستعمال ، فكل المطلوب في الواجهة ، ولا تحتاج الذهاب للكود اولا: الواجهة: 1. تختار من مربع السرد ، جدول او استعلام ، 2. على اساس الاختيار في رقم 1 ، ستظهر لك قائمة باسماء الجداول او الاستعلامات في برنامجك ، 3. اسم ملف الاكسل المراد حفظه به ، ومجلد التخزين ، فتلقائيا يكون في نفس مجلد البرنامج ، 4. هنا تكتب اسم صفحة الاكسل التي تريدها (انظر الصورة في الاسفل) **1** تستطيع ان تصدر اي عدد من الصفحات الى اكسس (طبعا التصدير يكون باستعمال البرنامج عدة مرات ، في كل مرة تستخدم اسم صفحة جديدة) ، **2** تستطيع ان تصدر بيانات جديدة الى نفس الصفحة في اكسل (طبعا التصدير يكون باستعمال البرنامج عدة مرات ، في كل مرة تستخدم *الادخال من خانة* اسفل الخانات الموجودة في الاكسل) ، 5. تستطيع بدء تصدير البيانات الى اي خانة في اكسل مثل A2 او C5 او اي خانة اخرى ، **3** تستطيع ان تصدر بيانات جديدة الى نفس الصفحة في اكسل (طبعا التصدير يكون باستعمال البرنامج عدة مرات ، في كل مرة تستخدم *الادخال من خانة* اسفل الخانات الموجودة في الاكسل) ، 6. تستطيع ان تحفظ ملف الاكسل بالصيغ التاليه: "xls" او "xlsx" او "xlsm" او "xlsb" او "csv" او "txt" ، والصيغتين الاوليتين هما الاهم ، والصيغتين الاخيرتين بهم قيود معينة ، 7. تستطيع ان تختار المجلد الذي تريده ، مع كتابة اسم الملف المناسب لك (انظر الرقم 3 اعلاه) ، 8. تستطيع تصدير البيانات مع اسماء الحقول (في الاكسس) ، وتستطيع تصدير البيانات مع عناوين/مسميات الحقول (في الاكسس) ، نلاحظ اعلاه ، بان الجدول elemnts لا يحتوي على عناوين/مسميات الحقول بالعربي ، بينما الجدول elemnts2 يحتوي عليها ، وتستطيع تصدير البيانات فقط بدون اسماء الحقول ، 9. تستطيع ان تصدر البيانات الى ملف اكسل فيه بيانات سابقة ، وهنا تستطيع الاستفادة من الارقام 4 و 5 اعلاه ، او ان تحذف ملف الاكسل الموجود حاليا بنفس الاسم ، وتبدأ تصدير ملف جديد ، 10. بعد تصدير البيانات الى اكسل ، هل تريد إحتواء وتوسيع كل الاعمدة فيه ، حتى ترى كل البيانات بدون الحاجة الى توسيع كل عمود على حدة ، او لا تريد توسيع الاعمدة. 11. الزر الذي يقوم بعملية تصدير البيانات الى اكسل ، حسب الاختيارات اعلاه ، مع ملاحظة: يجب تعبئة الحقول داخل المربعات الحمراء ، اما بقية الحقول فإختيارية ، 12و 13. لجعل هذا البرنامج يعمل على اي من برامجكم الحاليه ، يجب تصدير النموذج frm_Export_to_Excel و الوحدة النمطية fFolder_Dialog اليها. طبعا هناك أفضلية تصدير البيانات من الاستعلام ، حيث تستطيع ان تتحطم بالبيانات المطلوب تصديرها. ملاحظات؟ اخطاء/عطل؟ إضافات؟ انا في الخدمة ، قدر المستطاع جعفر 7.Export_to_Excel_05.1.mdb.zip
    2 points
  5. وعليكم السلام هذه طريقة اصطياد رقم رسالة الخطأ . وعند الحصول على رقم الخطأ ، اذهب الى مشاركتي التالية في الموضوع عاليه. جعفر
    2 points
  6. السلام عليكم مشاركة مع اخي شفان هكذا يجب ان تكون جداولك اذا رغبت في اتمام العمل يمكنك اضافة النموذج ورفعه بالمطلوب ربط الحقول2.rar
    2 points
  7. وعليكم السلام اخي شفان الظاهر انا وانت تم مراسلتنا!! تفضل هذا الكود المعدل: Dim SRV As Integer Dim rs As DAO.Recordset If ([userpassfinder] & vbNullString) = vbNullString Then Exit Sub 'هذا الامر أبطأ من الامر التالي 'SRV = DLookup("[UserPass]", "tblUsers", "[UserPass] = " & [userpassfinder]) 'If IsNull(SRV) Then ' MsgBox "الرقم السري غير صحيح" ' Me.userpassfinder.SetFocus ' Exit Sub 'End If 'هذا الامر اسرع SRV = DCount("*", "tblUsers", "[UserPass] = " & [userpassfinder]) If SRV = 0 Then MsgBox "الرقم السري غير صحيح" Me.userpassfinder.SetFocus Exit Sub End If 'الحل الاول DoCmd.OpenForm "frm" Forms!frm.SetFocus Forms!frm!fsubUser.SetFocus Forms!frm!fsubUser!UserPass.SetFocus DoCmd.FindRecord Me.userpassfinder, , , , , , True 'الحل الثاني ' DoCmd.OpenForm "frm" ' Set rs = Forms!frm!fsubUser.Form.RecordsetClone ' rs.FindFirst "[UserPass] = " & Me.userpassfinder ' If rs.NoMatch Then ' MsgBox "wrong Pass", _ ' vbOKOnly + vbInformation ' Else ' Forms!frm!fsubUser.Form.Bookmark = rs.Bookmark ' End If ' rs.Close ' userpassfinder = Null جعفر 791.Database3.accdb.zip
    2 points
  8. اتفضل تم عمل جدول جديد للمحاولات بحقول اسم المستخدم و رقم سري المستخدمة و وقت المحاولة الدخول واستخدمت هذا الكود Private Sub commond5_Click() Dim X If IsNull(Text0) Or IsNull(Text2) Then MsgBox "احد الحقول فارغ" Exit Sub Else X = DLookup("[id]", "user", "[UserName] =[Text0] And [Passwd] = [Text2]") End If If Not IsNull(X) Then DoCmd.Close DoCmd.OpenForm "namozag1" Else MsgBox " اسم المستخدم او كلمه المرور خطاء راجع مسؤول البرنامج", vbOKOnly, "تاكيد صلاحيات الدخول" DoCmd.SetWarnings False DoCmd.RunSQL ("INSERT INTO TblMihawlatLogIn ( UserN, PassN, TimeForE ) SELECT [Forms]![SignInNamozag]![Text0] AS Expr1," & _ "[Forms]![SignInNamozag]![Text2] AS Expr2, Now() AS Expr3;") DoCmd.SetWarnings True DoCmd.CancelEvent End If End Sub تصيد المتلاعب.rar
    2 points
  9. أهلا بك أستاذي عبدالله فكرة سليمة ومنطقها صحيح.. لكن المشكلة في الإيعاز.. استخدم هذه الشفرة ملاحظة: ليس كل عناصر التحكم في النموذج تعيد بيانات ولذلك يجب وضع شرط لتقيدها Sub ADD_NEW() Dim M As DAO.Recordset Dim C As Control Set M = CurrentDb.OpenRecordset("Employees", dbOpenDynaset) M.AddNew For Each C In Detail.Controls If C.ControlType = acTextBox Then M(C.Name) = C.Value End If Next M.Update End Sub
    2 points
  10. بسم الله الرحمن الرحيم عليه نتوكل وبه نستعين، نحمده سبحانه كما ينبغي أن يحمد، ونصلي ونسلم على رسوله محمد وعلى آله وصحبه والتابعين . وبعد ها هو منتدانا وصرحنا أوفيسنا يضيف أقسام جديدة تضيف إلى رصيده العلمي منابر عدة للباحث العربي ، ليفتح آفاقًا رحبة للبحث العلمي في مجالات لها أهميتها البالغة في تنمية مهارات الفرد والباحث ، و يأمل منكم دعمكم وإثراءكم بمشاركاتكم ودراساتكم، ومقترحاتكم، لكي يكتب للأقسامه الجديدة النجاح والاستمرار وتتمكن من القيام بدورها الذي أنشئت من أجله. سائلين الله تعالى أن ينفع به وأن يكون عملا خالصا له سبحانه فيتصل ولا ينقطع، وأن يجازي بالخير كل من أسهم فيه ولو بكلمة طيبة. وانتهز الفرصة بالتوجه بالشكر للمهندس محمد طاهر وفريق العمل ولجميع الأعضاء بالمنتدي وشكري الخاص لأخواني الذين راسلوني على الخاص للاطمئنان علي اثناء انقطاعي عن المنتدي ونظرا لبعض الطلبات لأخواني بالمنتدي لتطوير برنامج تسجيل لروضة اطفال كنت انتهيت من فترة من بعض الاضافات الي الاصدار الأول واضافة صورة للطفل وطباعة أي دي بطاقة تعريف الطفل ولمزيد من الشرح حول البرنامج في الاصدار الأول رابط الاصدار الأول بعض الصور التوضيحية للبرنامج الملف بالمرفقات ويسعدني بتلقي ملاحظاتكم تم تعديل الملف واضافة خيار اضافة صورة من الفورم وحفظة تلقائيا KG_VII_B_Dahy.rar
    1 point
  11. اليوم اقدم لكم أضخم كتاب عربي لتعلم برنامج EXCEL يحتوي على شرح مفصل لصيغ والدوال وكذالك مرفق مع الكتاب تطبيقات نموذجية . غلاف الكتاب المحتويات 1.بداية الكتاب معلومات اساسية عن برنامج إكسل 2007 2. استخدام الدالات في الصيغ 3. شرح كافة المعادلات في والتطبيق في إكسل 4. شرح صيغ الصفيف وأمثلتها المستحيلة في إكسل 5. شرح جداول Pivot والمراجع الدائرية المقصودة والمخططات والرسوم البيانية والتنسيق الشرطي والادوات والتنقيح 6.في النهاية الغير متوقعة شرح لغة VBA وطريقة كتابة الصيغ فيها لتحميل الكتاب اضغط هنا حجم الكتاب: 39.7 MB رابط اخر على 4shared أرجو الدعاء لي ولصاحب الكتاب وناشره جزاكم الله خيرا
    1 point
  12. السلام عليكم ورحمة الله وبركاته عيدكم مبارك وكل عام وانتم بخير شرح امكانيات الفورم وكيفية الاستخدام: 1 - استخدام الفورم لاكثر من قاعدة بيانات في المصنف على ان يكون لكل قاعدة كود لاظهار الفورم يتغير فيه معطياتك في متغيرات kh_SetAddrss .kh_SetAddrss "مثال1", "C10:AO10" اولاً : اسم ورقة البيانات ( افتراضي ) ثانياً : نطاق صف رؤوس اعمدة البيانات ( افتراضي ) ثالثاً : عمود التسلسل ( اختياري ) اذا اردت ادخال رقم تسلسل البيانات الخاص بالفورم تلقائيا في عمود معين سجل عنوان راس العمود . مع ملاحظة انه لا يكون من ضمن نطاق رؤوس اعمدة البيانات كما هو معمول في المثال 2. . kh_SetAddrss "مثال2", "C4:H4", "B4" 2 - تستطيع اضافة قائمة لعمود معين في الفورم باضافة تعليق على عنوان العمود وتكتب القائمة وتفصل بين الكلمات بالعلامة + 3 - ينسخ التنسيقات والمعادلات في السجل الجديد . 4 - يبحث في جميع الاعمدة حسب الاختيار من القائمة في الفورم . 5 - يعطي نتائج صحيحة عند البحث عن تاريخ اذا شيكت الزر البحث عن تاريخ . 6 - امكانيات زر البحث عن تاريخ يتم تحويل اي قيمة تضعها في مربع النص للبحث الى تاريخ بالتنسيق الافتراضي للفورم ,, مع امكانية ادخال رقم صحيح بين 1 الى 31 ليفهم على انه تاريخ اليوم للشهر الحالي والسنة الحالية 7 - ثوابت بامكانك تغييرها حسب طلبك بداية اكواد الفورم 1- تغيير تنسيقات إظهار التاريخ في الفورم في الثابت DtF 2- تغيير عٌرض مربعات الادخال في الثابت iWgt1 ----------------------------------------------------------------------------------------------------- هذه الامكانية غفلنا عن ذكرها : 8 - بامكانك انتقاء الاعمدة التي تريدها عند تسمية النطاق وترتيبها حسب ما تريد مع ملاحظة ان العمود الذي يعتمد عليه في احتساب آخر صف هو العمود الاول من التسمية مثلا: "E15,C15,H15:AX15" اول عمود هو E ----------------------------------------------------------------------------------------------------- المرفق 2003-2007 فورم ادخال و تعديل مرن.rar الاصدار الثاني http://www.officena.net/ib/index.php?showtopic=48811 الاصدار الثالث: http://www.officena....showtopic=51955
    1 point
  13. السلام عليكم ورحمة الله اخى الكريم الملف الذى ارسلته جميع التلاميذ فيه ناجحون فقمت بتغيير درجات بعضهم حتى ينطبق عليهم شرط الرسوب وقمت بتجريب الكود فعمل بمنتهى الكفاءة هذا وبالله التوفيق
    1 point
  14. رائع جدا بارك الله فيك شكر لك على جهدك الذي بذلته لي لك مني فائق التحية والتقدير والاحترام
    1 point
  15. بكل تأكيد لكن بتغير بسيط IIf(Day([Text0]) = 28 ; DateAdd("m"; 1; [Text0]) ; 28 & Format([Text0]; "/MM/YYYY")) Text0 هو اسم حقل اللي فيه تاريخ واذا ما عرفت ان تطبق ارفع نسخة من قاعدة بياناتك للتعديل عليه
    1 point
  16. اخي ابو زاهر اتمنى يكون المطلوب انظر المرفق المجموع.rar
    1 point
  17. وعليكم السلام تفضل اذا اخترت السجل في النموذج الفرعي ، ثم ضغطت زر الحذف من النموذج الرئيسي مباشرة Screen.PreviousControl.SetFocus DoCmd.RunCommand acCmdDeleteRecord اما اذا اخترت السجل في النموذج الفرعي ، ثم اخذت لك لفة على كائنات النموذج الرئيسي فيجب ان يجب ان نخبر الكود ان عملنا سيكون على النموذج الفرعي frm_tap = اسم النموذج الفرعي Me.frm_tap.SetFocus DoCmd.RunCommand acCmdDeleteRecord جعفر
    1 point
  18. اتفضل اليك هذا الكود Private Sub Text0_AfterUpdate() If Day(Me.Text0) = 28 Then Me.Text2 = DateAdd("m", 1, Me.Text0) Else Me.Text2 = 28 & Format(Me.Text0, "/MM/YYYY") End Sub
    1 point
  19. السلام عليكم ورحمة الله استبدل هذا السطر If IsNumeric(Cells(R, c.Column)) And Not IsEmpty(Cells(R, c.Column)) And (c.Value < Cells(R, c.Column) Or c.Value = "غ" Or c.Value = "غـ") And c.Value <> "" Then بهذا السطر If IsNumeric(Cells(R, c.Column)) And Not IsEmpty(Cells(R, c.Column)) And (c.Value < Cells(R, c.Column) / 2 Or c.Value = "غ" Or c.Value = "غـ") And c.Value <> "" Then
    1 point
  20. وأنت كذلك جعل الله أيامك سعادة وسرور أخي لا بد من تعيين نوعين من الخلايا 1 الخلايا التي يمكن للمستخدم تغييرها (كمثال في الملف المرفق العمود A والعمود F) 2 الخلايا التي لا يستطيع المستخدم تغييرها (وهي نطاق المعادلات) لاحظ في المرفق : تم حماية الورقة بالرقم 123 كما هو واضح في الكود (تستطيع تغييرة) وعندما تقف بالمؤشر على أي خلية فيها معادلة لا تظهر جرب المرفق تحويل معادلات3.rar
    1 point
  21. لا اظن ان هذا بيكون سبب الاهتزاز ... * ملاحظة يجب ان يكون البرامج سهل الاستخدام ... ويأخذ قليل من الوقت لكي تعمل فاتورة ... اي انت لا تحتاج كثرة النماذج لكي تدخل صنف من الاصناف بل تقدر ان تعمل كومبوبوكس لتختار الصنف او باركود الصنف و اذا هناك نموذج للبحث واضافة ليس هناك مشكلة تقبل تحياتي
    1 point
  22. السلام عليكم ورحمة الله اجعل الكود هكذا Sub الاصغر() Range("B2:J1000").Sort Key1:=Range("B2:B1000"), Order1:=xlAscending, Key2:=Range("H2:H1000"), Order2:=xlDescending, Header:=xlNo End Sub
    1 point
  23. لهذه الفقرة انت تحتاج هذا Private Sub كود_الصنف_AfterUpdate() Me.اسم_الصنف = Me.كود_الصنف.Column(1) End Sub وبدل حقل خليت المربع الاجمالي في اسفل النموذج الفرعي واضفت مربع نص اخر في نموذج رئيسي و مصدره صار مربع المجموع في نموذج الفرعي =[بيع اصناف نموذج فرعي].[Form]![MySum] سنستخدم دالة DSum مع الشروط لكي نعرف حساب اجمال لكل عميل لكن هناك نحن نحتاج جدول اخر لتسديد الديون و تاريخ الدفع وهذا خليت لك لكي تعمله انت واذا احتاجت شيء نحن هنا Database2.zip
    1 point
  24. السلام عليكم اخي طاهر ، رجاء ارفق هذه الجزئية فقط من برنامجك ، علشان نعدل مباشرة عليها ، ورجاء اعطنا مثال نستطيع ان نقتدي به لعمل اللازم. جعفر
    1 point
  25. على خاطرك انا قمت بالتجربة مرة اخرى و طبعت وما فيه اي مشكلة ... بيطبع كما يظهر في وضع المعايينة
    1 point
  26. قم بتغيير مصدر كومبوبوكس 2 الى استعلام بها حقولين واحد منهم يساوي مصدر استعلام كومبوبوكس الاول اي انواع اللعبة والاخر منهم اسماء المدربين وفي حقل الالعبة اعطي شرط ان يكون يساوي مع الكومبوبوكس الاول وعند اختيار من كومبوبوكس الاول اكتب كود التحديث لكومبوبوكس الثاني واذا ما فهمت مني ابحث في المنتدى بها كثير مواضيع بها ما تطلب او ارفق قاعدة مصغرة لكي اعمل لك المطلوب تحياتي
    1 point
  27. Sub Clear_Data() Dim LastRow As long LastRow = Range("a" & Rows.Count).End(xlUp).Row Activesheet.Range("A8:T" & LastRow).ClearContents Activesheet.Range("U9:BJ" & LastRow).ClearContents End Sub جرب التعديل أعلاه نعم فهمت الأن النطاق من A8 الى خلايا العمود T8 وحتى أخر صف به بيانات ليس به معادلات تذكرت الأن
    1 point
  28. فعلا ... حين قرأت مشاركة استاذنا @أبو إبراهيم الغامدي قلت لنفسي بكل هدوء ... لا ارى اي مشاركته بدون فائدة ... دائما عنده شيء جديد ... دائما اتعلم منه شيئا جديدا الله يحفظكم وانا ايضا اطلب كما طلبت استاذ عبدالفتاح وايضا اطلب لاستاذ عبدالفتاح ان يرفق قاعدة تجربته هنا لكي نستفيد منها اكثر تحيات لكم
    1 point
  29. السلام عليكم ورحمة الله أخي الكريم عمر، كما وعدتك قمت بالتعديل على المعادلات وإضافة عمود مساعد في الملف المرفق، حاولت أن أتناول كل الحالات الممكنة وأرجو أني ألممت بها أو جلها... ليس لي فكرة أخرى... بن علية حاجي تحويل عمود إلى صفين_2.rar
    1 point
  30. ضع معادلاتك في الخلايا الصفراء الكود يعتمد على الترقيم الموجود في العمود الأول A حيث أن الكود سيعمل إلى آخر سطر فيه رقم العمود الأول مهم جدا لعمل الكود بإمكانك تغييره تفضل جرب المرفق تحويل معادلات2.rar
    1 point
  31. وعليكم السلام سيتم الاحتفاظ بالمعادلات في أول سطر فقط وهو السطر الرابع اضغط زر calculation ولاحظ النتيجة تفضل تحويل معادلات1.xlsb.rar
    1 point
  32. السلام عليكم دالة استخراج تاريخ الميلاد او النوع او المحافظة من الرقم القومي ثلاثة معطيات بدالة واحدة Option Explicit ' بسم الله الرحمن الرحيم ' ******************** ' دالـــــــــــــــة ' Kh_Date_Sex_Province ' ( استخراج تاريخ الميلاد او النوع (ذكر - انثى ' او المحافظة من الرقم القومي '============================================== ' MyTest ' اذا كانت = 1 تقوم باستخراج تاريخ الميلاد ' اذا كانت = 2 تقوم باستخراج النوع ' اذا كانت = 3 تقوم باستخراج المحافظة '---------------------------------------------- ' MyProvinces في متغير الجدول ' العمل لم يستكمل بعد ' يمكنك إضافة المحافظات الاخرى الغير موجودة ' او تعديل الموجود في حالات الخطأ ' بنفس الطريقة الرقم اولا ثم "/" ثم اسم المحافظة ' : مثال على ذلك ' "01/القاهرة" '============================================== '----------------------------------------------------------------- Function Kh_Date_Sex_Province(MyNumber As Variant, MyTest As Byte) Dim MyProvinces As Variant Dim r As Integer Dim yy As String Dim ty As String * 1 Dim d As String * 2, m As String * 2, y As String * 2 _ , x As String * 2, xx As String * 2 '============================================== ' يمكنك إضافة المحافظات الاخرى الغير موجودة ' او تعديل الموجود في حالات الخطأ MyProvinces = Array("01/القاهرة", "02/الإسكندرية", "12/الدقهلية", "13/الشرقية" _ , "14/القليوبية", "15/كفر الشيخ", "16/الغربية", "17/المنوفية", "18/البحيرة" _ , "19/الإسماعيلية", "21/الجيزة", "22/بني سويف", "24/المنيا", "25/أسيوط" _ , "26/سوهاج", "27/قنا", "28/أسوان", "29/الأقصر", "33/مطروح") '============================================== Kh_Date_Sex_Province = "" On Error GoTo 1 If Len(Trim(MyNumber)) = 0 Then GoTo 1 End If If Not IsNumeric(MyNumber) Or Len(MyNumber) <> 14 Then Kh_Date_Sex_Province = "Error_MyNumber" GoTo 1 End If If MyTest = 1 Then d = Mid(MyNumber, 6, 2) m = Mid(MyNumber, 4, 2) y = Mid(MyNumber, 2, 2) ty = Left(MyNumber, 1) Select Case ty Case "2": yy = y Case "3": yy = "20" & y Case Else: yy = "" End Select If yy <> "" Then Kh_Date_Sex_Province = DateSerial(yy, m, d) ElseIf MyTest = 2 Then If Left(Right(MyNumber, 2), 1) Mod 2 = 1 Then _ yy = "ذكر" Else yy = "انثى" Kh_Date_Sex_Province = yy ElseIf MyTest = 3 Then x = Mid(MyNumber, 8, 2) For r = LBound(MyProvinces) To UBound(MyProvinces) xx = MyProvinces(r) If x = xx Then Kh_Date_Sex_Province = Right(MyProvinces(r), Len(MyProvinces(r)) - 3) Exit For End If Next End If 1: End Function بالنسبة لمعطيات المحافظات لم تستكمل بعد ويمكنك اضافة المحافظات المتبقية حسب ما شرحت بالكود خبور خير دالة استخلاص تاريخ الميلاد و النوع و المحافظة من الرقم القومي.rar
    1 point
  33. السلام عليكم ورحمة الله وبركاته هذا الموضوع مما تكثر الحاجة اليه الاصل عند تسجيل الحضور هو ادخال الوقت والتاريخ الكامل General Date ثم التعامل معه من خلال الاستعلامات والوحدات النمطية وهذا التاريخ هو المعمول به في اجهزة الحضور عامة كقارىء البصمات وغيرها ، والملاحظ ان بعض الاخوة المبرمجين يقومون بجلب بيانات الحضور من الجدول المصدر والتعامل معها اثناء الجلب وتفكيك البيانات في جدول جديد خاص . وفي الصورة ادناه نموذج من الجدول المعدل وهو الذي سوف اعتمده في شرحي ومثالي المرفق علما اني افضل العمل مباشرة على مصدر البيانات الاصل ثم نستخدم الاستعلام لضم هذا الجدول مع جدول الاسماء وعمل تجميع دقائق الـتأخر خلال شهر ونستعين بوحدة نمطية صنعناها لحساب التأخر بالايام وحساب المتبقي من الدقائق ثم ترحيلها الى الشهر التالي كرصيد سابق وحساب الايام بناء على ساعات التأخر (يكون حسب النظام المتبع ) فيختلف من مؤسسة الى اخرى فمنها من يحسب اليوم بــ 5 ساعات تأخر أو 7 ساعات ... وهكذا وفي مثالي هذا جعلت اليوم ساعتي تأخر (120 دقيقة ) ويظهر جليا في الوحدة النمطية المستخدمة Public Function trhelSn(mnthID, uid As Integer) ' uid يمثل رقم الموظف في الاستعلام On Error Resume Next Dim i, ii, a1, a2, a3, a4 As Integer ii = mnthID ' يمثل رقم الشهر في الاستعلام a2 = 0 For i = 1 To ii a2 = a4 ' ترجع بالرصيد السابق للشهر التالي a1 = Nz(DLookup("secnd", "qryscnd", "monthx=" & i & "And nID =" & uid), 0) ' ترجع بحقل الدقائق الذي تم جمعه في الاستعلام a3 = (Nz(a1) + Nz(a2)) \ 120 ' ترجع بعدد الايام بناء على عدد الدقائق المعتمد وهي هنا 120 دقيقة a4 = (Nz(a1) + Nz(a2)) Mod 120 ' ترجع بالمتبقي من الدقائق في الشهر الحالي Next End Function ' مصطلح الشهر الحالي والشهر التالي باعتبار الابتداء من اول شهر فأول شهر في الاستعلام يعتبر الحالي ثم التالي .. التالي ... وهكذا وهذه هي النتيجة النهائية : وهنا تكملة للموضوع احتساب التأخر بالدقائق وترحيل .rar
    1 point
  34. السلام عليكم تقبل الله منكم صالح الاعمال ارجو من حضراتكم مساعدتي في عمل شيت مكون من واجهه رئيسيه يتم ادخال البيانات فيها عموديا لعدد 50 خليه فقط مهما كانت بدايه الرقم او عدده 50 عموديا فقط وبعد ذلك اذا وصل العدد الى ال50 يطلب من المدخل الترحيل فيتم الترحيل لجميع البيانات في تلك الواجهه الى ورقة اخرى في نفس الملف برقم جديد مثلا 2 وهكذا فكل مايتم ادخال بيانات لعدد 50 خليه عموديا يطلب الترحيل لورقه اخرى اما المعلومات او البيانات في الخلايا العرضيه فقد تصل ال60 خليه. وجزاكم الله خير المصنف1.zip
    1 point
  35. اخواني الكرام بعد التوكل على الله ثم الاستشارة وحسب رغبة بعض الاخوة نبداء على بركة الله هذه الدورة شروط الدورة: تقتصر الدورة على شرح الفيجول بيسك للتطبيقات VBA ولا علاقة للمعادلات بهذه الدورة لذا نرجو ان يقتصر السؤال والاستفسار حول الاكواد فقط. عدم إضافة عبارة الشكر (نشكر الجميع على تقدير الجهود) حتى لا يحتاج الموضوع الى تنقيح فإن أعجبك شرح أو رد يمكنك تقييمه من خيار أعجبني شكراً. ان يكون موعد الاستفسارات حول الجزء المطروح للشرح خلال 24 ساعة فقط ويتم الانتقال الى جزء أخر لتعميم الفائدة. سيكون الشرح بشقين كتابي ومرئي. على الاساتذة الذين يشاركون في الشرح اخذ الشرط الثالث بالاعتبار (مشكورين). * سيتم حذف أي مشاركة لا يتم التقيد فيها بالشروط. == تم نقل جميع مشاركات النقاش الى هنا =============================== دروس الدورة ============================= الدرس الاول1 الدرس الاول2 الدرس الثاني الدرس الثالث الدرس الرابع 1 الدرس الرابع 2 الدرس الرابع 3 اساسيات لغة VBA كلغة برمجة (نظري) الفصل الثالث ج1 الفصل الثالث ج2 اسئلة الدورة (الجزء الاول)
    1 point
  36. السلام عليكم ورحمة الله وبركاته الاستاذ الفاضل والاخ العزيز ابا خليل جزاكم الله خيرا الان اكملت عمل الاستعلامات لكل مادة استعلام كوني اردت ان اضع اسم مادة في التقارير لا اعلم من اين آتي بالمادة؟ طبعا السبب معرفتي البسيطة لعمل تلك التقارير اردت ان اعمل لكل مادة استعلام حتى استخرج المواد منها كذلك لم استطع واخيرا عملت نموذجين للتقارير احدهما للطالب يكون مرة شهري ومرة فصلي ومرة نهائي نفس النموذج مع تعديل في بعض البيانات المطلوبة لكل نتيجة والتقرير الاخر هو لكل صف وشعبة وفيه جميع المواد كما في النموذج المرفق وهناك بعض التقارير سنعملها لاحقا ان شاء الله بارك الله لكم في علمكم وعملكم واعطاكم الصحة والعافية دمتم في رعاية الله وحفظه عمل العلاقات والاستعلامات ونماذج التقارير.rar
    1 point
  37. السلام عليكم ورحمة الله وبركاته جرب الدالة التالية وبافتراض ان الرقم في الخلية A1 =CEILING(A1-12.5;25)
    1 point
  38. اخواني الف الف شكر للمعلومات القيمة فأنا كان امامي مشكلة وضع الصفر شمال الرقم عند ادخال الرقم القومي للتلميذ والحمد الله تم الحل معكم
    1 point
  39. السلام عليكم ورحمة الله إخواني الكرام إن إضافة الكتابة "0" في التنسيق لأي نمط من تنسيقات الأرقام بالتخصيص تضع الرقم الصفر على يساره (حتى وإن كان تاريخا) مع العلم أن هذه الإضافة لا تغير من نوع التنسيق إلا شكله في الكتابة وتحتفظ بالتنسيق على حاله (التاريخ يبقى تاريخا، العدد العشري يبقى عشريا وهكذا...) مما يعني أن العمليات المعتاد القيام بها على الأرقام حسب النمط تبقى صحيحة وسليمة ولا تعتبر الإضافة الجديدة لشكل النمط نمطا جديدا أو تجعل من الأرقام نصوصا.... والله أعلم أخوكم بن علية
    1 point
  40. السلام عليكم ورحمة الله أخي الكريم، إضافة إلى ما تقدم به إخوتي الكرام إليك الحل التالي: - قم بتحديد الخلايا المطلوبة - من تنسيق الخلايا قم باختيار "أرقام" Numbers - اختر نوع الأرقام عادي "Standart" ثم بالتخصيص نختار "عام" General - وفي التخصيص نكتب أمام كلمة General الكتابة "0" فتصبح "0"General أنظر الملف المرفق (تطبيق هذه المراحل في نسخة 2003 بالفرنسية) أخوك بن علية 123.rar
    1 point
×
×
  • اضف...

Important Information