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

اضافة عدة صفوف عن طريق نموذج


mon mon

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

السلام عليكم ورحمة الله 

 

كيف أجعل أمر insert into يعيد نفسه تلقائيا ليُدخل جميع الصفوف المدخلة في النموذج لجدول البيانات 

فمثلا ،، إذا  أدخل المستخدم أكثر من سجل ( كما في الصورة ) فقط آخر صف هو الذي يسجل في الجدول دون باقي الصفوف !!! فكيف أجعله يدخل جميع الصفوف ؟ 

 

وهذا هو الكود 

DoCmd.RunSQL "  INSERT INTO WareHouse  ( [barcode], [Quantity], [BranchID])values ( '" & Me.Sales_Subform![Product] & "', " & -Me.Sales_Subform![Quantity]& ", " & Me.[Branch]& ");"
 

 

 

a.png

تم تعديل بواسطه mon mon
رابط هذا التعليق
شارك

اكتشفت ان كود do  الذي كتبته خطأ من فضلك أخي هل يمكن أن تشرح بالتفصيل قليلا كيف أصيغه 

وما المرفق الذي تقصده ؟ هل تقصد ملف الاكسز ؟

 

وللمعلومية النموذج الذي استخدمته من نوع continuous form 

لأتمكن من ادخال عدة سجلات مرة واحدة للجدول الاساسي 

وفي نفس الوقت اريد ادخال نفس البيانات لجدول آخر ولذلك استخدمت أمر insert into في زر الأمر 

البيانات في الجدول الأساسي تُسجل دون مشكلة 

المشكلة فقط في الجدول الآخر حيث ان فقط الصف الأخير هو الذي يسجل دون الباقي 

 

 

 

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

منذ ساعه, mon mon said:

ما المرفق الذي تقصده ؟ هل تقصد ملف الاكسز ؟

نعم اخي الكريم ملف الاكسسز مع توضيح المطلوب

منذ ساعه, mon mon said:

وللمعلومية النموذج الذي استخدمته من نوع continuous form 

لأتمكن من ادخال عدة سجلات مرة واحدة للجدول الاساسي 

وفي نفس الوقت اريد ادخال نفس البيانات لجدول آخر ولذلك استخدمت أمر insert into في زر الأمر 

البيانات في الجدول الأساسي تُسجل دون مشكلة 

المشكلة فقط في الجدول الآخر حيث ان فقط الصف الأخير هو الذي يسجل دون الباقي

لا يوجد فرق فكما ذكرت جمل SQL تتعامل مباشرة مع الجدوال بدون اي مشكلة

 

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

أخي عملت هذا المثال المبسط جدا لقاعدة البيانات خاصتي ,,  وله نفس الفكرة  

لصعوبة رفع الملف الأصلي لكبر حجمه 

 

فبعد تحميل المرفق 

ستلاحظ عند ادخال عدة سجلات في النموذج وبعد الضغط على submit أنَ ليست كل الصفوف تضاف الى جدول warehouse .. فقط الصف الأخير دون الصفوف العلوية  

 

 

Database11.rar

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

اختي الفاضلة ومشاركة مع اخي محمد ايمن

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

DoCmd.RunSQL "insert into WareHouse(barcode,quantity,branch) select barcode,quantity,branch from sales"

وحبيت اوضح المشكلة لديك سابقا وهي ليست مشكلة وانما خطأ منطقي

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

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

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

For i = CurrentRecord To Me.RecordsetClone.RecordCount
DoCmd.RunSQL "  INSERT INTO WareHouse  ( [barcode], [Quantity], [Branch])values ( '" & Me.[barcode] & "', " & -Me.[quantity] & ", " & Me.[branch] & ");"
DoCmd.GoToRecord , , acNext
Next

بالتوفيق

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

9 ساعات مضت, محمد ايمن said:

تفضل اخي الكريم

جرب الزر ( امر 17)

عندي سؤال صغير : ما الفكرة من ادخال نفس البيانات الى جدولين ؟؟

Database12.rar

جزاك الله خير الدنيا والآخرة أخي محمد شكرا جزيلا لك 

 

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

 

أكرر شكري مرة أخرى 

 

.

.

 

9 ساعات مضت, رمهان said:

اختي الفاضلة ومشاركة مع اخي محمد ايمن

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


DoCmd.RunSQL "insert into WareHouse(barcode,quantity,branch) select barcode,quantity,branch from sales"

وحبيت اوضح المشكلة لديك سابقا وهي ليست مشكلة وانما خطأ منطقي

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

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

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


For i = CurrentRecord To Me.RecordsetClone.RecordCount
DoCmd.RunSQL "  INSERT INTO WareHouse  ( [barcode], [Quantity], [Branch])values ( '" & Me.[barcode] & "', " & -Me.[quantity] & ", " & Me.[branch] & ");"
DoCmd.GoToRecord , , acNext
Next

بالتوفيق

 

 

صحيح أخي رمهان مشكلتي كانت في المؤشر 

فبصراحة لم أكن اعرف الكود الذي يغير مكان المؤشر ... رغم بحثي ولكن للأسف لم أصل لنتيجة 

فجزيل الشكر لك  على إضافتك الجميلة و الّتي ستساعدني كثيرا في المستقبل 

 

جزاك الله خيرا في الدنيا والآخرة ونفع الله بك وبعلمك أخي رمهان 

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

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