اذهب الي المحتوي
أوفيسنا

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

  1. kanory

    kanory

    الخبراء


    • نقاط

      9

    • Posts

      2,256


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      2

    • Posts

      8,723


  3. ابراهيم الحداد

    • نقاط

      2

    • Posts

      1,252


  4. امير عاطف

    امير عاطف

    المشرفين السابقين


    • نقاط

      2

    • Posts

      760


Popular Content

Showing content with the highest reputation on 05 ماي, 2021 in all areas

  1. اهم الاختلافات : اسماء المخازن في الكمبولست هي التر تظهر في التقرير يمكن تعديل مسميات المخازن من خلال الجدول أنظر الصور
    3 points
  2. السلام عليكم ورحمة الله استخدم المعادلة التالية =LOOKUP(2;1/($B2:$E2<>"");$B2:$E2) او المعادلة التالية =INDEX($A$2:$E$5;MATCH(J3;$A$2:$A$5;0);LARGE(IF($B2:$E2<>"";COLUMN($B2:$E2));1))
    2 points
  3. طيب شوف المرفق هذا ربما اكثر احترافية ... __DATA144 - kanory.mdb
    2 points
  4. تصميم النموذج الشجري treeview لدليل الحسابات بالاكسيس تصميم النموذج الشجري treeview لدليل الحسابات بالاكسيس تصميم النموذج الشجري treeview لدليل الحسابات بالاكسيس مميزات تصميم النموذج الشجري عيوب التصميم الشجري خطوات تصميم النموذج الشجري treeview لدليل الحسابات بالاكسيس تصميم جدول التكويد انشاء نماذج العرض اضافه النموذج الشجري للنموذج TreeView اضافه الاكواد الازمه لاستعراض شجره الحسابات استدعاء المكتبه البرمجيه dao فهم خطوات عمل الكود استدعاء اسماء الحسابات في النموذج الشجري تصميم النموذج الشجري treeview لدليل الحسابات بالاكسيس نتناول خطوات تصميم النموذج الشجري في الاكسيس treeview و استدعاء المكتبات البرمجيه اللازمه له و نستعرض كل ذلك علي نموذج دليل ال الحسابات و أيضا مزايا و مشاكل treeview مميزات تصميم النموذج الشجري يعطي النموذج الشجري في اي برنامج شكل تصميم احترافي و سهوله فهم نظام التكويد المراد داخل البرنامج و أيضا سهوله التكويد و سهوله في تنظيم التكويد و سهوله البحث دخل التموذج الشجري عيوب التصميم الشجري مشاكل عند مرحله التكويد بعض المشاكل التي قد تواجهك يجب مراعاه التكويد بشكل المتبع دخل البرنامج بشكل صحيح حيث ان التكويد بشكل غير صحيح في اغلب الاحوال سيؤدي الي انهيار النظام الشجري و أيضا قد يؤدي الي الخلل البرمجي في النموذج الشجري فعلي سبيل المثال يتم ادراج حساب اساسي يندرج تحته حساب فرعي يندرج تحت الحساب الفرعي كود الحاساب فان الكود الاب لكود الحساب هو الحساب الفرعي و ليس الكود الاساسي بينما كود الحساب الاب للكود الفرعي هو كود الحساب الاساسي فاذا حدث خلل في التكويد عن هذا النظام سيحدث مشاكل برمجيه اي يجب بناء دليل الحسابات بشكل صحيح كامل حتي نتمكن من عرض النموذج الشجري لدليل الحسابات مشاكل اثناء نقل ملف العمل بين جهاز و اخر حيث باختلاف نسخ الاوفيس بين الاجهزه قد تظهر مشاكل المكتبات البرمجيه و ذلك في حاله نقل البرنامج لجهاز اخر يمكنك التعرف علي حل هذه المشاكل من هنا خطوات تصميم النموذج الشجري treeview لدليل الحسابات بالاكسيس تصميم جدول التكويد في البدايه سنحتاج الي تصميم جدول الاساسيه لتكويد الحسابات المستخدمه دخل النموذج الشجري و المراد عرضها و يتم ذلك من خلال الضغط علي القائمه Create و اختيار منها Table Design دعنا نفترض في حالتنا اننا نريد عمل دليل حسابات بالنموذج الشجري لسهوله تكويد الحسابات و أيضا لسهوله البحث عن الحسابات نستعرض حقول هذا الجدول و اهم خصائص هذه الحقول Fied Size Date Type Caption Field Name 15 Text كود الحساب AccID 255 Text اسم الحساب ArAccDes 15 Text كود الحساب الاب ParAcc 255 Text اسم الحساب الاب ArParDes —- Yes/NO هل هو حساب رئيسى IsPrimary 15 Text مستوى الحساب AccLevel 25 Text التوجية المحاسبى Accdir 15 Text طبيعة الرصيد Panat 15 Text كود المجموعة الفرعية كود المجموعة الفرعية لاحظ أيضا ان حقل كود الحساب و الذي افترضنا له اسم AccID تم اعطاءه خاصيه متفتاح اساسي Primary Key نقوم بحفظ الجدول و تعطيه اسم افتراضي accounts انشاء نماذج العرض الان نقوم باستخدام معالج النماذج في انشاء نموذج للجدول التكويد من خلال الضغط علي القائمه Create و اختيار منها Form Wizard يمكنك أيضا انشاء النموذج بوضع التصميم و اضافه الحقول بشكل يدوي اضافه النموذج الشجري للنموذج TreeView و بعد الانتهاء من بناء النموذج ندخل الي النموذج في وضع التصميم لاضافه النموذج الشجري من خلال القائمه Design اضغط علي زر More كما هو في الصوره و اختر ActiveX Control , و من خلال هذا المعالج ابحث عن Microsoft TreeView Control سيقوم المعالج باضافه النموذج الشجري للنموذج اضافه الاكواد الازمه لاستعراض شجره الحسابات الان بدا في اضافه الاكواد الازمه لاستعراض شجره الحسابات Private Sub Form_Load() On Error Resume Next Dim dbs As dao.Database, rst As dao.Recordset Dim nodX As Node Set dbs = CurrentDb Set rst = dbs.OpenRecordset("Accounts", dbOpenDynaset) Set nodX = TreeView2.Nodes.Add(, , "A", "Accounts") With rst Do While Not .EOF Set nodX = TreeView2.Nodes.Add("A" & CStr(Nz(!ParAcc)), tvwChild, "A" & CStr(!AccID), CStr(!AccID) & ":" & (!ArAccDes)) nodX.EnsureVisible .MoveNext Loop End With rst.Close Set dbs = Nothing On Error Resume Next For Each nodX In TreeView2.Nodes nodX.Expanded = False nodX.Sorted = True Next End Sub استدعاء المكتبه البرمجيه dao في هذا الكود قمنا باستدعاء المكتبه البرمجيه dao هذه المكتبه و هي المكتبه الخاصه بالتحكم في قواعد البيانات حيث تستطيع هذه المكتبه البرمجيه انشاء قاعده بيانات و الدخول الي الصفوف و الدوران بين هذه الصفوف و استدعاء القيم من بينها و التحكم بها قمنا نانشاء متغير من النوع Database و اضفنا له عنصر التحكم dao Dim dbs As dao.Database rst As dao.Recordse اضفنا هذا السطر للدوران بين صفوف قاعده البيانات و التحكم بها Set rst = dbs.OpenRecordset(“Accounts”, dbOpenDynaset) Set nodX = TreeView2.Nodes.Add(, , “A”, “Accounts”) من خلال هذا السطر قمنا بفتح قاعده البيانات التي افترضنها كمتغير و أيضا قمنا بتعبئه محتوياتها في النموذج الشجري TreeView تم اعطاء راس النموذج الشجري اسم Accounts يمكنك تغير الاسم كيف تشاء With rst Do While Not .EOF Set nodX = TreeView2.Nodes.Add("A" & CStr(Nz(!ParAcc)), tvwChild, "A" & CStr(!AccID), CStr(!AccID) & ":" & (!ArAccDes)) nodX.EnsureVisible .MoveNext Loop End With rst.Close فهم خطوات عمل الكود من خلال هذا الكود تبدا المكتبه البرمجيه dao في الدوران علي قاعده البيانات علي شكل حلقه تكراريه من النوع Do While و تحديد كل عنصر من عناصر هذه القائمه و تحديد مستوي هذا العنصر تبدا بالدوران بدايه من اول صف في قاعده البيانات ليظهر في النموذج الشجري في المستوي المناسب مضاف اليه كود الحساب و الوصف الخاص بالحساب ( اسم الحاب ) ثم يدور الكود علي العنصر التالي بالامر MoveNext و هكذا و يتكرر هذا الامر باستخدام الامر Loop حتي تنتقل الي اخر صف و الانتقال بين جميع الصفوف و بعد الانتهاء يتم الخروج من هذه الحلقه التكراريه End With استدعاء اسماء الحسابات في النموذج الشجري لاستدعاء اسم الحساب من جدول الحسابات نستخدم الداله DLookup حيث تقوم هذه الداله بالبحث في جدول accounts في عمود ArAccDes الخاص باسم الحساب و استراج اسم الحساب من بين كل الحسابات بشرط كود الحساب AccID=ParAcc Private Sub ParAcc_AfterUpdate() On Error Resume Next ArParDes = DLookup("ArAccDes", "accounts", "AccID=ParAcc") End Sub Private Sub TreeView2_NodeClick(ByVal Node As Object) On Error Resume Next Dim mykey As String With Node mykey = Right(.Key, Len(.Key) - 1) Finder (mykey) End With End Sub Private Sub Finder(Skey) On Error Resume Next Dim rs As Object Me.Filter = "" Set rs = Me.Recordset.Clone rs.FindFirst "[AccID] = '" & Trim(Skey) & "'" Me.Bookmark = rs.Bookmark End Sub المصدر موقع المحاسب العربي
    1 point
  5. أعتقد أن صاحب هذا الموضوع أول من كتب كود الشجرة في مواقع الأكسس العربية على الإطلاق. ليت كل من ينقل عنهم ولو جزئيا ذكر المصدر وإن كان يجهله فليذكر اسم المنتدى وإن لم يتذكره فليوضح أقلها أن (الأصل) ليس من جهده. مثال لعرض الشجرة - قسم الأكسيس Access - أوفيسنا (officena.net) تقبل الله صيامكم وقيامكم
    1 point
  6. اخي الكريم هل طبق ما في هذه المشاركة للعلم ان التقرير والكود اساسا اعتماده على الارقام .... يعني لو حذفت هذه الارقام يختل الكود وطريقة ظهور البيانات في التقرير وهذا يعيدنا للمربع الاول للسؤال .... 😅
    1 point
  7. السلام عليكم و رحمة الله تعالى و بركاته لقد وضعت طريقتي في التحديث في هذا الموضوع و به كل حلول المشاكل التي تكلمتم عنها إن شاء الله
    1 point
  8. وعليكم السلام ورحمه الله وبركاته @abouelhassan التاريخ يتم كتابته بين علامتى الشباك ## #01/01/2020# بالتوفيق
    1 point
  9. بعد اذن الاستاذ نزار هذا الكود Option Explicit Sub Fil_Ijasat() Dim Dic As Object, KY Dim I%, lr%, m%, K% Dim txt Dim EE#, FF#, HH#, JJ#, GG#, II#, KK# Dim Source_Sheet As Worksheet Dim Target_Sheet As Worksheet Dim Cur_Value Set Source_Sheet = Sheets("Sheet1") Set Target_Sheet = Sheets("Sheet2") Set Dic = CreateObject("Scripting.Dictionary") lr = Source_Sheet.Cells(Rows.Count, 2).End(3).Row Target_Sheet.Range("a3:k100").ClearContents If lr < 4 Then Exit Sub For I = 4 To lr txt = Source_Sheet.Cells(I, 2).Resize(, 3) txt = Application.Transpose(txt) txt = Application.Transpose(txt) txt = Join(txt, "*") Dic(txt) = Dic(txt) + Val(Source_Sheet.Cells(I, 7)) Next I If Dic.Count Then m = 3 For Each KY In Dic Target_Sheet.Cells(m, 1) = m - 2 Target_Sheet.Cells(m, 2).Resize(, 3).Value = _ Split(KY, "*") m = m + 1 Next KY End If Set Dic = Nothing If m > 3 Then For I = 3 To m - 1 For K = 4 To lr If Target_Sheet.Cells(I, 2) = Source_Sheet.Cells(K, 2) Then Cur_Value = Val(Source_Sheet.Cells(K, 7)) Select Case Trim(Source_Sheet.Cells(K, 8)) Case "اعتيادي": EE = EE + Cur_Value Case "عارضة": FF = FF + Cur_Value Case "اذن": HH = HH + Cur_Value Case "تناوب": JJ = JJ + Cur_Value Case "انقطاع": GG = GG + Cur_Value Case "راحة": II = II + Cur_Value Case "مرضي": KK = KK + Cur_Value End Select End If Next K With Target_Sheet.Cells(I, 5) .Value = IIf(EE = 0, "", EE) .Offset(, 1) = IIf(FF = 0, "", FF) .Offset(, 2) = IIf(GG = 0, "", GG) .Offset(, 3) = IIf(HH = 0, "", HH) .Offset(, 4) = IIf(II = 0, "", II) .Offset(, 5) = IIf(JJ = 0, "", JJ) .Offset(, 6) = IIf(KK = 0, "", KK) End With EE = 0: FF = 0: GG = 0: HH = 0 II = 0: JJ = 0: KK = 0 Next I End If End Sub الملف مرفق Ijasat.xlsm
    1 point
  10. تفضل هذا الكود ان شاء الله سيعمل Private Sub CommandButton1_Click() Dim Ary As Variant Dim i As Long, j As Long If Me.ListBox1.ListCount > 0 Then Ary = Application.Transpose(Me.ListBox1.List) ReDim Preserve Ary(LBound(Ary) To UBound(Ary), LBound(Ary, 2) To UBound(Ary, 2) + 1) Ary = Application.Transpose(Ary) Else ReDim Ary(1 To 1, 1 To 20) End If j = UBound(Ary) For i = LBound(Ary, 2) To UBound(Ary, 2) Ary(j, i) = Me.Controls("Textbox" & i).Value Next i Me.ListBox1.List = Ary End Sub
    1 point
  11. السلام عليكم و رحمة الله و بركاتة الاخوة الكرام اعضاء المنتدى اقدم لكم برنامج بسيط من تنفيذى لادخال فواتير المبيعات و ترحيل البيانات الاساسية للفاتورة فى شيت و بيانات الاصناف فى شيت اخر يمكن ترحيل اكثر من صنف فى الفاتورة مع تكرار البيانات الاساسية فى شيت الاصناف اتمنى ان يستفيد الاخوة من البرنامج ملحوظة شيت Invoice محمى باسورد (1234) vba Invoice.xlsm
    1 point
  12. يسألونك دائماً عن ملف الصادر والوارد فكان هذا الملف الذي ارجو ان يستفيد منه اكبر عدد من المستخدمين فقط املأ الجدول بالبيانات اللازمة و حدد صفحة الترحيل واضغط على الزر من مميزاته: لا يسمح لك بتكرار رقم الصادر او الوارد لا يسمح لك بترحيل بيانات غير مكتملة Sader_Wared.xlsm
    1 point
  13. هذا الكتاب وجدته فى موقع اقلاع سوفت لتعليم اكسس 97 بالعربي http://soft.vip600.com/modules.php?name=Do...7_-_الجزء_الأول http://soft.vip600.com/modules.php?name=Do..._-_الجزء_الثاني
    1 point
  14. السلام عليكم .. انتهيت من تصميم البرنامج .. بس باقي شغلة وحده بس .. تكفون المساعدة .. عندي حقلين فيهم درجات ( 5 شفوي ) + ( 15 اختبار ) والناتج يطلع في حقل ثالث ... كل شي تمام .. بس عندي حقل رابع .. أبي يطلع فيه مثلاً إذا درجة الطالب أكثر من 17 يكتب في الحقل الرابع " ممتاز " ، وإذا أكثر من 16 " جيد جدا " ... الخ .. أعرف أسويها في الاكسل عدل .. بس حاولت بالآكسس ولا قدرت ... مشكورين على كل حال ...
    1 point
  15. السلام عليكم ورحمة الله وبركاته لدي جدول فيه قيمة السلفة عملة القسط الشهري عملة تاريخ الدفعة تاريخ الرصيد الباقي من السلفة عملة الان اريد ان اظهر مجموع الدفعات والرصيد المتبقى في حقلين لو تكرمتو اساتذتي الافاضل كيف العمل وشكرا جزيلا
    1 point
  16. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته خطرت في بالي خاطره وهي هل بالامكان معرفة المتصل هاتفيا من خلال برنامج اكسس مثال شخص عنده برنامج كاشف الرقم بحيث عندما يبدأ الهاتف بالرنين يظهر رقم المتصل عندها يتم مقارنة الرقم مع قاعدة البيانات فاذا وجد الرقم أظهر اسم المتصل على الشاشة بواسطة مربع نص و إلا لم يظهر شيء . مجرد خاطره .
    1 point
  17. السلام عليكم ورحمة الله وبركاته ،،، لفت نظري هذا العنوان في منتدى الفريق العربي للبرمجة ، وأحببت أن أشرح هذه الكيفية : لإضافة حقل لجدول لابد من تعريف مسار قاعدة البيانات ثم تحديد الجدول الذي تريد إضافة الحقل إليه ،،، ثم تحدد إسم الحقل ،،، ثم تحديد خصائص هذا الحقل هل هو ( رقمي ) أو ( نصي ) أو ( تاريخ ) وفي حال خاصية الحقل ( نصي ) تحديد طوله ( 35 أو 45 أو 50 و ,,,, ) ،،، وفي حال وجود هذا الحقل في الجدول لابد أن تضع رسالة تبين وجود هذا الحقل في الجدول الذي قمت بتحديده ,,,,, تضع جميع هذه الأوامر في زر يقوم بتنفيذها عند الضغط عليه ،،،، ففي حالة أن الحقل رقمي سوف يكون بهذه الكيفية : .Fields.Append .CreateField("الهاتف", dbInteger) وفي حالة أن الحقل نصي سوف يكون بهذه الكيفية : .Fields.Append .CreateField("الاسم", dbText, 50) وفي حالة أن الحقل تاريخ سوف يكون بهذه الكيفية : .Fields.Append .CreateField("تاريخ الميلاد", dbDate) شاكر
    1 point
  18. لدي قاعدة بيانات اكسيس ولايتجاوز حجمها 2 ميجا والجداول موجودة على الشبكة ورغم ان جهاز الكمبيوتر حديث بانتيوم 4 2.6 جيجا الهاردسك 40 جيجا ورغم ذلك فبعد مدة بسيطة من استخدام القاعدة تاتي رسالة ان الذاكرة المتوفرة غير كافية ولابد من عمل اعادة تشغيل حتى استطيع العمل مرة اخرى ثم تتكرر نفس المشكلة بالرغم من انه لدي قاعدة بيانات اخري حجمها اكبر من هذه والبيانات المخزنة بها كبيرة والجداول موجودة اسضا على الشبكة لكنها تعمل بسلاسة مما جعلني اعتقد ان هناك شيئا ما فى قاعدة البيانات يسبب هذه المشكلة فهل هناك سبب فى قاعدة البيانات يسبب هذه المشكلة :cry: :cry: :cry:
    1 point
  19. اخواني انا كنت اذا اردت ان اعمل زر على النموذج ووضعت الماوس وصنعت الزر يفتح لي بعد ذلك معالج العمل لكي اختار منه ما اريد لذلك الزر والآن لا يفتح معي ذلك المعالج فكيف اعمل لكي يعمل معالج الزر الذي اختار منه عمل الزر ارجو ان اكون وضحت سؤالي ولكم الف شكر
    1 point
  20. عندي نموذج به عنصر غير منظم به ملف ورد اريده ان يتحدث تلقائيا بمعنى عند اي تغير يظهر في العنصر في النموذج بدون غلق النموذج وفتحه
    1 point
  21. LTrim(TextboxName) تقوم باستخراج ما بداخل مربع النصText Box المسمى TextboxName واذا كان يوجد مسافات على يسار النص فيتم اهمالها RTrim(TextboxName) تقوم باستخراج ما بداخل مربع النصText Box المسمى TextboxName واذا كان يوجد مسافات على يمين النص فيتم اهمالها Trim(TextboxName) تقوم باستخراج ما بداخل مربع النصText Box المسمى TextboxName واذا كان يوجد مسافات على يمين أو يسار النص فيتم اهمالها
    1 point
  22. السؤال للأخ اشراف نواس وهو : كيف أستطيع أن أمنع أي تعديل في البيانات السابقة أي لا يمكن للمستخدم إلا أن يدخل بيان جديد فقط
    1 point
×
×
  • اضف...

Important Information