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

تشغيل استعلام الالحاق بين تاريخين من الفورم


ahmedabuzena

الردود الموصى بها

السلام عليكم ورحمة الله وبركاته رجاءا مساعدتي في كود يقوم بالضغط على زر النسخ بعد اختيار تاريخ اول المدة وتاريخ اخر المدة بتشغيل استعلام الالحاق لنسخ الداتا من جدول المبيعات الى جدول الحسابات 

يقوم بنسخ التاريخ - ورقم الفاتورة - وارباح الفاتورة

بين التاريخين

وجزاكم الله خيرا

 

Database new.rar

رابط هذا التعليق
شارك

وعليكم السلام

الطلب مكرر لموضوع سابق .. وهذا دليل انك لم تجد الحل الشافي الذي ترغب به

حقيقة  وخذها مني بصدر رحب .. لاني هنا معلم ، واهتم ببناء  الاساسات والتعامل معها على الاسس العلمية الصحيحة

لهذا لا احرص على التعديل على امثلة ومرفقات تكون فكرتها غير صحية برمجيا ، واذا حصل وعدلت فاني احرص على تنبيه السائل ليحسن مستواه

ستجد بعد كلامي هذا من يحقق طلبك .. لأن البرمجة لا يعجزها شيء حتى لو كانت الفكرة خاطئة .

المعلومة التي اريد ايصالها :

1- يخطىء الكثير  عندما يتعرضون للبيانات التي تم رصدها في قاعدة البيانات .. في عمليات النقل والحذف والتحرير بين الجداول . 

يمنع منعا باتا التعرض لهذه البيانات الا في حدود ضيقة جدا .. ويتعامل معها بمنتهى الحذر خاصة البيانات المالية

على سبيل المثال : من يقوم في نهاية السنة المالية بنقل حسابات العام المنصرم  لجدول جديد تمهيدا لفتح نسخة جديدة .. وهذا خطأ فادح ولا يمت للبرمجة بصلة .. والنهج الصحيح الآمن ان يتم اخذ نسخة احتياطية وحفظها في مكان آمن .

نأتي لموضوعك :

الاستعلامات والجداول وجهان لعملة واحدة بل ان الاستعلامات اكثر مرونة وهذا معلوم للجميع

ما تريد ان تعمله من نقل الارباح  الى جدول آخر .. الاستعلام يقوم به على اكمل وجه  ، ويمكنك عرضه من خلال التقارير او النماذج 

وهنا تكون حافظت على قوة برنامجك لأن المعلومه او القيمة سيكون مصدرها مكان واحد فقط

 

 

 

  • Like 1
رابط هذا التعليق
شارك

منذ ساعه, ابوخليل said:

وعليكم السلام

الطلب مكرر لموضوع سابق .. وهذا دليل انك لم تجد الحل الشافي الذي ترغب به

حقيقة  وخذها مني بصدر رحب .. لاني هنا معلم ، واهتم ببناء  الاساسات والتعامل معها على الاسس العلمية الصحيحة

لهذا لا احرص على التعديل على امثلة ومرفقات تكون فكرتها غير صحية برمجيا ، واذا حصل وعدلت فاني احرص على تنبيه السائل ليحسن مستواه

ستجد بعد كلامي هذا من يحقق طلبك .. لأن البرمجة لا يعجزها شيء حتى لو كانت الفكرة خاطئة .

المعلومة التي اريد ايصالها :

1- يخطىء الكثير  عندما يتعرضون للبيانات التي تم رصدها في قاعدة البيانات .. في عمليات النقل والحذف والتحرير بين الجداول . 

يمنع منعا باتا التعرض لهذه البيانات الا في حدود ضيقة جدا .. ويتعامل معها بمنتهى الحذر خاصة البيانات المالية

على سبيل المثال : من يقوم في نهاية السنة المالية بنقل حسابات العام المنصرم  لجدول جديد تمهيدا لفتح نسخة جديدة .. وهذا خطأ فادح ولا يمت للبرمجة بصلة .. والنهج الصحيح الآمن ان يتم اخذ نسخة احتياطية وحفظها في مكان آمن .

نأتي لموضوعك :

الاستعلامات والجداول وجهان لعملة واحدة بل ان الاستعلامات اكثر مرونة وهذا معلوم للجميع

