نمایش نتایج 1 تا 30 از 30

نام تاپیک: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

  1. #1
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟
    دوستان و اساتید محترم با سلام و عرض ادب
    اطلاعات اولیه :
    در یک برنامه یک جدول داریم بنام tbl_main و فرم مربوط به آن هم موجود هست
    که در آن بصورت عادی نام نام خانوادگی و سن و اینکه جنسیت فرد مرد هست یا خیر درج میشود

    جدول دیگری داریم دقیقا مشابه جدول اول بنام tbl_main_deleted_records و فرم مربوطه که بتوانیم فقط اطلاعات داخل این جدول را مشاهده کنیم بدون هیچگونه امکان تغییرات در اطلاعات جدول دوم.

    سئوال و درخواست :
    میخواهیم وقتی در -جدول اول -رکوردی را پاک می کنیم

    1-رکورد مربوطه با همه اطلاعاتش به داخل جدول دوم کپی شود
    2- رکورد مربوطه کامل از جدول اول پاک شود


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

    و اینکه اگر سواد بنده در طراحی جداول یاری نکرده یا موردی رو در رابطه با id رکوردها باید رعایت کنیم ممنون میشم اعمال بفرمایید.

    بسیار سپاسگزار می شوم در این امر بنده را راهنمایی فرمایید ...

    فایل پروژه پیوست می باشد
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام
    از کدهای زیر استفاده کن !

    DoCmd.RunSQL "INSERT INTO tbl_main_deleted_records ( ID, iname, fname, age, [is man?] ) SELECT tbl_main.ID, tbl_main.iname, tbl_main.fname, tbl_main.age, tbl_main.[is man?] FROM tbl_main WHERE (ID=" & ID & ")"
    DoCmd.RunSQL "DELETE * FROM tbl_main WHERE (ID=" & ID & ")"
    Me.Requery



  3. #3
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    سلام
    از کدهای زیر استفاده کن !

    DoCmd.RunSQL "INSERT INTO tbl_main_deleted_records ( ID, iname, fname, age, [is man?] ) SELECT tbl_main.ID, tbl_main.iname, tbl_main.fname, tbl_main.age, tbl_main.[is man?] FROM tbl_main WHERE (ID=" & ID & ")"
    DoCmd.RunSQL "DELETE * FROM tbl_main WHERE (ID=" & ID & ")"
    Me.Requery


    سلام دوست من ....
    . بسیار سپاس از محبت و سرعت عمل شما ....برقرار باشید

  4. #4
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام کد فوق رو روی همون فایل پیوست شده تست کردم و جواب داد و بسیار هم ممنون

    مشکل دیگه ای باهاش برخورد کردم زیاد بودن تعداد فیلد هایی است که در دیتا بیس واقعی باید منتقل بشن ( 50 عدد در یک جدول )
    هر چی هم سعی کردم با _ & بهم بچسبونم نشد من متن کد واقعی رو میزارم ممنون میشم راهنمایی بفرمایید
    نام جدول اول tbl_incomeTOP نام جدولی که اطلاعات پاک شده بهش منتقل میشه tbl_incomeTOP_deleted record

    بجای id هم incomeTOP_KOL_id داریم که خاصیت نامبر داره و عدد تعریف شده نه اتو نامبر

    طول خط وی بی جوابگوی خطوط در این حد و بهم چسبیده نیست .....پرانتز ها گویا جابجا نشان داده میشه ولی درست نوشته شده (در متن زیر)
    در دستورات sql نمیشه گفت همه فیلد های جدول مبدا رو بردار و به جدول مقصد منتقل کن ؟ با علامت *


    فایل اکسس پروژه به پیوست است
    فایل اکسل حاوی همه فیلد ها به سه طریق مورد نیاز پیوست می باشد

    بسیار سپاسگزارم
    لینک دانلود فایلهای پیوست
    http://s14.picofile.com/file/8407675484/159.zip.html









    DoCmd.RunSQL "INSERT INTO tbl_incomeTOP_deleted record (incomeTOP_KOL_id,incomeTOP_typeName,incomeTOP_moe en_idA,incomeTOP_moeen_idB,incomeTOP_moeen_idC,inc omeTOP_vaziat,incomeTOP_memberpicpath,incomeTOP_us ername,incomeTOP_time,incomeTOP_date,incomeTOP_mem ber,incomeTOP_incomeName,incomeTOP_YEAR,incomeTOP_ ONVAN,incomeTOP_mablaghADAD,incomeTOP_takhfif,inco meTOP_MANDE1,incomeTOP_sodorjavaz,incomeTOP_MANDE2 ,incomeTOP_haghSabtOtagh,incomeTOP_jamekol,incomeT OP_jamekol,incomeTOP_jamekol3,incomeTOP_mablaghHOR OF,incomeTOP_toman,incomeTOP_incomeMethod,incomeTO P_peygiriETC,incomeTOP_checkNO,incomeTOP_checksarR esid,
    incomeTOP_checknameBank,incomeTOP_checkSahebName,i ncomeTOP_tozih,sanadbank,sanadSahmeotagh,sanadDara madsaleaval,sanadDARAMADJAVAZ,sandDaramadSalianeh, sanadALALHESAB,sanadHEBE,sanadSAYER,
    sanadBES_OTGH,jameBED,jameBES,MOGHAYERATbedbes,txt _sanadSAYER,incomeTOP_dateSABT,mahNO,salNO,bedehka ran,sanadTXT_BIST, )

    SELECT
    tbl_incomeTOP.incomeTOP_KOL_id,tbl_incomeTOP.incom eTOP_typeName,tbl_incomeTOP.incomeTOP_moeen_idA,tb l_incomeTOP.incomeTOP_moeen_idB,tbl_incomeTOP.inco meTP_moeen_idC,tbl_incomeTOP.incomeTOP_vaziat,tbl_ incomeTOP.incomeTOP_memberpicpath,tbl_incomeTOP.in comeTOP_username,tbl_incomeTOP.incomeTOP_time,tbl_ incomeTO.incomeTOP_date,tbl_incomeTOP.incomeTOP_me mber,tbl_incomeTOP.incomeTOP_incomeName,tbl_income TOP.incomeTOP_YEAR,tbl_incomeTOP.incomeTOP_ONVAN,t bl_incomeOP.incomeTOP_mablaghADAD,tbl_incomeTOP.in comeTOP_takhfif,tbl_incomeTOP.incomeTOP_MANDE1,tbl _incomeTOP.incomeTOP_sodorjavaz,tbl_incomeTOP.inco meTOP_MANDE,tbl_incomeTOP.incomeTOP_haghSabtOtagh, tbl_incomeTOP.incomeTOP_jamekol,tbl_incomeTOP.inco meTOP_jamekol2,tbl_incomeTOP.incomeTOP_jamekol3,tb l_incomeTOP.incomeTOP_mablaghHOROF,tbl_incomeTOP.i ncomeTOP_toman,tbl_incomeTOP.incomeTOP_incomeMetho d,tbl_incomeTOP.incomeTOP_peygiriETC,tbl_incomeTOP .incomeTOP_checkNO,tbl_incomeTOP.incomeTOP_checksa rResid,tbl_incomeTOP.incomeTOP_checknameBank,tbl_i ncomeTOP.incomeTOP_checkSahebName,tbl_incomeTOP.in comeTOP_tozih,tbl_incomeTOP.sanadbank,tbl_incomeTO P.sanadSahmeotagh,tbl_incomeTOP.sanadDaramadsaleav al,tbl_incomeTOP.sanadDARAMADJAVAZ,tbl_incomeTOP.s andDaramadSalianeh,tbl_incomeTOP.sanadALALHESAB,tb l_incomeTOP.sanadHEBE,tbl_incomeTOP.sanadSAYER,tbl _incomeTOP.sanadBES_OTGH,tbl_incomeTOP.jameBED,tbl _incomeTOP.jameBES,tbl_incomeTOP.MOGHAYERATbedbes, tbl_incomeTOP.txt_sanadSAYER,tbl_incomeTOP.incomeT OP_dateSABT,tbl_incomeTOP.mahNO,tbl_incomeTOP.salN O,tbl_incomeTOP.bedehkaran,tbl_incomeTOP.sanadTXT_ BIST,
    FROM tbl_incomeTOP WHERE (( incomeTOP_KOL_id =" & ( incomeTOP_KOL_id & ")"


  5. #5
    کاربر دائمی آواتار Mehr@ban
    تاریخ عضویت
    آبان 1389
    محل زندگی
    بچه محله امام رضا
    پست
    562

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام
    من یک پیشنهاد دیگه دارم
    اینکه شما با افزودن یک چک باکس به جدول خودتون با عنوان Deleted و با مقدار پیشفرض False، در فرم هاتون این فیلتر یا شرط رو بذارین که فقط اطلاعاتی رو نشون بده که مقدار این فیلد برابر با False باشه.
    و برای دکمه حذف هم بجای حذف رکورد، این دستور رو بنویسید که فیلد Deleted مربوط به اون رکورد رو از False به True تغییر بده.
    اینجوری دیگه نیازی به ساخت جدول جدید و انتقال اطلاعات نیست! و تمامی کارها در همون جدول اول انجام میشه.

    در این حالت شما رکوردی رو حذف نمیکنید، بلکه با استفاده از فیلتر یا شرط، فقط اون رو نمایش نمیدین
    که دوتا امتیاز داره:
    1. به سرعت و راحتی قابل بازیابی هست.
    2. به سرعت و راحتی قابل حذف دائمی هست.

    امیدوارم که بتونید ایده های خوبی بگیرید.

  6. #6
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط Mehr@ban مشاهده تاپیک
    سلام
    من یک پیشنهاد دیگه دارم
    اینکه شما با افزودن یک چک باکس به جدول خودتون با عنوان Deleted و با مقدار پیشفرض False، در فرم هاتون این فیلتر یا شرط رو بذارین که فقط اطلاعاتی رو نشون بده که مقدار این فیلد برابر با False باشه.
    و برای دکمه حذف هم بجای حذف رکورد، این دستور رو بنویسید که فیلد Deleted مربوط به اون رکورد رو از False به True تغییر بده.
    اینجوری دیگه نیازی به ساخت جدول جدید و انتقال اطلاعات نیست! و تمامی کارها در همون جدول اول انجام میشه.

    در این حالت شما رکوردی رو حذف نمیکنید، بلکه با استفاده از فیلتر یا شرط، فقط اون رو نمایش نمیدین
    که دوتا امتیاز داره:
    1. به سرعت و راحتی قابل بازیابی هست.
    2. به سرعت و راحتی قابل حذف دائمی هست.

    امیدوارم که بتونید ایده های خوبی بگیرید.

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

    نکته دیگه این که برای خودم هم چالش شده که اگر روزی طول کد زیاد بود مثل بالا ....واقعا باید چیکار کرد؟ :))

    بازم ممنون از شما

  7. #7
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نکته مهم اینه که کدی که دوست عزیزمون

    نوشتن کد بسیارخوبیه و جواب میده ....و کار میکنه بدون مشکل

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

  8. #8
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    نکته مهم اینه که کدی که دوست عزیزمون

    نوشتن کد بسیارخوبیه و جواب میده ....و کار میکنه بدون مشکل

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

    اول یک کوئری Append درست کنید که داده هایی که قراره حذف بشه رو به تیبل بک اپ حذف انتقال بده .
    سپس یک کوئری Dellet درست کنید که داده های مورد نظر حذف بشه .

    نمونه بگذارید .لطفا.

  9. #9
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

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

    اول یک کوئری Append درست کنید که داده هایی که قراره حذف بشه رو به تیبل بک اپ حذف انتقال بده .
    سپس یک کوئری Dellet درست کنید که داده های مورد نظر حذف بشه .

    نمونه بگذارید .لطفا.
    ببخشید . نمونه شما رو ندیده بودم. اصلاح شد.
    فایل های ضمیمه فایل های ضمیمه

  10. #10
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط padide55 مشاهده تاپیک
    ببخشید . نمونه شما رو ندیده بودم. اصلاح شد.
    دوست گرامی بسیار ممنونم از وقتی که گذاشتید

    مشکل ما در کد نویسی به دلیل تعداد بالای فیلدها ایجاد شده و من نتونستم حلش کنم (البته با روشی که دوست عزیزمون با کد sql فرموده بودن ) که عرض کردم مشکل از کد نیست از بی سوادی بنده در زمینه sql هستش ...

    قطعا روشی که حضرتعالی میفرمایید سریعتر و با اکسس و امکاناتش سازگار تر است

    منتها جسارتا فایل رو اشتباه برداشتید

    فایل و جداولی که باهشون مشکل داریم در لینک زیر میباشد.

    http://s14.picofile.com/file/8407675484/159.zip.html

    بسیار ممنونم

  11. #11
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    طول خط وی بی جوابگوی خطوط در این حد و بهم چسبیده نیست .....پرانتز ها گویا جابجا نشان داده میشه ولی درست نوشته شده (در متن زیر)
    در دستورات sql نمیشه گفت همه فیلد های جدول مبدا رو بردار و به جدول مقصد منتقل کن ؟ با علامت *
    سلام
    در نمونه جدید کدهای زیر رو جایگزین کدهای قبلی کن :

    DoCmd.RunSQL "INSERT INTO [tbl_incomeTOP_deleted record] SELECT * FROM tbl_incomeTOP WHERE (incomeTOP_KOL_id=" & incomeTOP_KOL_id & ")"
    DoCmd.RunSQL "DELETE * FROM tbl_incomeTOP WHERE (incomeTOP_KOL_id=" & incomeTOP_KOL_id & ")"
    Me.Requery


    آخرین ویرایش به وسیله eb_1345 : یک شنبه 16 شهریور 1399 در 17:51 عصر

  12. #12
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام برادر کدی دیده نمیشه !!! شماره خط ها دیده میشه منتها داخل کادر سفید کدی نیست

  13. #13
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    سلام برادر کدی دیده نمیشه !!! شماره خط ها دیده میشه منتها داخل کادر سفید کدی نیست
    چند لحظه ای در حال اصلاح کدها بودم، در پست قبل ارسال شد ،

  14. #14
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    نکته دیگه این که برای خودم هم چالش شده که اگر روزی طول کد زیاد بود مثل بالا ....واقعا باید چیکار کرد؟ :))
    برای اینجور موقع ها کدها رو بقول معروف باید بشکنی . بطوریکه در آخر هر خط از سه علامت _ & " و در ابتدای خط بعدی از علامت " استفاده کنی
    به کدهای زیر زیر توجه بفرما !

    sql = "SELECT TblAccVoucher.IDOrder, TblAccVoucher.voucherRowNum," & _
    "TblAccVoucher.VoucherNum, TblMainAccVoucher.FieldSelect, TblAccVoucher.AccGroupsCode," & _
    "TblAccVoucher.GnrlAccCode , TblAccVoucher.LedgerAccCode, TblAccVoucher.DetailedAccCode,"
    "TblAccVoucher.ArticleDesc, TblAccVoucher.Debit, TblAccVoucher.Credit," & _


  15. #15
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    دوست عزیز


    کد ها رو چک کردم و کامل کار می کنه و عالی .....

    بسیار هم ممنون شما هستم

    در مورد کد " & _ که فرمودیه بودین
    متاسفانه مشخص شده تو سیستمی که من باهاش اموزش دیدم کلا محبت کردن و این رو کامل نفرموده بودن من فکر می کردم
    _& کافیه

    کاش میدونستبم مرجع اموزشی درست کجاست که بریم و ویدئو های اموزشی شون رو بخریم .....



    به هر حال امروز خیلی چیزا از شما یاد گرفتیم که جای تقدیر و تشکر فرآوان از شما و سایر دوستان که تو بحث شرکت داشتن رو دارم .....

    انشالله در پناه حق برقرار و پایدار باشید .....



    من اگر به مشکلی خوردم در مورد این کد ها و خطایی دیدم حتما اطلاع میدم ....

  16. #16
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام مجدد این کدی که محبت فرمودین در خط
    Me.Requery

    خطای 3167 میده

    چه راهنمایی میفرمایید



    اگر بجای requary

    Application.SetOption "Auto compact", True

    استفاده کنیم ....درسته یا غلطه ؟

  17. #17
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    سلام مجدد این کدی که محبت فرمودین در خط
    Me.Requery

    خطای 3167 میده

    چه راهنمایی میفرمایید



    اگر بجای requary

    Application.SetOption "Auto compact", True

    استفاده کنیم ....درسته یا غلطه ؟

    قاعدتاً نباید چنین خطائی صادر شود
    علی ایحال برای رد کردن این خطا در ابتدای کد ها کد On Error Resume Next وارد کن ببین بدون خطا عملیات انجام میشه یا نه
    اگر باز هم خطا صادر شد بجای اون خط آخر ( کد اسکیول حذف و
    Me.Requery ) از دستور زیر استفاده کن


    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdDeleteRecord



    ضمناً دستور Application.SetOption "Auto compact", True مربوط به کامپکت کردن (فشرده سازی)دیتابیس است که در حالت True چک باکس مربوطه تیک دار و انتخاب میشود و در حالت false این تیک برداشته میشود . در این مورد به تصویر ضمیمه توجه بفرما!



    عکس های ضمیمه عکس های ضمیمه
    آخرین ویرایش به وسیله eb_1345 : یک شنبه 16 شهریور 1399 در 21:47 عصر

  18. #18
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    ضمناً برای عمل حذف هم از دو خط دستور زیر هم میتونید استفاده کنید


    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

    و برای عدم نمایش پیغام های اکسس در ابتدای کدها از دستور DoCmd.SetWarnings False و در انتهای کدها از همین دستور با true استفاده کن (DoCmd.SetWarnings True)

  19. #19
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

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

    مشکل ما در کد نویسی به دلیل تعداد بالای فیلدها ایجاد شده و من نتونستم حلش کنم (البته با روشی که دوست عزیزمون با کد sql فرموده بودن ) که عرض کردم مشکل از کد نیست از بی سوادی بنده در زمینه sql هستش ...

    قطعا روشی که حضرتعالی میفرمایید سریعتر و با اکسس و امکاناتش سازگار تر است

    منتها جسارتا فایل رو اشتباه برداشتید

    فایل و جداولی که باهشون مشکل داریم در لینک زیر میباشد.

    http://s14.picofile.com/file/8407675484/159.zip.html

    بسیار ممنونم
    نمونه اصلاح شده با کوئری خود اکسس

    http://s14.picofile.com/file/8407683142/real_test3.zip.html


    البته چون کوئری اجرا میشه یک سوال اکشن کوئری میپرسه . برای حذفش باید : اکشن کوئری رو غیرفعال کنید . اینترنت سرچ کنید اکشن کوئری .

  20. #20
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    دوستان عزیز و گرامی جناب آقایان :

    eb_1345




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

    ماننده همیشه بهترین های زمین و آسمان را برای شما عزیزان آرزومندم ...
    ارادتمند ..



    انشالله در بحث های دیگر هم درخدمت شما عزیزان بزرگوار باشیم ....برقرار باشید

  21. #21
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    دوستان نکته مهمی که در این بحث فراموش کردم این بود که :

    اگر کد رکورد پاک شده تکراری باشه چی میشه
    عملا در کد اس کیو ال که بالا هست ...اینطوری میشه که اگر مثلا شما کد 255 رو قبلا پاک کرده باشید ....و دوباره سند جدید کد 255 ثبت کرده باشید و دوباره سند 255 رو پاک کنید
    وقتی به جدول کد های پاک شده مراجعه می کنید روکوردی رو ملاحضه می کنید که حاوی اطلاعات اولین باری است که سند 255 پاک شده ...یعنی اینکه بار دوم که سند 255 رو پاک می کنیم را در نظر نمی گیره و اگر رکوردی با شماره تکراری حذف کنید همون بار اول رو نگه میداره و دفعات بعدی رو در جدول رکورهای پاک شده وارد نمی کنه

    باید در اینجا کنترلی داشته باشیم که بگه
    در جدول مقصد کنترل کن
    اگر رکوردی با شماره مساوی با شماره کد رکوردی که میخوای پاک کنی وجود داشت ....آنگاه
    رکورد قبلی رو در جدول مقصد پاک کن
    سپس روکورد جدید رو بجای اون ثبت کن

    کد واقعی ما به این شرح است


    DoCmd.RunSQL "INSERT INTO [tbl_incomeTOP_deleted record] SELECT * FROM tbl_incomeTOP WHERE (incomeTOP_KOL_id=" & incomeTOP_KOL_id & ")"
    باید کنترل رو به این دستور اضافه کنیم

    نکته مهم در جدول مبدا و مقصد فیلد id بصورت autonumber وجود ندارد که حداقل به تغییر id مشکل حل بشه



    بسیار ممنون میشم راهنمایی بفرمایید
    با سپاس

  22. #22
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    دوستان نکته مهمی که در این بحث فراموش کردم این بود که :

    اگر کد رکورد پاک شده تکراری باشه چی میشه
    عملا در کد اس کیو ال که بالا هست ...اینطوری میشه که اگر مثلا شما کد 255 رو قبلا پاک کرده باشید ....و دوباره سند جدید کد 255 ثبت کرده باشید و دوباره سند 255 رو پاک کنید
    وقتی به جدول کد های پاک شده مراجعه می کنید روکوردی رو ملاحضه می کنید که حاوی اطلاعات اولین باری است که سند 255 پاک شده ...یعنی اینکه بار دوم که سند 255 رو پاک می کنیم را در نظر نمی گیره و اگر رکوردی با شماره تکراری حذف کنید همون بار اول رو نگه میداره و دفعات بعدی رو در جدول رکورهای پاک شده وارد نمی کنه

    باید در اینجا کنترلی داشته باشیم که بگه
    در جدول مقصد کنترل کن
    اگر رکوردی با شماره مساوی با شماره کد رکوردی که میخوای پاک کنی وجود داشت ....آنگاه
    رکورد قبلی رو در جدول مقصد پاک کن
    سپس روکورد جدید رو بجای اون ثبت کن

    کد واقعی ما به این شرح است


    DoCmd.RunSQL "INSERT INTO [tbl_incomeTOP_deleted record] SELECT * FROM tbl_incomeTOP WHERE (incomeTOP_KOL_id=" & incomeTOP_KOL_id & ")"
    باید کنترل رو به این دستور اضافه کنیم

    نکته مهم در جدول مبدا و مقصد فیلد id بصورت autonumber وجود ندارد که حداقل به تغییر id مشکل حل بشه



    بسیار ممنون میشم راهنمایی بفرمایید
    با سپاس
    سلام
    در روش کوئری هر دو رونگه میداره .
    میتونم یک کوئری دیگه درست کنم که اول کد رو چک کنه . بود حذف کنه و ادامه طبق همون روش .

  23. #23
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام و سپاس از شما
    من یک فایل شبیه سازی کردم
    بسیار ممنون میشم روی این فایل جدید تست بزنید ..ممنونم

    http://s15.picofile.com/file/8408140434/delete_test.rar.html

    دانلود فایل از لینک بالا

  24. #24
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    دوستان نکته مهمی که در این بحث فراموش کردم این بود که :

    اگر کد رکورد پاک شده تکراری باشه چی میشه
    عملا در کد اس کیو ال که بالا هست ...اینطوری میشه که اگر مثلا شما کد 255 رو قبلا پاک کرده باشید ....و دوباره سند جدید کد 255 ثبت کرده باشید و دوباره سند 255 رو پاک کنید
    وقتی به جدول کد های پاک شده مراجعه می کنید روکوردی رو ملاحضه می کنید که حاوی اطلاعات اولین باری است که سند 255 پاک شده ...یعنی اینکه بار دوم که سند 255 رو پاک می کنیم را در نظر نمی گیره و اگر رکوردی با شماره تکراری حذف کنید همون بار اول رو نگه میداره و دفعات بعدی رو در جدول رکورهای پاک شده وارد نمی کنه

    باید در اینجا کنترلی داشته باشیم که بگه
    در جدول مقصد کنترل کن
    اگر رکوردی با شماره مساوی با شماره کد رکوردی که میخوای پاک کنی وجود داشت ....آنگاه
    رکورد قبلی رو در جدول مقصد پاک کن
    سپس روکورد جدید رو بجای اون ثبت کن

    کد واقعی ما به این شرح است


    DoCmd.RunSQL "INSERT INTO [tbl_incomeTOP_deleted record] SELECT * FROM tbl_incomeTOP WHERE (incomeTOP_KOL_id=" & incomeTOP_KOL_id & ")"
    باید کنترل رو به این دستور اضافه کنیم

    نکته مهم در جدول مبدا و مقصد فیلد id بصورت autonumber وجود ندارد که حداقل به تغییر id مشکل حل بشه



    بسیار ممنون میشم راهنمایی بفرمایید
    با سپاس
    سلام
    کدهای زیر رو جایگزین کدهای قبلی کن

    If DCount("incomeTOP_KOL_id", "tbl_incomeTOP_deletedrecord", "incomeTOP_KOL_id=" & incomeTOP_KOL_id & "") > 0 Then
    DoCmd.RunSQL "DELETE * FROM tbl_incomeTOP_deletedrecord WHERE (incomeTOP_KOL_id=" & incomeTOP_KOL_id & ")"
    End If
    DoCmd.RunSQL "INSERT INTO [tbl_incomeTOP_deletedrecord] SELECT * FROM tbl_incomeTOP WHERE (incomeTOP_KOL_id=" & incomeTOP_KOL_id & ")"
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70


    ضمناً از جدول دوم فاصله rercord از نام جدول حذف کن .! آن را بصورت tbl_incomeTOP_deletedrecord در بیاور
    فایل جدیدی هم که فرستادی ندیدم
    آخرین ویرایش به وسیله eb_1345 : یک شنبه 23 شهریور 1399 در 16:32 عصر

  25. #25
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    http://s15.picofile.com/file/8408140434/delete_test.rar.html

    عرض کردم بوده تو این لینک هست ..بسیار ممنونم

    فاصله بین نام جدول ؟!؟ عجب سووووتی :))) چشم درست می کنم

  26. #26
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام مجدد کداتون رو تست کردم صحیح کار می کرد و مشکل تکراری بودن کد و ذخیره اخرین سند حذف شده یا کد تکراری هم حل شد ....خیلی زحمت کشیدید بسیار ممنونم

    فقط اگر زمان داشتین ممنون میشم توضیحی در مورد این دو خط کد بدین ممنون یا لینکی که اموزش این داستان باشه ممنونم
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

  27. #27
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    معنیش این کد ها هستن ؟

    Access 7 Menu System

    DoCmd.DoMenuItem RunCommand
    acFormBar, acEditMenu, 2 acCmdCopy
    acFormBar, acEditMenu, 5 acCmdPasteAppend
    acFormBar, acEditMenu, 6 acCmdDeleteRecord
    acFormBar, acEditMenu, 8 acCmdSelectRecord
    acFormBar, acEditMenu, 10 acCmdFind
    acFormBar, acEditMenu, 12, 4 acCmdRecordsGoToNew
    acFormBar, acEditMenu, acCopy acCmdCopy
    acFormBar, acEditMenu, acPaste acCmdPaste
    acFormBar, acEditMenu, acUndo acCmdUndo
    acFormBar, acFile, acSaveForm acCmdSave
    acFormBar, acRecordsMenu, 0, 2 acCmdAdvancedFilterSort
    acFormBar, acRecordsMenu, 2 acCmdApplyFilterSort
    acFormBar, acRecordsMenu, 5 acCmdRefresh
    acFormBar, acRecordsMenu, acSaveRecord acCmdSaveRecord
    acFormBar, 7, 6 acCmdSizeToFit
    1, 3, 3 acCmdNewObjectReport
    3, acEditMenu, acPaste acCmdPaste



    چرا از این کد ها استفاده می کنیم ؟

  28. #28
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    سلام مجدد کداتون رو تست کردم صحیح کار می کرد و مشکل تکراری بودن کد و ذخیره اخرین سند حذف شده یا کد تکراری هم حل شد ....خیلی زحمت کشیدید بسیار ممنونم

    فقط اگر زمان داشتین ممنون میشم توضیحی در مورد این دو خط کد بدین ممنون یا لینکی که اموزش این داستان باشه ممنونم
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70


    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

    همانطور که در پست های 17 و 18 اشاره کردم از دو خط کد فوق برای حذف رکورد جاری استفاده میشود . این کد ها در نسخه های قدیمی اکسس توسط ویزارد اکسس برای حذف رکورد ایجاد میشد . این کد با دستور DoCmd شروع شده یعنی به اکسس دستور میده که از منوبار بخش مربوط به فرم و از آن قسمت منوی Edit و .... را انتخاب کن . و اگر اشتباه نکنم آن شماره ها هم مربوط به شماره زیر منوئی های که مربوط به انتخاب و خذف رکورد فرم جاری می باشد . در هرحال این کدها مربوط به نسخه های قدیمی است و شاید استفاده کردن از آنها منسوخ شده باشد ولی این کدها در نسخه های جدید هم همچنان کاربرد دارند.
    در یکی از پست های قبل اشاره کرده بودی که در هنگان حذف رکورد از کد me.Requery خطا صادر میشود که پیشنهاد دادم از این دو خط کد یا دوخط کد پست شماره 17 برای حذف رکورد استفاده شود .
    در کد اسکیوال حذف رکورد بصورت DoCmd.RunSQL "DELETE * FROM tablename عمل حذف انجام میشود ولی فرم ریفرش نمیشود و برای ریفرش رکوردها باید از me.Requery استفاده شود و این دستور me.Requery باعث میشود بعد از حذف رکورد رکوردست به رکورد اول منتقل شود .
    امتیاز این دوخط کد یا دوخط کد پست شماره 17 نسبت به کد اسکیوال حذف رکورد و بعد دستور me.Requery این است که بعد از حذف رکورد ها رکوردست به رکورد اول منتقل نمی شود . بعبارتی با آن دستور قبلی وقتی شما اقدام به حذف مثلا رکورد پنجم می کردی با فرمان me.Requery به رکورد اول منتقل میشد ولی با کدها فوق بعد از حذف ، رکورد بعدی اگر موجود باشد به نمایش در خواهد . یعنی وقتی رکورد پنجم را حذف می کنی رکورد ششم نمایش داده میشود

  29. #29
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سپاس از شما و زمانی که برای ما اختصاص میدین .....

  30. #30
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    784

    نقل قول: چگونه سابقه رکوردهای حذف شده را نگهداری نماییم ؟

    سلام
    ببخشید من فراموش کردم کد RunCommand acCmdDeleteRecord برای حذف کردن رکورد بهت پیشنهاد بدهم .
    این خط کد رو جایگزین کدهای قبلی زیر کن !

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

تاپیک های مشابه

  1. سوال: چگونه وقتی به پایین سایت حرکت می کنیم منوی سایت پایین بیاد
    نوشته شده توسط عرفان طباطبایی در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: جمعه 12 مهر 1392, 22:16 عصر
  2. پاسخ: 0
    آخرین پست: یک شنبه 17 شهریور 1392, 00:00 صبح
  3. اجرای قطعه کد هنگام اسکرول صفحه به پایین
    نوشته شده توسط mehr_83 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: شنبه 08 تیر 1392, 12:48 عصر
  4. آرایه ی پایین مثلثی دندانه دار
    نوشته شده توسط paradise_human در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 7
    آخرین پست: پنج شنبه 02 اردیبهشت 1389, 12:10 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •