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

نام تاپیک: مشکل استفاده از ADO در continueus form

  1. #1
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    Question مشکل استفاده از ADO در continueus form

    با سلام به همه علاقمندان این بخش
    برای استفاده از ADO در حالت singleّForm مشکلی ندارم وعملیات Add,Delete , ... ررا براحتی انجام میدهم ولی در حالت continueusForm فقط روی آخرین رکورد اطلاعات پس از UpdateBatch به جدول منتقل میشود . اگر کسی راهنمایی ویا نمونه فایلی دارد ممنون میشوم

  2. #2
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: مشکل استفاده از ADO در continueus form

    هیچکدام ازدوستان دراین مورد تجربه ویا تحقیقی دارد؟

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    1,369

    نقل قول: مشکل استفاده از ADO در continueus form

    نقل قول نوشته شده توسط Abbas Amiri مشاهده تاپیک
    با سلام به همه علاقمندان این بخش
    برای استفاده از ADO در حالت singleّForm مشکلی ندارم وعملیات Add,Delete , ... ررا براحتی انجام میدهم ولی در حالت continueusForm فقط روی آخرین رکورد اطلاعات پس از UpdateBatch به جدول منتقل میشود . اگر کسی راهنمایی ویا نمونه فایلی دارد ممنون میشوم
    سلام!
    طبیعتاً وقتی موضوع یا سوال خاصی از طرف یک فرد باتجربه مثل جناب امیری که خود معمولاً پاسخگوی اکثر سوالات مطرح شده دوستان می باشد ،مطرح میشود آن سوال باید تاحدی سخت و مشکل باشد .
    علی ایحال بنده از جناب امیری عزیز خواهش میکنم در صورت امکان نمونه فایل خودشان را ارائه نمائید تا همان نمونه بررسی و انشاءالله مشکل برطرف شود، هرچند حقیر حدود دو یا سه سالی است که از اکسس به دور بوده ام و لی شاید این مورد نمونه خوبی باشد که بواسطه آن قدری به ذهن خودم فشار بیاورم و انشاءالله اگر تجربه ای در گذشته وجود داشته آن را بخاطر بیاورم.
    موفق باشید

  4. #4
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: مشکل استفاده از ADO در continueus form

    فرم اصلی بسیارپیچیده ودرارتباط با چند جدول است . به همین علت یک فرم سردستی ایجادکردم که بپیوست تقدیم میشود. دقت کنید چه یک رکوردوچه n رکورد ایجادکنید فقط رکورد آخر را درجدول ذخیره میکند.
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    1,369

    نقل قول: مشکل استفاده از ADO در continueus form

    نقل قول نوشته شده توسط Abbas Amiri مشاهده تاپیک
    فرم اصلی بسیارپیچیده ودرارتباط با چند جدول است . به همین علت یک فرم سردستی ایجادکردم که بپیوست تقدیم میشود. دقت کنید چه یک رکوردوچه n رکورد ایجادکنید فقط رکورد آخر را درجدول ذخیره میکند.
    سلام!
    در رخداد كليك كمند باتن CmdSave، كدهاي زير را وارد كن!
    ضمناً با وارد كردن كدهاي فوق در در رخداد كليك كمند باتن CmdSave ، نياز به كدهاي وارده در رويداد Open_Form نميباشد.

    Dim sSql As String
    sSql = "InvoiceDetails"
    Set Rst = New ADODB.Recordset
    Rst.Open sSql, CurrentProject.AccessConnection, adOpenDynamic, adLockBatchOptimistic, adCmdTable
    Rst.UpdateBatch
    Set Rst.ActiveConnection = Nothing


    آخرین ویرایش به وسیله alirezabahrami : دوشنبه 06 شهریور 1391 در 15:02 عصر دلیل: غلط املائي

  6. #6
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: مشکل استفاده از ADO در continueus form

    در رخداد كليك كمند باتن CmdSave، كدهاي زير را وارد كن!
    با تشکر از صرف وقت وتوجه شما
    با این کدها هیچ رکوردی Save نمیشود ! شما امتحان کردید؟

  7. #7
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    1,369

    نقل قول: مشکل استفاده از ADO در continueus form

    نقل قول نوشته شده توسط Abbas Amiri مشاهده تاپیک
    با تشکر از صرف وقت وتوجه شما
    با این کدها هیچ رکوردی Save نمیشود ! شما امتحان کردید؟
    سلام!
    تعجب میکنم!!!!
    شاید آن چیزی که مدنظرجنابعالی است را بنده کاملاً متوجه نشدم. اگر درست متوجه شده باشم شمامیخواهید برای یک مشتری تعداد و مقدار فی کالاهای الف و ب را مثلاً در پنج رکورد واردکنید و باکلیک بر روی کمند باتن cmdsave این پنج رکورد وارد شده برای مشتری موردنظر یکدفعه ثبت شود . بنده همین عملیات راچندین بار از طریق فایل اصلاح شده زیر انجام دادم و نتیجه همان شد که شما می خواهید.
    من نمونه فایل شما را با انجام اصلاح فوق ضمیمه میکنم . فقط بعد ازواردکردن اطلاعات و کلیک بر روی کمند باتن cmdsave بلافاصله برروی کمند باتن نمایش جدول کلیک کن و نتیجه را ببین.
    موفق باشید
    فایل های ضمیمه فایل های ضمیمه

  8. #8
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: مشکل استفاده از ADO در continueus form

    شاید آن چیزی که مدنظرجنابعالی است را بنده کاملاً متوجه نشدم
    متاسفانه همین طور است شما فرم را مستقیما به جدول مقید کرده اید و حتی اگر باتن ذخیره هم زده نشود باز درجدول Save میشود.
    نکته مهم ایجاد ویا تغییر چند رکورد بدون اتصال به جدول است که در شیء DAO مااین قابلیت رانداریم . البته با ADODB.Recordset براحتی میتوان با فرمهای SinglForm کارکرد ولی مشکل من کاردرمحیط ContinueusForm است.
    بازهم ازتوجه تان ممنون

  9. #9
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: مشکل استفاده از ADO در continueus form

    فکر کنم مشکل ذاتی فرم های پیوسته با ADODB باشه.

    اگر نمیخواین از حلقه استفاده کنین یک راه دیگه هم هست : میتونین کانکشن با رکوردست اصلی رو نبندین و یک CLONE بدون کانکشن از رکوردست اصلی بگیرین و فرم رو به اون باند کنین. موقع UPDATE هم مقادیر این رکوردست کلون شده رو در رکوردست اصلی میریزین.
    Option Compare Database
    Public RS1 As ADODB.Recordset
    Public RS2 As ADODB.Recordset


    Private Sub Form_Open(Cancel As Integer)
    Set RS1 = New ADODB.Recordset
    Set RS2 = New ADODB.Recordset
    RS1.CursorLocation = adUseClient
    RS1.ActiveConnection = CurrentProject.Connection
    RS1.LockType = adLockBatchOptimistic
    RS1.CursorType = adOpenKeyset
    RS1.Open "SELECT ..."
    Set RS2.ActiveConnection = Nothing
    Set RS2 = RS1.Clone
    Set Me.Recordset = RS2
    End Sub


    Private Sub BTN_SAVE_Click()
    Set RS1 = RS2
    RS1.UpdateBatch adAffectAll
    End Sub

  10. #10
    کاربر دائمی
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    فعلا اصفهان
    پست
    626

    نقل قول: مشکل استفاده از ADO در continueus form

    به نام خدا
    با سلام. من متوجه نمي شوم. در اين مواقع مگر نمي شود به روش زير عمل نمود
    فرم را به يك جدول موقت با مشخصات جدول اصلي باند كنيد و پس از اعمال روشي شبيه به روش جناب mazoolagh با يك «كويري اپند» قال قضيه را بكنيم؟ من كه اين كار را مي كنم هم در dao هم ado بعد هم جدول موقت را پاك مي كنيم تا دفعه بعد.
    شايد هم متوجه منظورتان نشدم.

  11. #11
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: مشکل استفاده از ADO در continueus form

    با تشکر از Mazoolagh عزیز ، عالی بود با اینکه رکوردست به جدول لینک است اما باتوجه به اینکه فقط درزمان دلخواه یعنی فشردن باتن تغییرات ذخیره میشوند ، منظور را میرساند.
    فرم را به يك جدول موقت با مشخصات جدول اصلي باند كنيد
    بنده هم دقیقا و بصورت سیستماتیک و کاملا ماژولار اینکاررا انجام میدهم(در بعضی ازفرمها مثل سندپرداخت، تا پنج جدول) ولی دانستن که عیب نیست . مدتها بود بدنبال انجام اینکار بودم و به لطف دوست عزیزمان Mazoolagh بدست آوردم

  12. #12
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,044

    نقل قول: مشکل استفاده از ADO در continueus form

    نقل قول نوشته شده توسط RESMAILY مشاهده تاپیک
    به نام خدا
    با سلام. من متوجه نمي شوم. در اين مواقع مگر نمي شود به روش زير عمل نمود
    فرم را به يك جدول موقت با مشخصات جدول اصلي باند كنيد و پس از اعمال روشي شبيه به روش جناب mazoolagh با يك «كويري اپند» قال قضيه را بكنيم؟ من كه اين كار را مي كنم هم در dao هم ado بعد هم جدول موقت را پاك مي كنيم تا دفعه بعد.
    شايد هم متوجه منظورتان نشدم.
    زیبایی استفاده از این روش که جناب امیری مطرح کردن (disconnected recordset) به همین هست که جدول موقت و دردسرهاش رو ندارین. هر چند که برای فرمهای master-detail بهترین گزینه هست و کلی در وقت و کدنویسی کمک میکنه ولی کاربردش محدود به data entry نمیشه. میتونین لیست باکس ها و کمبو ها رو باهاش پر کنین، بعنوان حافظه سریع برای lookup استفاده کنین و ... خلاصه این که کمک میکنه برنامه جمع و جور و چابکی داشته باشین. بخصوص در شبکه کاملا نمود پیدا میکنه.
    ------------------
    معمولا پست های جناب امیری رو دنبال میکنم و شاگردی در محضر ایشون باعث افتخار هست

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

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