ما تريد ان تعمله من نقل الارباح  الى جدول آخر .. الاستعلام يقوم به على اكمل وجه  ، ويمكنك عرضه من خلال التقارير او النماذج 

وهنا تكون حافظت على قوة برنامجك لأن المعلومه او القيمة سيكون مصدرها مكان واحد فقط

 

 

 

اخي ابو خليل جزاكم الله خيرا على الرد والنصيحه 

المشكلة اني مش مبرمج علشان اقدر اعمل برنامج صحيح 

انا اتعلمت الاكسيس في الاول من خلال قرصات وبعدين المنتديات لحد ما قدرت والحمد لله اعمل برنامج اكسيس يفي بكل اغراض عملي بقاله اكثر من 10 سنوات طبعا في بيانات كثيرة جدا 

واكيد في بداية البرنامج كان في مواطن ضعف كثيرة وكل ما اكتشف خطأ اطرح المشكله في هذا المنتدى والحمد لله اجد من الاخوة حلول للمشاكل 

وصعب جدا اعمل برنامج اخر من البداية

بالنسبة للمثال الذي ارفقته انا شغال على البرنامج من البداية وانا بسجل التاريخ ورقم الفاتورة والارباح يدوياً في جدول الحسابات بقالي فترة كبيرة 

وبسجل المصاريف والنثريات في حقل النثريات فيطلع الناتج المطلوب وهو صافي الارباح

من فترة قريبة كنت قد طرحت مشكلة قريبة من هذة المشكله واخ من الاخوة ساعدني في حلها باستعلام الحاق سهلت عليا اضافة البيانات يدويا

حبيت اطبقها على المثال المطروح نفذت الخطوات على قد ما قدرت 

ولاني لا اقدر ان اتب كود وقفت عند الفورم عند زر النسخ ازاي اخليه يشغل استعلام الالحاق

حاولت اشغله من المثال القديم لكن بسبب الفكرة فيها بعض الاختلافات عجزت عن تشغيل الزر

انا معاك ان البرنامج فيه مواطن ضعف كثير بس مقضي معايا الغرض وعامل الحمد لله كنترول على المخزن وحسابات التجار حتى لو تسجيل البيانات يدويا وكل فترة اطرح موضوع يسهل عليا اضافة البيانات

وبصراحة انتم اكثر المنتديات تعاون وخدمة لكل المشتركين جزاكم الله خيرا وزادكم من علمه وجعل اعمالكم في ميزان حسناتكم

رابط هذا التعليق
شارك

الفرق بين الموضوعين 

الطلب السابق كان كود يقوم بالنسخ من جدول الفواتير الى جدول الحسابات بس لما لقيت محدش رد عليه عرفت ان فيه حاجه مش مفهومه 

حاولت بالامثلة اللي عندي اني الاقي حاجه شبيهه تفي بحل الطلب وجدت استعلام الالحاق بس الكود هو اللي وقف معايا 

فلو امكن حد يحل المشكله اكون شاكر حابسهل عليا نقل البيانات يدويا وجزاكم الله خيرا

رابط هذا التعليق
شارك

1 ساعه مضت, ahmedabuzena said:

المشكلة اني مش مبرمج علشان اقدر اعمل برنامج صحيح 

لما افتح المرفق اعرف مستوى صاحبه وهل هو يجتهد لعمل الأفضل ام لا .. بكذا يتحدد نشاطي للرد من عدمه

ومرفقك يدل على مبرمج متعلم ويطبق ما تعلمه صح

انا اوافقك القول يجتهد الانسان في الاول ومع الوقت تنفتح له ابواب لم يأخذها في الحسبان عند بدء التصميم

 

على كل حال يا ليت تكتب لي :

اسم الجدول المنسوخ منه واسماء الحقول ( الاسم وليس التسمية)

اسم الجدول المنقول اليه واسماء الحقول  ( الاسم وليس التسمية)

وهل النموذج  customer_account_main Query AHMED dollar هو الذي سنعمل عليه

 

رابط هذا التعليق
شارك

1 ساعه مضت, ابوخليل said:

لما افتح المرفق اعرف مستوى صاحبه وهل هو يجتهد لعمل الأفضل ام لا .. بكذا يتحدد نشاطي للرد من عدمه

ومرفقك يدل على مبرمج متعلم ويطبق ما تعلمه صح

