PDA

View Full Version : سوال: Rollback کردن اطلاعات ذخیره شده در بانک اکسس



dharmaa
یک شنبه 05 آبان 1392, 19:23 عصر
سلام بر همه دوستان
یه سوال برام پیش اومده درسته که خیلی مبتدی و پیش پا افتاده است اما دوست دارم که جوابگوی سوالم باشید.
اگه در حین ثبت اطلاعات( در بانک اکسس در چندین جدول) یک دفعه برق قطع بشه یا نرم افزار با مشکلی روبه رو شد تکلیف اطلاعات نصفه نیمه ایی که ثبت شده چیه؟ ایا راهی هست که اتوماتیکک اطلاعات ثبت شده رو پاک کنه ؟یا اینکه باید با کد نویسی اینکا رو انجام داد.
مثال واضحش ثبت فاکتورها هست که مثلا دو جدول بهم مرتبط داریم .یکی اطلاعات کلی فاکتور و جدول دیگری جزئیات فاکتور. اگه اطلاعات کلی در حدول اولی ثبت شد و به ثبت جدول دوم نرسیده برق بره .
خوب طبیعی است که اطلاعات هرزی در جدول داریم .
من از تراکنشها برای ثبت استفاده کردم(command.Transaction) ولی باز هم اطلاعات هرز دارم!!!!!!
چه راهی رو پیشنهاد میدین دوستان؟

roolinjax
یک شنبه 05 آبان 1392, 20:13 عصر
سلام
میشه با یک استورد پروسیجر درج همزمان در دو جدول رو انجام بدین و بعد اون رو توی برنامه فراخوانی کنید
در واقع با فراخوانی یک استورد پروسیجر شما دو ثبت رو انجام دادین.
فکر کنم این راه حل خوبی باشه ...

dharmaa
یک شنبه 05 آبان 1392, 20:46 عصر
سلام دوست عزیز .ممنون بابت پاسخگویی تون.
دیتا بیس ام در اکسسه . چهطوری میتونم از استور پروسیجرها استفاده کنم؟
شاید منظورتون استفاده از ماژول ها هست درسته؟

roolinjax
چهارشنبه 08 آبان 1392, 18:59 عصر
من زیاد اکسس کار نکردم ، نمیدونم همچین چیزی داره یا نه
اگه اینطوری که میگید باشه ، احتمالا مجبور بشید یه سری کد نویسی انجام بدید.
مثلا در جدول اول یه فیلدی به نام rollback قرار بدید که از نوع yes/no باشه. مقدار اولیه ی این فیلد در هنگام درج در جدول رو مثلا no کنید ؛ بعد از اینکه در جدول دوم اطلاعات درج شد برگردید و این فیلد رو yes کنید.
با اینکار متوجه می تونید بشید که رکوردی که در جدول اول ثبت شده آیا بقیه اطلاعاتش در جدول دوم ثبت شده یا نه
ضمن اینکه باید توجه کنید که باید ارتباط یک به یک بین یکی از فیلدهای این دوجدول باشه که در صورتی که رکوردی با فیلد rollback با مقدار no بود بتونه اون رکورد رو از جدول مورد نظر پاک کنه .
امیدوارم توضبحم مفید بوده باشه.

شاید این فقط یه راهکار از میان هزاران راهکار برای حل مسئله ی شما باشه
بازم تحقیق کنید...