بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

شايب
03 عضو مميز-
Posts
368 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
2
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو شايب
-
من وجهة نظر اخونا العزيز شايب انه لا داعي لاضافة جدول tbl_ALMOSTABADIN بل يكفي حقل واحد في الجدول الرئيسي وله قيمتان مستمر ومستبعد او نعم لا ونتحكم فيما نريد عن طريق الاستعلام اخيرا من يتخذ قرار الاستبعاد ومن يتخذ قرار الاعادة وهل يحتاج الاستبعاد او الاعادة الى توثيق ام مجرد توجيه شفهي . و لا داعي للاجابة مجرد تفكير بصوت مرتفع اخونا الشايب
-
امين ولك مثل ذلك
-
جرب المرفق فتح التقرير.accdb
-
👍 و هنا يبرز الفرق بين الخبراء والاساتذة وبين المبتدئين امثال الاخ العزيز شايب الذي يحاول ان ينهل من علم اساتذنا الافاضل
-
لابد ان نعرف ان هناك الحاق بيانات من جدول الى جدول اخر في نفس او في قاعدة اخرى لكافة الحقول كما في مشاركتي الخاصة باستعلام الالحاق او لحقول محددة وهناك ايضا تصدير او استيراد كائن من قاعدة بيانات لقاعدة اخرى والكائن ممكن ان يكون جدول او استعلام او نموذج او تقرير وهكذا اعتقد ان الاخ الفاضل شايب سبق ان اجاب على استفسار مماثل ووضع مثال لتصدير جدول او اكثر بامر واحد وكذلك مشاركة مميزة للاستاذ @ابو جودي لتصدير عدة كائنات هنا المشاركة السابقة مع الاعتذار من صاحب المشاركة الاستاذ @elmozy525 الافضل ان تضع مشاركة جديدة لعلك تجد مبتغاك اخونا الشايب
-
-
وعليكم السلام بداية لا بد ان نعرف ان هناك انواع من العلاقات راس باطراف اطراف باطراف " تحتاج جدول وسيط يمثل الرأس للطرفين " راس براس والعلاقة الاشهر والاكثر استخدام هي راس باطراف حيث يمثل الراس الجدول الاب هناك اب واحد والاطراف الابناء فيمكن ان يكون هناك اكثر من ابن ولكن الاب واحد وايضا ممكن ان يكون هناك جدول رأس ولايوجد سجلات تابعة في جدول الاطراف ولكن لايمكن اضافة سجلات في الجدول التابع بدون وجود سجل لها في الجدول الرئيس بالنسبة للمشكلة التي تشير اليها قد تعود الى انك تقوم باضافة في الجدول التابع وليس هناك سجل لها في الجدول الرئيسي واعتذر عن الاطالة وانصح بمتابعة الامر مع استاذنا ابو خليل حيث بدأتم العمل في البرنامج معا اخونا الشايب
-
جرب المرفق باستخدام استعلامين الاول للمتطابقات والاخر استعلام عادي يحتوي على استعلام فرعي لاستبعاد اول سجل من كل سجل مكرر جملة الاستعلام للمتطابقات SELECT t1.الاسم, t1.الاب, t1.الجد, t1.[اسم الام], t1.[اب الام], First(t1.التسلسل) AS Firstمنالتسلسل FROM t1 GROUP BY t1.الاسم, t1.الاب, t1.الجد, t1.[اسم الام], t1.[اب الام] HAVING (((t1.الاسم) In (SELECT [الاسم] FROM [t1] As Tmp GROUP BY [الاسم],[الاب],[الجد],[اسم الام],[اب الام] HAVING Count(*)>1 And [الاب] = [t1].[الاب] And [الجد] = [t1].[الجد] And [اسم الام] = [t1].[اسم الام] And [اب الام] = [t1].[اب الام]))) ORDER BY t1.الاسم, t1.الاب, t1.الجد, t1.[اسم الام], t1.[اب الام]; و للاستعلام الثاني مصدر النموذج SELECT t1.التسلسل, t1.الاسم, t1.الاب, t1.الجد, t1.[اسم الام], t1.[اب الام] FROM t1 WHERE (((t1.التسلسل) Not In (SELECT q_1.Firstمنالتسلسل FROM q_1;))); ربما توجد طرق اسهل ولكن الاخ الفاضل شايب غير متخصص الملف مرفق test(١).accdb
-
نعم للمبرمج ولكن المقصود من ردي السابق ان هناك العديد من الاوامر ممكن عملها بمعالجات الاكسس وبدون الحاجة الى كتابة اكواد vba لا .. ربما تشابهت عليك الامور استاذ @Eng.Qassim اجابك استاذنا الفاضل ابو خليل في حالتنا استخدمنا النجمة لكون الجدولين متشابهين تماما اما في حالة اختلاف الجداول فلابد من تحديد اسماء الحقول عند اعداد الاستعلام للحقول المطلوب الحاقها ولابد ايضا ان تكون الحقول من نفس النوع اخونا الشايب
-
نعم ممكن للاستيراد DoCmd.TransferDatabase acImport, "Microsoft Access", "d:\test2.accdb", acTable, "data", "test", False data اسم الجدول المطلوب استيراده test اسم الجدول بعد الاستيراد للتصدير DoCmd.TransferDatabase acExport, "Microsoft Access", "d:\test2.accdb", acTable, "test", "test55", False وومكن في مثل حالة اخينا صاحب الموضوع طالما الجدولين مثماثلين عمل استعلام الحاق من القاعدة القديمة الى الجديدة وعبارة الاستعلام INSERT INTO test IN 'D:\abdoo.accdb' SELECT data.* FROM data; وفي جميع الاحوال الافضل اخيرا الاكسس يقوم بالعديد من المهام بدون الحاجة الى كتابة اكواد ومنها الاستيراد والتصدير للبيانات اخونا الفاضل شايب
-
من غير الحكمة تجاهل تحذيرات برنامج الحماية و ايقافه لتجربة برنامج وجهة نظر غير ملزمة ولا تعني اتهام او تشكيك في احد وانما الحذر واجب اخونا الشايب
-
لا لا بل يحسب بشكل صحيح لكن هل جعلت ستجد ان الترقيم صحيح الملف مرفق invoice1.accdb
-
فكرة اخرى لو جعلت حقل الترقيم في جدول تفاصيل الفاتورة ويبدأ العد في حدث بعد التحديث للحقل ItemCode فلن تظهر كلمة Error ونكتفي بـ Me.txtNewNumber = Nz(DCount("ItemCode", "SalesOrderDetailsT", "SaleID=" & [saleID] & "AND SaleOrder <" & [SaleOrder]), 0) + 1 ونستغني عن الكود الموجود في حدث الحالي للنموذج الفرعي ولكن لو حرف امتناع لامتناع اخونا الشايب
-
ايضا ومع ما اشار اليه الاخ شايب لتنفيذ الامر بشكل صحيح يتطلب اضافة للحقول الموجودة كود المخالفة حتى لايكون هناك اجتهاد في كتابة نوع المخالفة مثل غائب واخر غياب الي اخره ونحتاج ايضا الى تاريخ المخالفة مثلا موظف غاب يوم الاحد والثلاثاء وتم التسجيل للمخالفتين يوم الخميس فهنا لايوجد تكرار والحديث يطول ولا نريد ان نستغرق في التفاصيل الشايب
-
لا اتفق معكم يا ابل خليل لان تكرار تسجيل نفس المخالفة وارد وبدل من ذلك يكون هناك حقل تفصيل للمخالفة لسهولة ضبط التكرار وجهة نظر
-
مشاركة مع الاستاذ سامي المتألق دائما باستخدام dcount بشرطي رقم العامل وتاريخ المخالفة Dim x As Integer x = DCount("*", "المخالفات", " [رقم_العامل]=" & [رقم_العامل] & "and [تاريخ_المخالفة] =" & Format([تاريخ_المخالفة], "\#mm\/dd\/yyyy\#")) If x > 0 Then MsgBox "عدد المخالفات = " & x Else End If للحصول على رسالة بالعدد انقر مزدوج على حقل المعرف وممكن الاستغناء عن الرسالة عن طريق حقل نصي الملف مرفق باستخدام الطريقتين الرسالة والحقل اخونا الشايب Database2.accdb
-
جرب في حدث الحالي للنموذج Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = 109 Then If ctl.Value = "الكلمة" Then ctl.Locked = True Else ctl.Locked = False End If End If Next ctl ممكن تعديل السطر الثالث عن طريق استخدام خاصية التاج اذا اردنا استثناء حقول معينة اخونا شايب
-
لا مشكلة في حدث قبل التحديث للكمبو0 نضع الامر If Application.CurrentProject.AllReports("sos").IsLoaded = True Then DoCmd.Close ObjectType:=acReport, ObjectName:="sos", Save:=acSavePrompt Else End If الملف مرفق اخونا الشايب Database110(1).accdb
-
وعليكم السلام بداية اجريت بعض التغيير على القوائم بحيث عند فتح قائمة الدول تكون القائمة الثانية باسماء المسجلين للدولة المختار ثم وضع الشرط لفتح التقرير بمعيارين الملف مرفق Database110.accdb
-
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
والله يا اباخليل اني احبك في الله وانت استاذي اولا واخرا -
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
اما اذا اردنا استخدام متغير كما اشار الاستاذ الكبير في الوحدة النمطية نعدل في المتغير الى Public myNumId(1) As Variant غيرنا المتغير ليكون يقبل قيمتين وغيرنا نوعة من رقم الى غير محدد ليقبل اي نوع من الحقول ثم في النموذج الاول نضع الامر myNumId(0) = Me.ID myNumId(1) = Me.Discount DoCmd.OpenForm "frm2", acNormal وفي النموذج الثاني في حدث عند التحميل نضع Me.ID = myNumId(0) Me.Discount = myNumId(1) لم نحتاج الى دالة التقسيم في حال كنت مبتدي وليس لديك معرفة لمعالجة رسائل الخطا فان طريقة الاستاذ الكبير اسهل الملف مرفق db1(2).rar -
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
نعم ممكن حقلين وثلاثة وعشرة وهذا الامر للطريقة التي اشار اليها الاخ شايب وايضا لطريقة الاستاذ الكبير ولكن الاخ شايب سوف يشرح ذلك في الطريقة التي اشار اليها في زر الامر نضع الامر التالي DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , [ID] & "|" & [Discount] هنا لدينا حقلي المعرف والحسم وفصلنا بينهما بـ & "|" & والهدف من ذلك ان نستخدم دالة التقسيم في النموذج الثاني لفصل قيمة المعرف عن قيمة الحسم ثم في نموذج الوجهة اي النموذج الثاني وضعنا الامر التالي Dim a As Variant a = Split(Me.OpenArgs, "|") Me.ID = a(0) Me.Discount = a(1) الملف مرفق اخونا الفاضل شايب db1.rar -
مساعده في فتح نموذج من نموذج اخر وكتابه رقم في حقل معين
شايب replied to Mohamed Khaled Galal's topic in قسم الأكسيس Access
مشاركة مع استاذنا طريقة اخرى بدون استخدام متغير عام تحميل القيمة مباشرة في امر فتح النموذج باستخدام الامر التالي DoCmd.OpenForm "frm2", acNormal, , , acFormAdd, , ID وفي النموذج الثاني في حدث عند التحميل نضع الامر Me.ID = Me.OpenArgs اخير في تعديل الاستاذ الكبير وكذلك في تعديل اخونا شايب يفضل ان تضع امر معالجة الخطأ في حالة كون حقل id في النموذج الاول فارغ والله الموفق