View Full Version : مشكل در Updata يك ركورد با دستورات SQL
rezankh
شنبه 14 دی 1387, 00:03 صبح
با سلام
من يك تيبل بانك اكسس دارم كه حاوي 115 فيلد هستش شايد منطقي نباشه ولي بدلايلي مجبور به انجام اون هستم
خوب حالا موقعي كه مي خوام ركوردي رو ويرايش كنم با دستور
adodc1.recordset.update
پیغام Query is too complex رو ميده كه فكر كنم از تعداد بالاي فيلدها هستش واسه همين هم از دستورات SQL استفاده كردم كه با مشكل مواجه شدم واسه همين برنامه رو مي ذارم تا دوستان بهتر بتونند كمك كنند
با تشكر
araelectronic@ymail.com
شنبه 14 دی 1387, 01:00 صبح
با سلام
دوست عزيز من كدتان را خوندم . اگه ميشه دليل استفاده از اينهمه فيلد را بگوييد شايد راه حل بهتري پيدا بشه
rezankh
شنبه 14 دی 1387, 23:47 عصر
باسلام
ضمن تشكر از توجه شما دليل اينكه چرا تعداد فيلدها زياد شده اين هستش كه هدف محاسبه نهاده هاي كودي هستش كه تعدادشون 7 مورد هست و هر مورد در 7 الي 8 مرحله محاسبه مي شند و از طرفي ما از 50 فرمول مختلف هم با توجه مقادير فيلدهاي ديگه استفاده مي كنيم كه در مجموع هنگام اجراي محاسبه شايد چيزي حدود 56 * 50 شرط روي ركوردها اعمال ميشه خوب قبلا اين كارو با حلقه DoWihle انجام مي دادم و براي محاسبه 10000 ركورد 2 دقيقه وقت تلف مي شد لذا از دستورات SQL به شكل برنامه پيوست استفاده كردم كه فقط اين اجازه رو مي داد تمام فيلدها از يك جدول انتخاب كرد و در غيراينصورت زمان محاسبه طولاني مي شد
بهرحال خود اين محاسبه نيز يك Update هست و كاملا درست كار ميكنه ولي در ويرايش يك ركورد درست عمل نميكنه
قسمت محاسبه رو به نمونه برنامه قبلي اضافه كردم اگه ميشه يك نگاهي بندازيد ممنون ميشم
rezankh
چهارشنبه 18 دی 1387, 02:07 صبح
قسمت محاسبه رو به نمونه برنامه قبلي اضافه كردم اگه ميشه يك نگاهي بندازيد ممنون ميشم
با سلام
به نظر شما چرا آپديت نميشه ؟ اشكال از كد من نيست؟
ممنون ميشم
vbhamed
چهارشنبه 18 دی 1387, 10:23 صبح
سلام
چرا همه دستورات execute رو بعد از commandtext ها گذاشتيد ؟
اينطوري كه فقط آخرين دستور n بار اجرا ميشه
rezankh
چهارشنبه 18 دی 1387, 23:40 عصر
سلام
چرا همه دستورات execute رو بعد از commandtext ها گذاشتيد ؟
اينطوري كه فقط آخرين دستور n بار اجرا ميشه
با سلام
با تشكر و ضمن پوزش از اينكه كار رو پيچيده كردم قصدم تست كردن بود ولي چيزي كه برام سواله اينه كه چرا دكمه محاسبه درست كار مي كنه و ضمن محاسبه آپديت رو انجام ميده ولي دكمه ويرايش يا دكمه شماره 4 عمل آپديت رو بدرستي انجام نميدند چرا؟
rezankh
شنبه 21 دی 1387, 23:44 عصر
با سلام
دوستان منتظر كمكتان هستم
ممنون ميشم
rezankh
پنج شنبه 26 دی 1387, 00:18 صبح
با سلام مشكلم حل شد
بايد اينطوري مي نوشتم
.CommandText = "UPDATE Table1 SET Table1.FName = '" & C3.Text & "' WHERE ((([Table1]![Row])= " & Combo1.Text & "));"
.Execute
و نه اينطوري
.CommandText = "UPDATE Table1 SET Table1.FName = " & C3.Text & " WHERE ((([Table1]![Row])= " & Combo1.Text & "));"
.Execute
چون فيلد از نوع رشته بود و نه عدد كه متاسفانه قبلا دقت نكرده بودم
باتشكر و ضمن پوزش از شما دوستان
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.