-
Posts
583 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
25
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو متقاعد
-
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
الملف مرفق Database511.accdb -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
جرب الان Database511.accdb -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
يا هلا دكتورنا العزيز في البرمجة كل شي ممكن ولكن هنا نتحث عن حالة خاصة ربما الامر الغير ممكن ان نحصل على نتيجة اذا لم تتوفر المعطيات المطلوبة فهنا المطلوب نقل قيمة الحقول حتى المكررة منها وتجميعها في حقل واحد بشكل عمودي ولو اردنا عدم نالتكرار بالتاكيد نحتاج الى تعديل على الكود و لو تلاحظ اني تحدثت عن طريقتين بالكود وعدم التكرار يحتاج الى تعديل وايضا تحدثت عن طريقة اخرى تحقق النتيجة باستعلام توحيد وهذه الطريق لا نحتاج الى تعديل فقط ازالة عبارة all اي تعديل union all في السطر الثالث والسطر السادس الى union وهنا سوف يقوم بجمع البيانات بدون تكرار انا عضو ولست مشرف صحيح كنت في السابق احمل لقب خبير ولكن هذا امر اخر و الحديث في الماضي نقصان عقل ونحن ابناء اليوم تحياتي وتقديري اخي الكريم 🌹 -
مساعدة لتجميع سجلات مختارة لنموذج سجلات متصلة
متقاعد replied to abdhamid's topic in قسم الأكسيس Access
الحقيقة انا امس ايضا عملت على الملف بناء على فهمي للامر لرقم واحد انه يرغب بالترقيم للموظفين بناء على الغرفة واستخدمت دالة dmax بشرط رقم الغرفة مثلا غرفة 1001 يكون الترقيم من 1 الى نهاية سجلات النموذج الفرعي وغرفة 1002 ايضا من 1 الى .. وبالنسبة لرقم 2 اضفت في الجدول حقل من نوع نعم لا واستخدمت if و dsum بشرطين رقم الغرفة وحالة الحقل الجديد فاذا كانت القيمة لا لكل سجلات الفرعي للغرفة يكون المبلغ الاجمالي للسجلات واذا كانت هناك حقول نعم يجمع هذه الحقول فقط ولكن عند دخولي وجدت ردك مع عدم التيقن بان فهمي صحيح فتوقفت وتركت الامر لكم اخي قاسم تحياتي -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
الشكر لله اخي ليس من الضروري تجربتها طالما انت وصلت للحل بالطريقة السابقة واشارتي لاستعلام التوحيد فقط لغرض الحديث عن حلول اخرى واثراء للموضوع فقط تحياتي -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
اود ان اوضح انه في مثل هذه الحالات البسيطة فقط دمج ثلاث حقول من جدول الى حقل في جدول اخر بشكل عمودي ممكن ان نصل للنتيجة بدون الحاجة الى اكواد وبعدة طرق ومن باب تعدد الحلول سوف اشرح طريقة واحدة اضافية وقبل ذلك من المعلوم ان لدينا انواع متعددة من الاستعلامات ومنها استعلام توحيد وهذا النوع يستخدم في العادة لدمج حقول متشابهه من جدولين او اكثر في استعلام واحد ولكن ايضا ممكن دمج حقول من نفس الجدول لذا ممكن ان نصيغ جملة الاستعلام بالشكل التالي SELECT [The Main].[no], [The Main].dx FROM [The Main] union all SELECT [The Main].[no], [The Main].dd FROM [The Main] UNION ALL SELECT [The Main].[no], [The Main].dh FROM [The Main]; والخطوة التالي نعمل استعلام الحاق مصدر بياناته استعلام التوحيد INSERT INTO sd ( id, a ) SELECT q_1.[no], q_1.dx FROM q_1 ORDER BY q_1.[no]; ونحصل على نفس نتيجة استخدام الاكواد تحياتي -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
ولك مثل ذلك بعون الله لا يوجد تعب والامر هين اخي الكريم تمنياتي لك بالتوفيق وعيدكم مبارك -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
ملاحظة تجنب تسمية الاحقول بالارقم الملف مرفق Database51.accdb -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
استبدل الكود في زر الامر بالتالي Dim rst As DAO.Recordset Dim rs As DAO.Recordset Dim fld As Field Dim a As Integer Set rst = CurrentDb.OpenRecordset("the main") Set rs = CurrentDb.OpenRecordset("sd") For a = 1 To rst.RecordCount For Each fld In rst.Fields If fld.Name = "28" Or fld.Name = "280" Or fld.Name = "281" Then rs.AddNew rs!a = fld.Value ' rs!id = rst!no rs.Update End If Next fld rst.MoveNext Next a rst.Close: Set rst = Nothing rs.Close: Set rs = Nothing ولو تضع عمود id تنقل له الرقم no للمحافظة على التسلسل اذا رغبت بذلك اضف حقل id في جدول sd ولا تجعله مفتاح اساسي وفي السطر 12 من الكود الغي علامة . من بداية السطر تحياتي -
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
ممكن ذلك Dim rst As DAO.Recordset Dim rs As DAO.Recordset Dim fld As Field Dim a As Integer Set rst = CurrentDb.OpenRecordset("tbl_1") Set rs = CurrentDb.OpenRecordset("tbl_2") For a = 1 To rst.RecordCount For Each fld In rst.Fields If fld.Name <> "id" And fld.Name <> "item" Then rs.AddNew rs!a = fld.Value ' rs!Item = rst!Item rs.Update End If Next fld rst.MoveNext Next a rst.Close: Set rst = Nothing rs.Close: Set rs = Nothing عملته بشكل سريع وليس لدي وقت للمراجعة مرفق مثال صغير تحياتي Database151.accdb -
وبالنسبة للقارئ هذا ⬇️ الموضوع يفيدك
-
لمعرفة كيفية استخلاص المعلومات لابد من معرفة ماذا تمثل ارقام الهوية مثال : SA0380000000608010167519 الرقم هو رقم ايبان وهمي لاحد البنوك ممكن ان نستخلص من المعلومات التالية sa تعني انه بنك سعودي 03 رمز تحقق مرجعي بعض الدول يمثل الفرع وبعضها يستخدمه للتحقق من التحويل 80 رمز البنك مثلا 80 بنك الراجحي 79 بنك البلاد اسما البنوك هنا لغرض الايضاح فقط 608010167519 يمثل رقم حسابك الشخصي وكذلك الامر مع رقم الهوية لبعض الدول حيث يمثل كل جزء من الرقم دلالة على تاريخ الميلاد والجنس ومكان الميلاد الخ لذا لو كانت لديك او لاحد الاخوان معرفة بما تمثله ارقام الهوية يمكن عمل ماتريد اخيرا بعض الدول لا تستخدم هذه الطريقة ولمعرفة المعلومات لابد من جهاز قارئ للبطاقة وقد يتطلب تصريحات امنيه لاستخدامه تحياتي
-
دمج اكثر من عمود فى جدول فى عمود واحد فى جدول جديد اسفل بعض
متقاعد replied to Abo-yousef's topic in قسم الأكسيس Access
الامر مبهم قليلا اذا كان المطلوب كما في الصور المرفقة فيمكن عمل كود بحلقتين دوارة الحلقة الاولى تمر على سجلات الجدول والحلقة الاخرى تمر على الحقول لكل سجل ثم تنشئ سجل في الجدول الجديد بحيث تضع الحقول متتابعة في حقل واحد لكل صنف الصور مرفقة -
مساعدة في عمل اجماليات الاصناف في النموذج الفرعي كلا على حدا
متقاعد replied to أمير ادم's topic in قسم الأكسيس Access
التعديل ☝️باذن الله يحقق المطلوب ولكن لابد من الانتباه الى انه سوف يجمع عدد الاصناف وفقا للحركة والنوع حتى لو اختلف اسم الصنف مثلا في نفس الحركة ادخلنا 20 كرتون زيت و10 كراتين زيت و15 كرتون مواد كيماوية و5 كراتين مواد كيماوية و 10 كراتين بترو كيمكال مركز الناتج حسب هذه الطريقة يكون 60 كرتون بينما الاحصائية الصحيحة تكون 30 كرتون زيت و20 كرتون مواد كيماوية و10 بترو كيمكال لو تلاحظ اني كررت الصنف ☝️ بما يشابه طريقة عمل ملفك بالتأكيد يمكن اضافة شرط ثالث برقم الصنف ولكن الامر سيكون غير عملي لانه يتطلب الانتقال الى رقم الصنف لذا فان الافضل ان تكون الاجماليات من خلال تقرير واذا كان الامر يمثل اهمية اكثر من كونه امر تجميلي للشاشة فحينها يمكن عمل نموذج مساعد برقم الحركة يعطي احصائية للمجاميع برقم الصنف والحركة والنوع ويكون مصدر النموذج استعلام وبدون الحاجة لاستخدام دالة dsum ولا اضافة معايير معقدة وخصوصا ان استخدام دوال تجميع المجال بشكل كبير قد يبطى من عمل البرنامج وخصوصا عند ربط البرنامج بالشبكة حيث يمثل كل استخدام تنفيذ استعلام ويكون الامر اكثر وضوح كلما زاد عدد السجلات تحياتي -
مساعدة في عمل اجماليات الاصناف في النموذج الفرعي كلا على حدا
متقاعد replied to أمير ادم's topic in قسم الأكسيس Access
فقط اضف معيار رقم الحركة لكل نوع =Nz(DSum("[Odb_Qty]";"[Odb_PlaningMonthe_ForCost_ProdactionSUM]";"[Odb_Type] Like 'كرتون'" & " and [odb_id]='" & [Odb_ID] & "'");0) الملف مرفق FGHF.accdb -
ماشاء الله استاذ احمد لدي تعليق صغير على كود الاستاذة لميا في حقل الجنس " AND [Gender] Like '*" & [txtGender] & "*'" & _ هنا استخدمت معيار like مع النجمة قبل وبعد حقل الجنس لكونها ارادت استخدام فلترة متعددة لعدد من الحقول وبالتالي لو كان البحث بمعايير ليس من ضمنها الجنس سوف تعود بنتيجة صحيحة والامر يعمل بدون مشاكل والسبب انها استخدمت حرف f للانثى و m للذكر ولكن لو انها استخدمت الكلمة كاملة female و male فلن تحصل على نتيجة صحيحة عند البحث عن كلمة male لماذا لان علامة النجمة قبل الحقل تعوض عن الاحرف الغير معروفة وهذا الامر يغفل عنه البعض ولا اقصد الاستاذة لانها استخدمها هنا كان محدد بحرف واحد لذا في مثل هذه الحالات عندما نستخدمة الكلمة كاملة لا نستخدم * مع like وانما نستخدم nz مع النجمة ليكون الامر " AND [Gender] Like '" & Nz([txtGender], "*") & "'" & _ مجرد ايضاح بسيط ربما يفيد احدكم اخيرا قد يقول قائل انا اريد استخدام female و male ولكن لا ارغب في كتابة الكلمة كاملة ارغب فقط بكتابة الحرف الاول فقط فما هو الحل اكسس يتيح لنا استخدام النجمة ايضا في حقل البحث شاهد الصورة تحياتي
-
ماشاء الله تبارك الله امر غير مستغرب منكم ليس دائما ولكن الى حد ما فالهمة والعزم والطموح والارادة والرغبة تختلف من شخص الى اخر و من مرحلة الى اخرى يقول الله عز وجل " اللَّهُ الَّذِي خَلَقَكُمْ مِنْ ضَعْفٍ ثُمَّ جَعَلَ مِنْ بَعْدِ ضَعْفٍ قُوَّةً ثُمَّ جَعَلَ مِنْ بَعْدِ قُوَّةٍ ضَعْفًا وَشَيْبَةً يَخْلُقُ مَا يَشَاءُ وَهُوَ الْعَلِيمُ الْقَدِيرُ " وقوله سبحانه " وَاللَّهُ خَلَقَكُمْ ثُمَّ يَتَوَفَّاكُمْ ۚ وَمِنكُم مَّن يُرَدُّ إِلَىٰ أَرْذَلِ الْعُمُرِ لِكَيْ لَا يَعْلَمَ بَعْدَ عِلْمٍ شَيْئًا ۚ إِنَّ اللَّهَ عَلِيمٌ قَدِيرٌ " مع الاعتذار لصاحب الموضوع عن الاستطراد ولكن قد يشفع لي ولك اننا اشرنا الى عدة طرق للفلترة والبحث ربما يستفيد منها احدهم تحياتي وتقديري ولنا لقاء في موضوع اخر باذن الله
-
كل عام وانتم بخير تقبل الله منا ومنكم صالح الاعمال وعيدكم مبارك
-
طبعا هناك فلترة وهناك بحث والفرق ان الفلترة تظهر فقط ما يطابق معيارها اما البحث فتبقى السجلات في النموذج وينتقل التركيز للسجل المطابق لمعيار البحث مثال الامر DoCmd.FindRecord له سبعة معلمات FindWhat و Match و MatchCase و Search و SearchAsFormatted و OnlyCurrentField و FindFirst مثال لو اردنا البحث برقم الايدي للموظف Me.id.SetFocus DoCmd.FindRecord tx2, , True, , True في البداية نقلنا التركيز لحقل id ثم بحثا عن القيمة التي فيه مطابقة للمكتوب في حقل البحث tx2 وايضا ممكن نكتبة الامر هكذا Me.id.SetFocus DoCmd.FindRecord tx2, , , , , acCurrent وممكن نستخدم المعلمات التي سبق الاشارة لها لبحث اكثر تركيز لمطابقة حالة الاحرف افضل دائما استخدم هذا الامر مع معرف فريد للحصول على نتيجة صحيحة اتفق مع ولكن اتمنى ان يكون من خلالكم او احد الاساتذة في الموقع فانا معلوماتي قديمة واشارك بما تجود به ذاكرتي والتي كثيرا ما تخذلني تحياتي وكل عام وانتم بخير
-
مشاركة مع الاستاذ قاسم ممكن اختصار الكود الى Me.Filter = "[id]=" & Me.c_2.Column(0) Me.FilterOn = True او كتابته هكذا DoCmd.ApplyFilter , "[id]=" & Me.cbo1.Column(0) او بدون الحاجة الى اكواد من خلال وضع معيار في خانة المعرفة في الاستعلام مصدر بيانات النموذج Like "" & [Forms]![نموذج1]![c_2] & "" يمكن استخدام النجمة لعرض كافة السجلات قبل التصفية ويمكن ايضا البحث بدون فلترة وهنا سيتم نقل المؤشر للسجل المطلوب DoCmd.SearchForRecord acDataForm, "نموذج1", acFirst, "[id]=" & Me.c_2.Column(0) انا غيرت اسم حقل المعرف الى id لكونه اسهل عند كتابة الاكواد تحياتي
-
اظهار عبارة لايوجد الموظفين في النموذج الفرعي عندما يكون فارغ
متقاعد replied to بلال اليامين's topic in قسم الأكسيس Access
فعلا واجهتني نفس المشكلة وتوقفت عن المحاولة الحقيقة من اسباب نجاح البرنامج ان يؤدي الهدف الذي صمم من اجله وان يتميز بالسهولة لذا لابد للبرنامج ان يمر بفترة تجربية وان يشارك مستخدموا البرنامج في ابداء ملاحظاتهم لكونهم العنصر الاهم في نجاح اي عمل وفي البرامج التي فيها ادخال بيانات بشكل كبير لابد ان يراعي مصمم البرنامج ذلك من خلال بعض النقاط التي ساتحدث عنها بايجاز مربعات النص لحفول القيم الثابتة اسهل بكثير على مدخل البيانات من القوائم المنسدلة وخصوصا ان المطلوب ادخال رقم فقط مثلا 1=مصر 2=سوريا الخ وبعد فترة تجد ان مدخل البيانات حفظ الرموز استخدام كود يحدد الحقول التي غفل عن ادخالها مدخل البيانات مع تمييز هذه الحقول بالوان وانتقال المؤشر لاول حقل فارغ بدلا من حذف كافة الحقول في اي برنامج من هذا النوع تجد ان هناك حقول تتشابه قيمتها لعدد كبير من الطلاب مثلا الجنسية مكان الميلاد مكان الاقامة الخ فلا داعي لاعادة كتابتها لكل طالب بل يكفي ان نعمل كود بسيط ونستخدم احد مفاتيح لوحة المفاتيح وعند انتها من تسجيل الطالب الاول ننقر مثلا f8 فينقلنا الى سجل جديد ويقوم البرنامج باضافة هذه البيانات او حتى ننتقل الى اي طالب سبق تسجيله لنقل هذه البيانات استخدام قناع الادخال امر مزعج والافضل تجنب استخدامه كلما امكننا ذلك وكذلك الحال قاعدة التحقق من الصحة وحدث عند الخروج ولا يعني عدم استخدامها نهائيا فاحيانا نظطر لذلك هي وجهة نظر غير ملزمة مع الاعتذار للاخ بلال ولكني استغرقت وقت طويل لتسجيل طالب ومع ذلك لم اوفق تحياتي وكل عام وانتم بخير -
تم تصحيح خطا في تقرير الاهداف المنتهية الملف مرفق برنامج اعداد الخطط لمركز السلام(2).accdb
-
لا مشكلة استاذ طاهر حتى لو اردت جمع الفكرتين مع اني لا اجد فائده من ذلك يكون الامر في حدث عن عداد الوقت dd = dd + 1 If dd = Val(x) Then Me.TimerInterval = 0: x = 0 وفي زر الامر dd = 1 x = DCount("*", "tbl_item") Me.TimerInterval = x هنا يكون x هو ناتج عدد سجلات الجدول الملف مرفق 145(1).accdb
-
لا اخي الامر ليس كذلك من يملك الحقيقة المطلقه هي افكار ووجهات نظر وكل منا ينظر للامر من زاوية معينه تحياتي
-
العنوان عد السجلات وفي الموضوع طلب عداد من 1 الى x في حدث عند عداد الوقت ضع التالي dd = dd + 1 If dd = Val(x) Then Me.TimerInterval = 0: x = 0 في زر الامر ضع التالي dd = 1 Me.TimerInterval = x الملف مرفق 145.accdb