PDA

View Full Version : خطا هنگام اجرای کوری در حالیکه قبلا درست کار میکرده!



ali_autumnal
یک شنبه 25 اردیبهشت 1390, 11:58 صبح
با عرض سلام و خسته نباشید

یه دیتابیس واسه پروژه کلوپ با اکسس طراحی کردم. از یکسال پیش این دیتابیس مورد استفاده قرار گرفته. کوری نوشته بودم تا چند وقت پیش دقیقا درست جواب میداد اما الان خطای زیر رو میده:


The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time.


در حالکه برنامه تک کاربره است و هیچ کاربر دیگه ای در یک لحظه از دیتابیس استفاده نمیکنه!

کوری فوق هم بقرار زیر است:




SELECT tblFilm.radif, tblCustomer.IDCu, tblCustomer.CuName, tblEjareh.idFilm, tblFilm.NameFilm, tblFilm.Janer, tblEjareh.OutDate, tblEjareh.idUser
FROM tblFilm INNER JOIN (tblCustomer INNER JOIN (tblCodeFilm INNER JOIN tblEjareh ON tblCodeFilm.code = tblEjareh.idFilm) ON tblCustomer.IDCu = tblEjareh.idCu) ON tblFilm.IDFilm = tblCodeFilm.IDFilm
WHERE (((tblCustomer.Active)="فعال") AND ((tblEjareh.vazeiat)="برگشت داده نشده"));



قبلا از همه دوستانی که وقت گذاشتند و پاسخ دادند بی نهایت سپاسگزارم
علی پاییزی

ali_autumnal
یک شنبه 25 اردیبهشت 1390, 12:08 عصر
احتمالا پاسخ را یافتم:

البته حدس میزدم اینطور باشه.

این خطا زمانی رخ میده که یکی از فیلدها NULL باشه!!

پاسخ: آخه برنامه همه فیلدهای مهم رو اعلام میکنه و از طرفی اجازه نمیده خالی ثبت بشه.

و از طرف دیگه گیرم خالی ثبت شده چطور فیلد مهم خالی رو پیدا کنم؟ 5 تا جدول که نزدیک به 10 تا 15 هزار رکورد دارند!

لطفا راهنمایی کنید.

ali_autumnal
یک شنبه 25 اردیبهشت 1390, 12:17 عصر
و بازهم یافتم:

باید به فیلدها مقادیر پیش فرض بدم.

خوب سوال: آیا این عمل رکوردهای ثبت شده رو هم پشتیبانی می کنه؟

(اینکه ثبت میکنم بعد پاسخ پیدا میکنم دلیلش اینه که چند روزه اینترنت محل کارم و خونه همزمان مشکل پیدا کردن در نتیجه نتونستم جستجو کنم.

و از طرف دیگه الان جایی هستم که پروژه دم دست نیست! و اینترنت هست)

"قیف هست، قیر هم هست، اما کسی نیست"
"قیف هست، شخصی هم هست، اما قیر نیست"
"قیر هست، شخصی هم هست، اما قیف نیست"
و این ماجرا همواره ادامه دارد...

منتظرم

ali_autumnal
سه شنبه 27 اردیبهشت 1390, 12:02 عصر
کسی از دوستان اظهار نظری نداره؟

منتظرم

payman_xxp
سه شنبه 27 اردیبهشت 1390, 13:33 عصر
خوب سوال: آیا این عمل رکوردهای ثبت شده رو هم پشتیبانی می کنه؟

سلام
این عمل زمانی صورت میگیره که کاربر بخواد رکوررد جدیدی ایجاد کنه و اطلاعات داخلش ثبت بشه و شامل رکوردهایی که قبلا ثبت شده، نمیشه.
راه حل:
برای هر فیلد خالی یه کوئری آپدیت بنویس و مقدار اولیه رو در اونها ذخیره کن.
موفق باشید.