انا اوافقك القول يجتهد الانسان في الاول ومع الوقت تنفتح له ابواب لم يأخذها في الحسبان عند بدء التصميم

 

على كل حال يا ليت تكتب لي :

اسم الجدول المنسوخ منه واسماء الحقول ( الاسم وليس التسمية)

اسم الجدول المنقول اليه واسماء الحقول  ( الاسم وليس التسمية)

وهل النموذج  customer_account_main Query AHMED dollar هو الذي سنعمل عليه

 

اخي الكريم بارك الله فيكم وجزاكم الله خيرا على المساعدة وشكرا جزيلا على كلامك الطيب

اولا اسم الجدول المنسوخ منه هو استعلام لاني اريد نتيجة لعملية حسابيه وعلى حد علمي العمليات الحسابية لا تكون في الجداول

اسم الاستعلام المراد النسخ منه[Sales_Invoice_main AHMED profits]

واسماء الحقول المنسوخ منها  [sales_Invoice_date] [Sales_Invoice_No] [net_sell_after_vat]

واسم الجدول المنقول اليه [customer_account_sub]

واسماء الجداول المنقول اليها [Invoice_No] [Date] [Invoice_Value]

واسم النموزج [customer_account_main Query AHMED dollar] وهو بداخل نموزج اخر [AHMED account $]

مع مراعاة اختيار التاريخين حتى لا يتم نسخ كل الفواتير 

كان في خطأ في استعلام الالحاق في اسم النموزج مرفق الملف بعد التعديل

وجزاكم الله خيرا

 

 

 

Capture2222.PNG

Database new2.accdb

رابط هذا التعليق
شارك

الله يكون في عونك

كل مشاكلك من التسميات الخاطئة 

مثل : تسمية حقل بـــــ Date وهي اشهر دالة في اكسس 

ترك فراغات في تسمية العناصر .. وادخال رموز منفردة في التسمية مثل $

ايضا تشابه التسميات فما تستطيع التفريق هل الاسم هذا لجدول او استعلام او نموذج

اتمنى ان تتقدم الى الافضل مستقبلا .. ( حاول ان تستمتع وانت تعمل )

تم تعديل المثال وتحقيق طلبك

 

Database new3.rar

رابط هذا التعليق
شارك

9 ساعات مضت, ابوخليل said:

الله يكون في عونك

كل مشاكلك من التسميات الخاطئة 

مثل : تسمية حقل بـــــ Date وهي اشهر دالة في اكسس 

ترك فراغات في تسمية العناصر .. وادخال رموز منفردة في التسمية مثل $

ايضا تشابه التسميات فما تستطيع التفريق هل الاسم هذا لجدول او استعلام او نموذج

اتمنى ان تتقدم الى الافضل مستقبلا .. ( حاول ان تستمتع وانت تعمل )

تم تعديل المثال وتحقيق طلبك

 

Database new3.rar 93.25 kB · 4 downloads

كلامك صح جداً اكبر مشاكلي العربي مع الانجليزي ف الاسماء والمسافات حاولت انى اعدل الاسماء البرنامج اتدمر الاكواد والماكرو والفورم والاستعلامات كل حاجة اضربت حاولت اعدل حاجة حاجة بس الاقي بعد ما عدلت الاسم في كل مكان الاقي الفورم لا يعمل ولو مسحته وانشأت الفورم مرة اخرى بالاسماء الجديدة الاقي الفورم يعمل ومعرفتش السبب وطبعا علشان ارجع كل الاكواد والازرار مرة اخرى على الفورم الجديد حاجة مرهقه جداً 

يا ريت لو تقدر تقولي الطريقه الصحيحة اللي ممكن اغير بيها الاسماء من غير ما ادمر الفورم  

بالنسبه للبرنامج في تعديل بسيط انا لو اخترت مثلا التاريخ الاول 1 مايو والتاريخ الثاني 30 مايو  النسخ يعمل بدون مشاكل 

بس لو غيرت التاريخ الثاني الي 10 يونيو وضغت على النسخ يعطي رساله ان البيانات مكررة رغم فاتورة رقم 4 غير موجودة بتاريخ 4 يونيو

انا اسف تعبتك معايا جزاكم الله خيرا

 

 

Capture5555.PNG

رابط هذا التعليق
شارك

انا جربت والجدول فارغ وقبل النسخ

مؤكد اذا يوجد اي سجل منسوخ سابقا سيمتنع من النسخ بغض النظر عن السجل الجديد 

