الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما الفرق بين الكودين ؟ وسبب قبول احدهما !

بدأه FinF في 26 أكتوبر 2008 · 5 رد · 604 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا عندي كودين يخص استدعاء البيانات وتحديث البيانات

واحد منهم يتم استدعاء البيانات وتحديثها والاخر يظهر لي هذا المسج

Run-Time error 3027

Cannot update. Database or object is read-only

انا ارفق اربع ملفات txt

ملفين لاستدعاء البيانات وملفين للتحديث

الملفات اللي بدايتها er

يعني هو اللي فيه المشكلة

ومعليش على الاطالة والحوسة :)

ولك خالص احترامي

Error.rar

تم تعديل هذه المشاركة بواسطة FinF في 26 أكتوبر 2008 في 14:04

#2

وينكم اخواني ؟؟ هل سؤالي ماهو واضح ؟

#3

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

اقتباس
أنا عندي كودين يخص استدعاء البيانات وتحديث البيانات

واحد منهم يتم استدعاء البيانات وتحديثها والاخر يظهر لي هذا المسج

Run-Time error 3027

Cannot update. Database or object is read-only

طبعاً لأن جملة SELECT ضيوفها كثر ونسيت أن تعرفهم ببعضهم ... (دعابة)

انظروا لهذا المقطع من الجملة .. أين هي عبارة الربط؟

from SUBSCRIBERS, bills, places,ports where NUMSUB = '" & S1 & "' and bills.bnumsub=SUBSCRIBERS.NUMSUB  order by NUMSUB DESC"

يجب أن يكون في هذا المقطع عبارة ربط INNER JOIN على الأقل.. أدي ذلك إلى التنافر بين السجلات وعدم تمكن المشغل من القراءة... هذا هو الجواب عن ملف ER-SELECT

الملف ER-EDIT اعتقد بأنه ناقص فإذا كانت بدايته هي بداية الملف السابق فالجواب واحد

انصح بعدم تكديس الشفرة على بعضها.. هذا يؤدي إلى صعوبة قراءة الشفرة ومراجعتها، وتشتت الذهن، والملل.

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

انصح بوضع التعليمات المتكررة في وضائف أو إجراءات يتم استدعائها عند الحاجة إليها.. وهذا مثال من الملفات المرفقة لإجراء متكرر وضعته في إجراء روتيني

Sub ClearField
S1 = ""
S2 = ""
S3 = ""
S4 = ""
S5 = ""
S6 = ""
S7 = ""
S8 = ""
S9 = ""
S10 = ""
S11 = ""
S12 = ""
S13 = ""
S14 = ""
S15 = ""
S16 = ""
'S17 = 0
S18 = ""
s19 = ""
s20 = ""
s21 = ""
s22 = ""
s23 = ""
s24 = ""
s25 = ""
s26 = ""
s27 = ""
s28 = ""
s29 = ""
s30 = ""
s31 = ""
k1 = ""
k2 = ""
k3 = ""
k4 = ""
k5 = ""
k6 = ""
k7 = ""
k8 = ""
k = ""
End Sub

هذا الإجراء يتم استدعاءة في الإضافة، التعديل أوالحذف.. عند الانتهاء من التعامل مع البيانات

بالتوفيق

#4

مشكور اخوي وما قصرت لكن انا ما حطيت الكود في الاستعلام

وبعدين علاقة الربط موجودة وما يحتاج INNER JOIN

الكود تم كتابته في احد ازرار النموذج

تم ارفاق الملف لتتضح الصورة

النموذج Update هو السليم ويعمل جيدا

اما الملف UpDateBill هو اللي يظهر لي المسج التالي

Run-Time error 3027

Cannot update. Database or object is read-only

وفي انتظاركم

db1_up.rar

#5
اقتباس
مشكور اخوي وما قصرت لكن انا ما حطيت الكود في الاستعلام

وبعدين علاقة الربط موجودة وما يحتاج INNER JOIN

مشكلة كبيرة والله.. كوننا نتعامل مع أشياء لا نعرف أسمائها أو ما هي وظائفها...

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

خذ هذه المعلومات مثلا

- جملة الاستعلام: هي كلمات مجتمعة محاطة بعلامة التنصيص المزدوجة بمبدوءة بعبارة SELECT أو أحد أخواتها.. التي هي (CREATE , INSERT,UPDATE, DELETE) وهذه الأخيرة تسمى جملة عبارات الاستعلام الإجراي او (الاستعلامات الإجرائية).. يمكن أن تنفذ هذه العبارة في (حاوية الاستعلامات QUERIES CONTAINER) (حاوية الشفرة MODULES CONTAINER) أو (حاوية عنصرالتحكم لمصدر البيانات في النموذج أو التقرير) ...

- حاوية الاستعلام هي بيئة مكونة من أدوات قياسية تمكن المستخدم من عمل استعلام عن البيانات بطريقة سريعة.. من ذلك نسخ العلاقات التي قد أنشأها المستخدم في (حاوية العلاقات RELATIONSHIPS CONTAINER)

- عند بناء جملة الاستعلام وتشغيلها لا يفهم محرك قاعدة البيانات أن بين الجداول المضمنة في الجملة أن بينها علاقة مالم نخبره نحن بذلك عن طريق عبارة (JOIN) بأحد تراكيبها الثلاثة.. ولذك لو ذهبنا إلى حاوية الاستعلامات وضغطنا على تبويب SQL وكتبنا الجملة التي ذكرت في السؤال ثم ذهبنا إلي تبويب الجداول لن نرى أي علاقة بين الجداول مع أن الجملة تحتوي على أربعة جداول ولا علاقة بين تلك الجداول... الصور التالية تبين ماسبق

الصورة الأولى: صورة جملة الاستعلام بدون وجود عبارة (JOIN)

post-10429-1225190574_thumb.jpg

الصورة الثانية ناتج عبارة الاستعلام (جداول بدون علاقات)

post-10429-1225190591_thumb.jpg

الصورة الثالثة لا يوجد ناتج عن عبارة الاستعلام

post-10429-1225190605_thumb.jpg

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

أتمنى للجميع التوفيق

#6

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

اعتذر لك اخوي اشد المعذرة اولاً لتاخري بالرد

وثانيا لعدم فهمي لك في ردك الاول

والحمد لله اخوي الامور مشت وكل شئ تمام

وتم تسليم البرنامج للادارة

واحب اقول لك لست سوى احد الطلبة فصول

هذا المنتدى القيم

واشكرك اخوي وما قصرت

ولك خالص احترامي

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…