PDA

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



A_1397
چهارشنبه 21 فروردین 1392, 14:08 عصر
سلام

تو برنامم باید یه سری از فیلدهای بانکم که اکسس هست رو طبق شرطی آپدیت کنم. ولی این شرطه خیلی طولانیه، خوده کویری اینه:

update Project_t set zoom='1' where melk='1135892' or melk='11362817' or melk='1136401' or melk='11341715' or melk='1136249' or melk='1136382' or melk='11359011' or ...

که این شرط ها نزدیک به 400تا هستند:گیج: و حین اجرا این اررور رو میده : Expression too complex. میدونم به خاطر تعداد زیاد شروط هستش ولی نمیدونم چطوری باید حل کنم این مشکل رو :ناراحت: کسی راهی میدونه؟؟

Mani_rf
چهارشنبه 21 فروردین 1392, 14:26 عصر
همه این شرط ها لازمه واقعا!
اگه یک رکورده مثلا نمیشه از روی ID اقدام به آپدیت کنی؟
یا مثلا این شماره ها ترتیب ندارن که بگی شماره های بین این تا این رو آپدیت کن؟
نمیشه که این شرط ها رو بشکنی و کوری ها رو یکی یکی یا مثلا 10تا 10تا حتی 100تا 100 تا اجرا کنی؟
و ...
آخرین راه اینه که از SQL Server استفاده کنی که تا 1000تا شرط رو پشتیبانی میکنه.

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

Mani_rf
چهارشنبه 21 فروردین 1392, 14:26 عصر
یک نکته رو فراموش کردم. برای این کار به جای اینکه از Or استفاده کنی راحت تر نبود که از شرط IN استفاده میکردی؟

A_1397
چهارشنبه 21 فروردین 1392, 14:37 عصر
یک نکته رو فراموش کردم. برای این کار به جای اینکه از Or استفاده کنی راحت تر نبود که از شرط IN استفاده میکردی؟

مرسی از جوابهاتون دوست عزیز. جواب سوال اولتون: شرط ها رو یه رکورده ولی متوجه نمیشم منظورتون چیه ازاینکه روی ID اپدیت کنم.
سوال دومتون: نه ترتیب ندارن هر مقداری ممکنه داشته باشن!
سوال سومت و چهارمتون: به دلایلی نمی تونم شرط ها رو بشکنم و حتما باید جدولم اکسس باشه :(
راجع به دستور IN هم چیزی نمیدونم اینکه چیکار میکنه و آیا به من کمکی می تونه بکنه؟ :قلب:

Mani_rf
چهارشنبه 21 فروردین 1392, 14:41 عصر
پس حتما بهتون توصیه میکنم که اطلاعاتتون رو راجع به SQL بیشتر کنید. چون تقریبا مطمعنم که بیشتر مشکل طراحی بانک دارید تا مشکل کد نویسی.
درباره ID و شرط In هم جستجو کنید دریایی از مثال پیدا خواهید کرد.

A_1397
چهارشنبه 21 فروردین 1392, 14:54 عصر
پس حتما بهتون توصیه میکنم که اطلاعاتتون رو راجع به SQL بیشتر کنید. چون تقریبا مطمعنم که بیشتر مشکل طراحی بانک دارید تا مشکل کد نویسی.
درباره ID و شرط In هم جستجو کنید دریایی از مثال پیدا خواهید کرد.

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

Hossis
چهارشنبه 21 فروردین 1392, 19:51 عصر
از between استفاده کنید دقیقا همین کار رو انجام میده
where melk between (12,14,..)