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

نقل سجل كامل من جدول الى آخر عن طريق النموذج


Ahmed_J
إذهب إلى أفضل إجابة Solved by د.كاف يار,

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

السلام عليكم اساتذتي الاعزاء

لدي ثلاث جداول وثلاث نماذج متشابهه في البيانات

المطلوب : نقل سجل من جدول الى اخر وحذفة من الجدول الاول حسب النموذج form يتم اختياره عن طريق القائمة المنسدله ويتم النقل اما عن طريق الاسم او id

تحياتي للجميع

test-a.accdb

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

انا ممكن معرفش اعملها كويس  لكن سوف اجرب

و الفكره هي 

اولا انت هتحتاج تعمل استعلام الحاقي لنسخ البيانات من جدول 1 الى جدول 2 

وثم استعلام حذف لنفس البيانات فى جدول 1

 

 

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

السلام عليكم

استاذ لو كان جدولين مافي مشكلة

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

يعني ممكن من الجدول الاول للثالث

او من الثاني للاول وهكذا  في احتمالات عديدة في الموضوع

لذلك عملت قوائم منسدلة عسى اجد الجواب

تحياتي

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

بص اجمالى الاستعلامات هتكون 

12 استعلام 

الحل 

يكون تكوين الاستعلام متغير بتغير اسم الجدول 

انا شغال عليه 

دى النتيجه للفكره (فقط للاطلاع لحين ايجاد حل ان شاء الله)

 

test-a.accdb

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

بعد إذنك أستاذي @عمر ضاحى لدي فكرة تغنيك عن عمل الكثير من الاستعلامات 🙂

هو موديول واحد فيه جملة SQL  وتجعل أسماء الجداول عبارة عن متغير كل مرة يتغير حسب الاسم اللي في القائمة المنسدلة .
وبعدها يشغل جملة ال SQL  حسب المعطيات 🙂 

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

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

5 دقائق مضت, Moosak said:

بعد إذنك أستاذي @عمر ضاحى لدي فكرة تغنيك عن عمل الكثير من الاستعلامات 🙂

هو موديول واحد فيه جملة SQL  وتجعل أسماء الجداول عبارة عن متغير كل مرة يتغير حسب الاسم اللي في القائمة المنسدلة .
وبعدها يشغل جملة ال SQL  حسب المعطيات 🙂 

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

هذا هو الذى اعمل عليه حاليا 

لقد جربت هذا الكود 

لكنه فشل معي مش عارف اذاى اذيف المتغيرات داخل كود ال SQL

Dim Ls1 As String
Dim Ls2 As String

Ls1 = Me.List1
Ls2 = Me.List2

strSQL1 = "INSERT INTO Ls2 ( num, age, school, adress ) " & vbCrLf & _
"SELECT Ls1.num, Ls1.age, Ls1.school, Ls1.adress " & vbCrLf & _
"FROM Ls1 " & vbCrLf & _
"WHERE (((Ls1.id)=[Forms]![form]![Ê]));"


strSQL2 = "DELETE Ls1.id, Ls1.num, Ls1.age, Ls1.school, Ls1.adress " & vbCrLf & _
"FROM Ls1 " & vbCrLf & _
"WHERE (((Ls1.id)=[Forms]![form]![Ê]));"

DoCmd.OpenQuery strSQL1
DoCmd.OpenQuery strSQL2
MsgBox Buttons:=vbInformation, Prompt:="Done", Title:="Notes"

 

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

السلام عليكم اساتذتي الاعزاء

شكرا للمتابعة

نعم جميع حقول الجداول الثلاثة متشابهه  والنماذج الرئيسية ايضا متشابهة

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

تحياتي

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

السلام عليكم استاذ @د.كاف يار

شكرا لك على الجهد الرائع

توجد بعض الملاحظات 

لكنني لااستطيع رفع اي ملف او صورة للموقع  ولا  اعرف السبب

تحياتي

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

استاذي العزيز  @د.كاف يار

الكود اللي حظرتك وضعته للالحاق البيانات

DoCmd.RunSQL "INSERT INTO [" & Table1 & "] SELECT * FROM [" & Table2 & "] Where ID=" & [ت]

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

يعني الكود يقوم بالحاق بيانات تعتمد على التسلسل اذا كان غير موجود

تحياتي

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

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