چگونه میشه کاری کرد اتو نامبر بعد از حذف کردن یک فیلد به طور خودکار تصحیح شود؟
چگونه میشه کاری کرد اتو نامبر بعد از حذف کردن یک فیلد به طور خودکار تصحیح شود؟
کد هائی که در تاپیک فوق ارائه نموده ام مربوط به مرتب نمودن فیلد از نوع نامبر است نه اتونامبر
از کدهای زیر استفاده کنید :
DoCmd.RunSQL "ALTER TABLE table1 DROP column ID"
DoCmd.RunSQL "ALTER TABLE table1 ADD column ID autoincrement"
در کدهای فوق فرض شده نام تیبل table1 و نام فیلد اتونامبر id است
خیلی عالی جناب eb_1345
مثل قدیما دیگه اون دکمه تشکر نیست که با انتخاب اون تشکر کنیم حالا که نیست بهتره دست بزنیم دیگه
برای من هم ارور3211رو میده چکار کنم
برای من نمونه هم کار نمی کنه
برای منم یک سئوال ایجاد شد ..وقتی که compact and repair میکنیم مگر شماره ردیف های اتو نامبر مرتب سازی نمیشن ؟
یا من دارم اشتباه می کنم ؟
compact and repair کردن زمانی باعث مرتب نمودن دوباره فیلد اتونامبر میشود که کل اطلاعات جدول رو حذف کنی و مجدداً از اول بخواهی در آن جدول اطلاعات وارد کنی.
استفاده از کد نمونه پست 3 زمانی قابل استفاده است که یک یا چند ردیف از جدول حذف شده و کاربر بخواهد بدون حذف اطلاعات جدول فیلد اتو نامبر مجدداً مرتب شود .
البته دوستان این موضوع رو باید مد نظر داشته باشند که مرتب کردن مجدد فیلد اتونامبر بعد از حذف در زمانی ضرورت پیدا میکند که از فیلد اتونامبر فقط و فقط بعنوان ردیف استفاده کنیم .
دوستان عزیزی که با نرم افزارهای حسابداری بخصوص آن قسمتی که مربوط به صدور سند است کارکرده اند مشاهده نموده اند که در سیستم صدور سند علاوه بر شماره سند یک شماره عطف هم در زمان صدور سند بصورت خودکار ایجاد میشود که این شماره عطف از نوع اتو نامبر است در حالی که شماره سند از نوع نامبر میباشد و قابل مرتب شدن میباشد ولی شماره عطف در اینجا نباید چنین حالتی داشته باشد.
شماره سند قابليت تغيير دستي توسط كاربر را دارد و با حذف آن ، شماره عطف آن نيز حذف شده و این شماره عطف به سند ديگری اختصاص نمييابد.
كاربرد كد عطف جهت نگهداري رابطه پرينت فيزيكي سند با شماره ثبت شده در نرم افزار است. فرض كنيد سندي را امروز با شماره 20و كد عطف 20ثبت و پرينت گرفته و بايگاني كنيم. در زمان ديگري به فرض انجام عمليات مرتب سازي يا تغيير دستي شماره سند رابطه بين پرينت فيزيكي و شماره ثبت شده در نرم افزار با كد عطف نگهداري مي شود و اگر كد عطف نباشد با تغيير شماره سند پرينت قبلي غير معتبر شده و نياز به پرينت مجدد خواهد بود.
آخرین ویرایش به وسیله eb_1345 : پنج شنبه 06 آذر 1399 در 16:07 عصر
سلام از کد شما در اکسس خودم استفاده کردم ولی کار نمی کنه و ارور میده باید چکار کنم؟
جناب narpco عزیز ! بلحاظ ویرایش مطالب، لطفاً مجدداً پست فوق رومرور بفرمائید
ممنون از توضیحات جامع فهمیدم چی شد نمونه فایل هایی هم که گذاشتین چک کردم متوجه شدم قصه چیه ......به نظرم مورد ضروری برای یک دیتا بیس هست فک کنم در ایندکس کردن اطلاعات هم تاثیر داره و سرعت رو بالا میبره این کار
یادم قدیم ها تو فاکس پرو اصلا باید یک همچین چیزی مینوشتیم که بهش میگفتیم مرتب سازی .....کاربر اخر وقت باید میزد مرتب سازی میکرد رکوردها و ایندکس ها رو ..........به هر حال ممنون موضوع خوبی بود
سلام دوست عزیز
نمیدونم به چه صورتی از کد فوق استفاده می کنید که در هنگام اجرا با خطا مواجه میشوید . زیادهم توضیح نمی دهید که به چه نحو عمل می کنید .
علی ایحال نمونه دیگری برات تهیه کردم . شما بدون اینکه جدول رو باز کنید از داخل فرم یکی از ردیف های سابفرم رو انتخاب و حذف کن و بعد بر روی کمند باتن کلیک کن تا نتیجه رو ببینی
سلام
این مشکل به خاطر این بود که نباید فیلد ID یا ردیف index باشه یا primary key
۳ تا سوال
۱= ما اگه توی جدولامون پرایمری کی نداشته باشیم سرعت فایل میاد پایین یا خیر؟؟ یکی بهم میگفت که تو هر جدول کیلید اصلی داشته باش که سرعت دیتابیس نیاد پایین.
۲= این کار باعث میشه تو سرعت فایلمون هم تاثیر داشته باشه و بیشتر بشه؟
۳= ما معمولاً اولین فیلدمون ردیف هست معمولاً سمت راست جدول قرار داره وقتی این کد ID رو پاک میکنه و از نو میسازه میره آخرین ردیف جدول اینو میاره و اسم کپشن هم ID انگلیسی میزاره اون اسم هم میشه تغییر داد و یا بگیم سمت راست جدول باشه و Left to right نباشه؟
سپاس