........

اذا تريد ينسخ اي سجل جديد حتى لو كان ضمن مجموعة سجلات منسوخة سابقا .. مع منع التكرار .. خبرني

سوف نعتمد على الجدول في ضبط المسألة ونلغي كود منع التكرار الموجود في الاستعلام

رابط هذا التعليق
شارك

22 دقائق مضت, ابوخليل said:

انا جربت والجدول فارغ وقبل النسخ

مؤكد اذا يوجد اي سجل منسوخ سابقا سيمتنع من النسخ بغض النظر عن السجل الجديد 

........

اذا تريد ينسخ اي سجل جديد حتى لو كان ضمن مجموعة سجلات منسوخة سابقا .. مع منع التكرار .. خبرني

سوف نعتمد على الجدول في ضبط المسألة ونلغي كود منع التكرار الموجود في الاستعلام

فعلا انا عايز اي سجل غير منسوخ في الفترة الزمنية التي اخترتها يقوم بنسخة حت او كان في سجلات اخرى تم نسخها مسبقا فى نفس الفترة

هو استعلام الالحاق فيه شرط not in ليضمن نسخ كل رقم فاتورة غير موجود مسبقا ولا يعيد تكرار الفواتير التي تم نسخها مسبقا

مش ممكن يتعمل كود يشغل استعلام الالحاق وهو حينفذ المطلوب ويكون بين التاريخين في استعلام الالحاق فيه شرط التاريخين المشكله اني عايز اشغلهم في الفورم 

 

رابط هذا التعليق
شارك

منذ ساعه, ابوخليل said:

تفضل

شغل الزر الف مرة لن ينسخ الا سجل جديد غير موجود حتى لو كان ضمن مجموعة سوف ينسخه هو فقط

السر : انظر في تصميم الجدول

Database new4.rar 97.83 kB · 2 downloads

تمام هو اشتغل تمام بدون مشاكل بس كنت عايز اعرف ليه ماستخدمناش استعلام الالحاق هو ماينفعش استدعي استعلام الحاق من الفورم وكتر الف خيرك على المساعدة

رابط هذا التعليق
شارك

بالفعل نحن نستخدم استعلام الحاق .. ونستدعيه بالدالة  RunSQL

DoCmd.RunSQL "INSERT INTO customer_account_sub ( Date1, Invoice_No, Invoice_Value ) " & vbCrLf & _
"SELECT Sales_Invoice_main_AHMED_profits.sales_Invoice_date, Sales_Invoice_main_AHMED_profits.Sales_Invoice_No, Sales_Invoice_main_AHMED_profits.net_sell_after_vat " & vbCrLf & _
"FROM Sales_Invoice_main_AHMED_profits " & vbCrLf & _
"WHERE (((Sales_Invoice_main_AHMED_profits.sales_Invoice_date) Between [Forms]![AHMED_account_$]![customer_account_main_Query_AHMED_dollar]![Date3_from] And [Forms]![AHMED_account_$]![customer_account_main_Query_AHMED_dollar]![Date3_To]))"

 فلو قمنا بنسخ هذا ولصقه في استعلام فارغ .. وازلنا عنه بعض العبارات الزائدة مثل   " & vbCrLf & _  وكذلك ازلنا الامر DoCmd.RunSQL في اول الجملة وايضا علامات التنصيص لحصلنا على استعلام الحاق الذي نحن نعرفه .

  • Thanks 1
رابط هذا التعليق
شارك

2 ساعات مضت, ابوخليل said:

بالفعل نحن نستخدم استعلام الحاق .. ونستدعيه بالدالة  RunSQL

DoCmd.RunSQL "INSERT INTO customer_account_sub ( Date1, Invoice_No, Invoice_Value ) " & vbCrLf & _
"SELECT Sales_Invoice_main_AHMED_profits.sales_Invoice_date, Sales_Invoice_main_AHMED_profits.Sales_Invoice_No, Sales_Invoice_main_AHMED_profits.net_sell_after_vat " & vbCrLf & _
"FROM Sales_Invoice_main_AHMED_profits " & vbCrLf & _
"WHERE (((Sales_Invoice_main_AHMED_profits.sales_Invoice_date) Between [Forms]![AHMED_account_$]![customer_account_main_Query_AHMED_dollar]![Date3_from] And [Forms]![AHMED_account_$]![customer_account_main_Query_AHMED_dollar]![Date3_To]))"

 فلو قمنا بنسخ هذا ولصقه في استعلام فارغ .. وازلنا عنه بعض العبارات الزائدة مثل   " & vbCrLf & _  وكذلك ازلنا الامر DoCmd.RunSQL في اول الجملة وايضا علامات التنصيص لحصلنا على استعلام الحاق الذي نحن نعرفه .

