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

Syntax Error In The Insert Statment

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

السلام عليكم

في الملف المرفق لدي قاعدة بيانات فيها جدول اسمه workyear

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

insert into workYear (year, doctorID) values (1995, 1);

يعطيني خطأ مع الرسالة التالية:

syntax error in insert into statment

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

هل من الممكن الافادة ممن لديهم خيرة بالأكسيس مشكورين

وبالمناسبة هذه أول مرة أتعامل فيها مع الأكسيس وأريد أن أسأل عن أداة (tool) أو برنامج يمكننا من التعامل مع قاعدة البيانات بالأكسيس مباشرة من خلال تعليمات sql

يعني أنا أريد أنا أخلق الجداول من خلال كود SQL وليس من خلال wizard or design view وكذلك الأمر بالنسبة للاستعلامات وعمليات الاضافة والحذف وغيرها بشكل مشابه لSQL Plus في أوراكل.

arabteam2000.zip

#2

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

الاخ الكريم

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

ما عليك عندما تريد تصميم استعلام "query" لادخال بيانات به او الاستعلام عن بيانات منه

post-19193-1201077524_thumb.png

post-19193-1201077529_thumb.png

post-19193-1201077533_thumb.png

post-19193-1201077537_thumb.png

post-19193-1201077541_thumb.png

post-19193-1201077546_thumb.png

قم بادخال بيانات كيف تشاء

واذا ارادت ان تتطلع علي كود هذا الاستعلام ما عليك الا الضغط هنا لرؤية الكود

post-19193-1201077955_thumb.png

بالتوفيق

#3

ارى ان الجملة التي كتبتها صحيحة ويجب ان تنفذ بشكل صحيح .

لكن عليك تنفيذها في SQL view أي كما في آخر صورة للاخ hisham_wz

وفي نفس الشاشة يمكنك ايضا كتابة اي استعلامات حذف واضافة وغيرها لكنك عليك ان تراعي النص الصحيح للاكسس مثلا لانشاء جدول يمكنك كتابة مايلي في SQL view

create table NewTable (x   long)

تم تعديل هذه المشاركة بواسطة TareqVB في 23 يناير 2008 في 13:24

#4

انحلت المشكلة ولكن بشكل غريب!!

وضعت التعليمة Insert السابقة كما هي ضمن query ثم نفذتها من ضمن الأكسيس فنفذت بشكل صحييح ثم فتحت ال Qery وذلك ضمن ال SQLView فوجدت الكود التالي:

INSERT INTO workYear ( [year], doctorID )
SELECT 5 AS Expr1, 5 AS Expr2;

الغربي في الأمر هو وجود الأقواس المربعة للحقل year فذهبت الى برنامجي وعدلت تعليمة الادخال و جعلتها كمايلي:

insert into workYear([year],doctorID) values(2000,1)

فعمل البرنامج بشكل صحيح !

مع العلم أن اسم الحقل Year ضممن الجدول ليس له أقواس مربعة والملف المرفق الذي يحوي قاعدة البيانات يؤكد ذلك, كما أنه ضمن برنامجي يوجد الكثير من عبارات Select and Update والتي ذكر فيها اسم الحقل Year بدون أقواس مربعة وهي تعمل بشكل صحيح!!!!

هل من تفسير يرحمكم الله!

#5
ameen385 كتب:
انحلت المشكلة ولكن بشكل غريب!!

الغربي في الأمر هو وجود الأقواس المربعة للحقل year فذهبت الى برنامجي وعدلت تعليمة الادخال و جعلتها كمايلي:

insert into workYear([year],doctorID) values(2000,1)

فعمل البرنامج بشكل صحيح !

مع العلم أن اسم الحقل Year ضممن الجدول ليس له أقواس مربعة والملف المرفق الذي يحوي قاعدة البيانات يؤكد ذلك, كما أنه ضمن برنامجي يوجد الكثير من عبارات Select and Update والتي ذكر فيها اسم الحقل Year بدون أقواس مربعة وهي تعمل بشكل صحيح!!!!

هل من تفسير يرحمكم الله!

اخي الفاضل

هناك كلمات محجوزة من قِبَل مشغل قاعدة بيانات Microsoft Jet لاستخدامها في عبارات SQL ومن ضمن هذه الكلمات هي الكلمة YEAR فلا يجوز استخدامها بهذا الشكل في الجدول حيث سيعترض عليك مشغل قواعد البيانات بإظهار رسالة خطأ . ولكن يمكن تجاوز هذه المشكلة بوضع الحقل بين قوسين معقوفين كما فعلت انت او تقوم بتغيير اسم الحقل في الجدول الى strYear وبعدها لن تحتاج الى وضع القوسين المعقوفين ولهذا لاحظ الحقل الآخر doctorID لم تحتاج الى وضعه بين قوسين معقوفين لأنه ليس من ضمن الكلمات المحجوزه

#6

اذا ما هو تفسير أن عبارات ال Select and Update تعمل بشكل صحيح بدون وضع أقواس مربعة للحقل Year ؟

هذا الموضوع مغلق.

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