PDA

View Full Version : سوال: مشکل در شماره گذاری خودکار برای یک فیلد



amir-m
یک شنبه 17 مرداد 1389, 20:12 عصر
سلام.
فرض کنید یک جدول داریم که دوتا فیلد name و code را داره.
من میخوام به ازای هر نام یک کد اختصاص بدم به طوری که این کدها از 1 شروع شده و به ترتیب 4،3،2 و ... باشند.
اولین نوع داده ای که برای فیلد code به ذهن میرسه، Autonumber است اما مشکلش اینه که اگه تو برنامه یکی از سطرها پاک شد، ترتیب این کد ها به هم می خوره.مثلاً اگر نام شماره 3 پاک بشه، کد autonumber به صورت خودکار، ترتیب اعداد را درست نمی کنه و کدها 5،4،2،1 و ... خواهند شد.(به عبارتی نام شماره 3 فعلی، کد شماره 4 خواهد داشت)
آیا راه حلی برای رفع این مشکل تو Access هست؟
اگر نیست، آیا کدی تو زبان دلفی هست که بشه باهاش فیلد code را بعد از هربار پاک کردن یک سطر بازسازی کرد؟
با تشکر

mehdi_moghimi
یک شنبه 17 مرداد 1389, 21:58 عصر
اگر درست منظور شما رو فهميده باشم راهش تو نمونه زيره

amir-m
یک شنبه 17 مرداد 1389, 22:24 عصر
اگر درست منظور شما رو فهميده باشم راهش تو نمونه زيره

تشکر از فایلی که فرستادید
نه دوست عزیز. مشکل من اینجاست که اگر یک سطر پاک بشه مثلاً سطر شماره 3 با کد شماره 3، کدهای بعد از سطر پاک شده، باید هر کدام یک واحد کم بشن تا ترتیب صحیح کدها حفظ بشه که این اتفاق نمی افتد.
با پاک شدن سطر 3، با کد 3، کدهای باقی مانده در فیلد کد عبارتند از: 5،4،2،1 و ... . در این صورت ترتیب کدها به هم خورده

dadsara
دوشنبه 18 مرداد 1389, 07:43 صبح
سلام
دوست عزیز مگر نه اینکه شما از کدهای استفاده شده در این جدول ، در جدولهای دیگر استفاده نموده اید حال اگر فرض کنید روشی پیدا شد که بتواند خواسته جنابعالی را اجابت کند تکلیف کدهای استفاده شده در جدولهای دیگر چه می شود
پیشنهاد : از فیلدی غیر از Auto استفاده کنید و کنترل آنرا در دست خود بگیرید و بعد از حذف کد ، هنگام ایجاد یک کد دیگر آنرا جایگزین کد حذف شده بنمائید

amir-m
دوشنبه 18 مرداد 1389, 20:22 عصر
سلام
دوست عزیز مگر نه اینکه شما از کدهای استفاده شده در این جدول ، در جدولهای دیگر استفاده نموده اید حال اگر فرض کنید روشی پیدا شد که بتواند خواسته جنابعالی را اجابت کند تکلیف کدهای استفاده شده در جدولهای دیگر چه می شود
پیشنهاد : از فیلدی غیر از Auto استفاده کنید و کنترل آنرا در دست خود بگیرید و بعد از حذف کد ، هنگام ایجاد یک کد دیگر آنرا جایگزین کد حذف شده بنمائید

1- کلید من فیلد code نیست که با تغییر آن مشکلی در ارتباط با سایر جداول ایجاد شود
2- تشکر از پیشنهاد شما. ظاهراً مجبورم همین کار را بکنم