باسلام و عرض خسته نباشید
مشکلی دارم که خیلی وقته باهاش درگیرم
چطور میتونم پیشرفت انجام عملیاتم رو با پروسزبار نمایش بدم و مقدار پروسزبارم رو با حجم عملیاتی که داره انجام یمشه ست کنم؟
فرض کنید میخوام 70000 هزار رکورد از یک دیتابیسم رو update کنم ، چطور میتونم این پیشرفت این عملیات رو با پروسزبار نمایش بدم
کاری که در حال حاضر میکنم اینه:
Adodc1.Recordset.Close
Adodc1.Recordset.Open "UPDATE Table2 SET Table2.a = Replace(Table2.a,'" & Text1.Text & "','" & Text2.Text & "');"
Adodc1.Refresh
Me.ProgressBar1.Min = 0
Me.ProgressBar1.Max = Adodc1.Recordset.RecordCount
For i = 0 To Adodc1.Recordset.RecordCount
Me.ProgressBar1.Value = i
Next i
خب انکار فقط جنبه نمایشی داره و عملیات اصلی ابتدا انجام میشه و بعد پروسزبار به صورت کارتونی نمایش داده میشه
نکته مهم دیگه اینه که تا زمانیکه عملیات انجام بشه فرم برنامه هنگ میکنه!؟
در حالیکه در ویندوز اینطور نیست ، زمانیکه شما مثلاً دارید 200gig اطلاعات رو کپی میکنید ، همراه با عملیات اصلی (کپی گرفتن فایلها) پروسزبار داره رشد میکنه و فرمی که داره عملیات کپی رو نشون میده به هیج وجه هنگ نمیکنه
بنده قصدم از ارائه این مثال (بانک اطلاعاتی) فقط این بود که بدونم باید از چه روشی استفاده کنم تا در عملیات مختلف(بروزآوری رکوردها ، حذف رکوردها ، حذف فایل ، کپی گرفتن فایلها و...) میزان پیشرفت عملیات رو با پروسز بار نشون بدم ، ضمن اینکه انجام بعضی از عملیات مثل بروز آوری 70000 رکورد در یک حلقه قرار نمیگیره که بتوان میزان پیشرفت عملیات و پروسزبار رو در یک حلقه نمایش بدم.
ممنون میشم راهنماییم کنید
خیلی خیلی ممنونم
یاعلی