جزاكم الله خيرا وزادكم من علمه 

رابط هذا التعليق
شارك

  • 3 weeks later...
في 30‏/5‏/2023 at 01:13, ابوخليل said:

بالفعل نحن نستخدم استعلام الحاق .. ونستدعيه بالدالة  RunSQL

DoCmd.RunSQL "INSERT INTO customer_account_sub ( Date1, Invoice_No, Invoice_Value ) " & vbCrLf & _
"SELECT Sales_Invoice_main_AHMED_profits.sales_Invoice_date, Sales_Invoice_main_AHMED_profits.Sales_Invoice_No, Sales_Invoice_main_AHMED_profits.net_sell_after_vat " & vbCrLf & _
"FROM Sales_Invoice_main_AHMED_profits " & vbCrLf & _
"WHERE (((Sales_Invoice_main_AHMED_profits.sales_Invoice_date) Between [Forms]![AHMED_account_$]![customer_account_main_Query_AHMED_dollar]![Date3_from] And [Forms]![AHMED_account_$]![customer_account_main_Query_AHMED_dollar]![Date3_To]))"

 فلو قمنا بنسخ هذا ولصقه في استعلام فارغ .. وازلنا عنه بعض العبارات الزائدة مثل   " & vbCrLf & _  وكذلك ازلنا الامر DoCmd.RunSQL في اول الجملة وايضا علامات التنصيص لحصلنا على استعلام الحاق الذي نحن نعرفه .

السلام عليكم ورحمة الله وبركاته اخي الكريم في مشكلة في البرنامج اضافة الفواتير مفيش منها مشاكل بس لما عملنا رقم الفاتورة والتاريخ مفتاح اساسي بقيت مش عارف اكتب اى مصاريف لازم اكتب رقم فاتورة وده لا يجوز لا خانة المصاريف ليس لها رقم فاتورة

رابط هذا التعليق
شارك

جملة SELECT INTO

تستخدم عادة في انشاء نسخة احتياطية من الجداول

و تأتي على عدة اوجه و استخدامات قد تختلف من SQL الى قاعدة بيانات اكسس او اوريكال

مثال على ذلك في الأكسس
 

لعمل نسخة احتياطية من نفس الجدول في نفس قاعدة البيانات

SELECT * INTO Persons_backup FROM Persons

لنسخة الجدول لقاعدة بيانات اخرى

SELECT Persons.* INTO Persons IN '........\Backup.mdb'
FROM Persons

و لنسخ الجدول مع العلاقات

SELECT Employees.Name,Orders.Product
INTO Empl_Ord_backup
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID

المسميات داخل جمل الاستعلام ما هي إلا للمثال فقط

رابط هذا التعليق
شارك

1 ساعه مضت, دروب مبرمج said:

جملة SELECT INTO

تستخدم عادة في انشاء نسخة احتياطية من الجداول

و تأتي على عدة اوجه و استخدامات قد تختلف من SQL الى قاعدة بيانات اكسس او اوريكال

مثال على ذلك في الأكسس
 

لعمل نسخة احتياطية من نفس الجدول في نفس قاعدة البيانات

SELECT * INTO Persons_backup FROM Persons

لنسخة الجدول لقاعدة بيانات اخرى

SELECT Persons.* INTO Persons IN '........\Backup.mdb'
FROM Persons

و لنسخ الجدول مع العلاقات

SELECT Employees.Name,Orders.Product
INTO Empl_Ord_backup
FROM Employees
INNER JOIN Orders
ON Employees.Employee_ID=Orders.Employee_ID

المسميات داخل جمل الاستعلام ما هي إلا للمثال فقط

السلام عليكم اخي الكريم ممكن تعدل البرنامج انا معنديش خلفية في الاكواد يا دوب بأخذ الكود واطبقه على مثال مشابه واغير فقط الاسماء اكثر من كدة معرفش اتعامل مع الاكواد

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information