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

لماذا لا يعمل هذا الكود والاستعلام الإلحاقي


nssj
إذهب إلى أفضل إجابة Solved by husamwahab,

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

الإخوة الكرام .. الكود في الملف المرفق أخذته من بعض الأكواد، والغرض منه إلحاق البيانات من جدول لآخر .. ولكنه لا يعمل

cdb.Execute "insert into b14 (HNO) select HNO from b14000"

وجربت إجراء الأمر عبر استعلام فلم ينجح

أين الخطأ على الوجهين ؟؟

سجلات xx.rar

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

شكرا على الإفادة أخي الكريم

وبعد تجربة الكود بعد إزالة المفتاح الرئيسي ظهر لي أن المطلوب استعلام تحديث وليس استعلام إلحاق !!!!!

المطلوب باختصار هو أنني كنت أنسخ عمود (HNO) من جدول (b14000)

ثم أقوم بلصقه في عمود (HNO) من جدول (b14)

والمطلوب هو أن يقوم الكود بهذه العملية

جربت

UPDATE b14 SET b14.HNO = [b14000].[HNO]

وما زبطت

وحاولت بالاستعلام ونفس النتيجة

هو أنا كل ماأفكر حالي وصلت لمستوى مبتدئ بكتشف إنو لسه الطريق طوييييييل 🤔 🤔 🤔

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

4 ساعات مضت, nssj said:

المطلوب باختصار هو أنني كنت أنسخ عمود (HNO) من جدول (b14000)

ثم أقوم بلصقه في عمود (HNO) من جدول (b14)

والمطلوب هو أن يقوم الكود بهذه العملية

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

عموما قد قمت بتغيير اعداد هذا الحقل الي غير مطلوب وجربت الاستعلام فعمل بغير رسالة الخطأ والحمد لله 

انظر ان كان هذا هو المطلوب ام لا

قم بتشعيل الاستعلام q1 ووافنا بالنتائج

 

سجلات xx.rar

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

شكرا على مرورك أخي الكريم أبو عبدالله الحلوانى

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

فالمطلوب نسخ بيانات حقل (HNO) التي في جدول (b14000) إلى جدول (b14)

وعليه .. فحقل المفتاح الأساسي (MNO) ليس بمشكلة لأنه لا توجد زيادة سجلات .. عدد السجلات سيبقى كما هو والعملية هي مجرد تعبية بيانات أو تغييرها بناء على حقل من جدول آخر

الخطأ مني منذ البداية عندما استعملت الكود بصيغة الإلحاق وليس التحديث

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

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

أحسن الله إليك أخي الكريم husamwahab

هذا هو المطلوب

مع أني عندما فتحت الكود تفاجأت بأنه كود كامل بعدة جمل

هل هذا يعني بأن المطلوب لا يمكن تنفيذه بهذه الجمل التي على شاكلة

 

.. .. UPDATE b14 SET b14.HNO

ذلك أنه خلال تجاربي الفاشلة 🙄 كانت تظهر لي أحيانا رسالة مفادها أنه يوجد خطأ في بناء جملة (update) .. فسبق إلى ذهني أن الطريقة صحيحة من حيث المبدأ وأن الخطأ إنما كان فقط في الصيغة ؟؟

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

  • أفضل إجابة

وانت من المحسنين استاذ nssj

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

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

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

9 ساعات مضت, husamwahab said:

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

هذه المعلومة (الظريفة 🙂) منك اخي الكريم جعلتني أعيد النظر في الجدولين، فأضفت للجدول الثاني (b14000) حقل (MNO) ليكون رابطا بين الجدولين

وبعد النظر في مكتبة الأكواد التي عندي -والتي مصدرها مشاركات الأفاضل أمثالك أخي الكريم- عدلت الكود إلى

cdb.Execute "UPDATE b14 INNER JOIN b14000 ON b14.MNO = b14000.MNO SET b14.HNO = [b14000].[HNO]"

وزبطت معي أخيرا .. :jump:

والآن سوف أضيف الكود (المبالغ به 😃) الذي تفضلت به لهذه المكتبة .. لاستخدامه في التجارب والاختراعات المقبلة :smile:

  • 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