سوالي در مورد Auto Number در پايگاه داده اكسس؟
سلام
پايگاه دادهاي دارم كه اتو نامبر جدول آن از 1 شروع نميشه.
پايگاه داده اي در محيط اكسس طراحي كردم بعد مقاديري را داخل جداول قرار دادم براي تست پايگاه داده حالا كه تست تمام شده و اطلاعات داخل فيلدها رو پاك كردم تمام ركورد ها
حالا كه مي خوام اطلاعات جديدي رو وارد كنم از Auto Number از انتهاي آن ركوردي كه گفتم پاك كردم شروع و از يك شروع نمي شود مشكل كجاست.
مثال : آخرين شماره كه قبل داشته عدد 7 است و بعد از پاك كردن تمام اطلاعات جداول . با وارد كردن اطلاعات جديد به جاي عدد 1 عدد 8 رو نشان مي دهد.
باتشكر
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
نوع فیلدو عوض کنید جدول رو save کنید . بعد دوباره نوع فیلدرو به Auto Number تغییر دهید
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
وقتی یک فیلد با data type خودکار رو تغییر بدین این مشکل براتون پیش میاد بنابراین اگه میخواهی رکورد هاتون قابلیت حذف داشته باشن از این نمونه فیلد استفاده نکنید
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
می تونید اون فیلد رو پاک کنید و از نو بسازید تا دوباره از یک شروع بشه.
ولی به قول دوستمون راه بهتر اینه که دستی و از داخل برنامه هر بار یکی به فیلدتون اضافه کنید و اونو از نوع اتو نامبر در نظر نگیرید
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
نقل قول:
نوشته شده توسط
xxxxx_xxxxx
نوع فیلدو عوض کنید جدول رو save کنید . بعد دوباره نوع فیلدرو به Auto Number تغییر دهید
پيغام خطا مي ده چون RelationShips ايراد مي گيره.
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
نقل قول:
نوشته شده توسط
maryamb
می تونید اون فیلد رو پاک کنید و از نو بسازید تا دوباره از یک شروع بشه.
ولی به قول دوستمون راه بهتر اینه که دستی و از داخل برنامه هر بار یکی به فیلدتون اضافه کنید و اونو از نوع اتو نامبر در نظر نگیرید
دوست عزيز پروژه هاي زيادي ديدم كه از اتونامبر استفاده مي كردند و مشكلي هم نداشتند هم خوب ويرايش مي شدند و هم خوب آپديت پس مي بينيد را ه حلي دارد
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
یعنی میشه توی برنامه شماره اتوماتیک رو ریست کرد همچنان که بقیه فیلد ها سر جاشونن؟
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
سلام
به نظر من از فيلد AutoNumber براي شناسايي ركورد فقط استفاده كنيد نه استفاده به عنوان يك فيلد واقعي
در اينصورت مهم نيست از چند شروع بشه
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
این احتمال وجود نداره که با زیاد شدن تعداد رکوردها این فیلد با مشکل مواجه بشه؟
طور دیگه مطرح می کنم : فیلد AutoNumber تا چند رکورد قابل افزایشه؟
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
نقل قول:
نوشته شده توسط
babak_delphi
این احتمال وجود نداره که با زیاد شدن تعداد رکوردها این فیلد با مشکل مواجه بشه؟
طور دیگه مطرح می کنم : فیلد AutoNumber تا چند رکورد قابل افزایشه؟
خير؛ فيلد AutoNumber از نوع Long Integer هست. (ماكزيمم يك عدد 10 رقمي)
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
دوست عزيز فيلد Auto Number در صورتي که رکوردي در تيبل نباشد بعد از Compact کردن مجدد از 1 شروع مي شه
ولي فرض کنيد که يک تيبل داريد که مقدار آي دي اون از 30 شروع شده و حالا اون رکورد رو که آي ديش 30 هست رو به يک تيبل خالي که از 1 شروع مي شه انتقال بديد مجدد از 30 شروع مي شه
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
ببخشيد كه تاپيك قديمي رو فعال كردم منم يه همچين مشكلي دارم
آيا دوستان راه حل تازه اي دارند؟
ممنون:لبخند::لبخند::لبخند:
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
با سلام خدمت دوستان عزيز
من فايلي را طراحي كرده و يكي از فيلد هاي آن را تو اتونامبر قراردادم ولي بعد از ثبت تعدادي از ركورد ها از اتو نامبر بصورت رديفي خارج ميشود مثلا وقتي در ركورد 80 با رديف و اتو نامبر 80 هستم و ميخواهم ركورد 81 رو وارد كنم اتو نامبرم 83 رو نشون ميده
ميخواستم اگه امكان داره دوستان در اين امر راهنماييم كنند كه چيكار كنم لازم به توضيح ميدونم كه بكم رديف رو حذف كردم و رديف جديدي را وارد كردم id را حذف كردم و دوباره ايجاد كردم ركود جديد را در رديف يك نشون نداد و در آخرين ركورد نمايش داد
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
سلام
کار AutoNumber همینه که تضمین کنه Id تکراری ایجاد نشه حتی اگر Id حذف شده باشه
در مورد حذف فیلد Id هم بازم سیستم کارش رو درست انجام داده چون رکورد شما آخرین رکورد درج شده در جدول بوده
شما بهتره بگین هدفتون از انجام این کارها چیه تا برای اون بشه راهی ارائه کرد
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
چون دیدم کسی جواب دوستان رو بلد نبود تاپیک رو بالا آوردم
راه حل اینکه Auto Number رو ریست کنید اینه که از بقیه ستون هاتون در صورتی که بهشون نیاز دارید کپی بگیرید مثلا توی اکسل بعد همه داده های داخل تیبل رو حذف کنید از منوی آپشن اکسس گزینه Compact & Repair رو بزنید
و تمام اوتونامبر شما ریست شده :چشمک:
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
سلام
با حذف فیلد از جدول و ایجاد مجدد اون هم میتونید اینکار رو انجام بدید
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
سلام
ببخشید برای بنده مشکلی پیش اومده امیدوارم تجربه شماکمک حالم باشه <3
بنده در طول برنامه نویسی برای یک برنامه حسابداری به یک مشکل سخت گرفتار شده ام
در بانک اطلاعاتی " اکسس - acces " فیلد کلید را فیل " آیدی - ID "قرار دادم
بعد از اجرا برنامه و تست به این مشکل برخردم وقتی مثلا ده محصول با شناسه مختلف ثبت میکنم مثلا از شناسه شماره یک تا ده
وقتی شماره هشت را پاک کنم بر روی ذخیره کلیک کنم فیلد حذف میشود ولی در ثبت فیلد جدید شماره شناسه از شماره یازده شروع میشود
خیلی مشغولم کرده این کد
میخواستم بدونم راه حل بهتری هست ؟
یا کدی هست بتونم بنویسم برنامه بره تو اکسس و گزینه commpact & repair رو بزنه بعد هر حذف ؟؟
لطفا کمکم کنید واقعا دردسر ساز شده برام
j.behzadii@gmail.com
اگه ممکنه اینجا جواب بدید یا به ایمیلم پیام بدهید ممنون <3
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
نقل قول:
نوشته شده توسط
Kybord
سلام
ببخشید برای بنده مشکلی پیش اومده امیدوارم تجربه شماکمک حالم باشه <3
بنده در طول برنامه نویسی برای یک برنامه حسابداری به یک مشکل سخت گرفتار شده ام
در بانک اطلاعاتی " اکسس - acces " فیلد کلید را فیل " آیدی - ID "قرار دادم
بعد از اجرا برنامه و تست به این مشکل برخردم وقتی مثلا ده محصول با شناسه مختلف ثبت میکنم مثلا از شناسه شماره یک تا ده
وقتی شماره هشت را پاک کنم بر روی ذخیره کلیک کنم فیلد حذف میشود ولی در ثبت فیلد جدید شماره شناسه از شماره یازده شروع میشود
خیلی مشغولم کرده این کد
میخواستم بدونم راه حل بهتری هست ؟
یا کدی هست بتونم بنویسم برنامه بره تو اکسس و گزینه commpact & repair رو بزنه بعد هر حذف ؟؟
لطفا کمکم کنید واقعا دردسر ساز شده برام
j.behzadii@gmail.com
اگه ممکنه اینجا جواب بدید یا به ایمیلم پیام بدهید ممنون <3
سلام
خب این نشون میده شما مفهوم فیلد کلید رو کامل درک نکردید
اون داره دقیقا کار درست رو انجام میده، اینکار باعث میشه تضمین بشه هیچ موقع داده های تکراری به وجود نمیان
فرض کنید شما از فیلد کلید به عنوان شماره فاکتور استفاده کردید
به یک نفر فاکتور دادید، فاکتورش رو بعدا حذف کردید و به یک نفر دیگه فاکتور دادید طبق همون شماره کلید قبلی، حالا بعد از مدتی هر دو نفر مراجعه میکنن برای حسابرسی و هر دو میگن شماره فاکتور ما مثلا 100 هستش
اینجا تداخل پیش میاد و اصلا کلید نباید اونکارو انجام بده که شماره حذف شده رو دوباره به شما بده
اول اینکه شما از فیلد کلید فقط به عنوان کلید رکورد و ارتباط با جدول دیگه استفاده کنید نه فیلد اطلاعاتی مثل شماره فاکتور یا ...
اگر مثلا نیاز به فیلد شماره فاکتور دارید باید یک فیلد دیگه بزارید و برای اینکه هر بار بدونید چه شماره فاکتوری استفاده کنید میتونید با تابع Max بیشترین مقدار شماره فاکتور داخل جدول رو بگیرید و یکی بهش اضافه کنید
هر چند در این حالت هم اگر چند تا فاکتور آخر حذف بشن باز شماره تکراری پیش میاد ولی برای این هم باید فکری کنید مثلا آخرین شماره فاکتور رو در جایی دیگه ذخیره کنید که با حذف اون فاکتور هم شماره بمونه یعنی کاری که همون فیلد کلید انجام میداد، شاید بگین خب اینطوری که همون مشکل اولیه من ایجاد شد، بله درسته اما اون مشکل نیست، اون تضمینی برای ایجاد داده های غیر تکراری است و اصلا هیچ لزومی هم نداره فاکتورها همیشه پشت سر هم باشه شماره هاشون، در صورت نیاز باید برای خودتون شماره ردیف تعیین کنید
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
دوست عزیز اگه میخوای از اتو نامبر به عنوان کلید استفاده بکنی از کد زیر استفاده بکن من خودم استفاده میکنم هیچ مشکلی ندارم باهاش.
T1.Text = Adodc2.Recordset.RecordCount + Val(1)
این روشو من تو چند تا از برنامه هام استفاده کردم نتیجه گرفتم حتما به دردت میخوره.:قلب:
نقل قول: سوالي در مورد Auto Nummber در پايگاه داده اكسس؟
نقل قول:
نوشته شده توسط
hassan_ml75
دوست عزیز اگه میخوای از اتو نامبر به عنوان کلید استفاده بکنی از کد زیر استفاده بکن من خودم استفاده میکنم هیچ مشکلی ندارم باهاش.
T1.Text = Adodc2.Recordset.RecordCount + Val(1)
این روشو من تو چند تا از برنامه هام استفاده کردم نتیجه گرفتم حتما به دردت میخوره.:قلب:
با این روش اگر رکورهای قبلی پاک بشه رکورد تکراری ایجاد میشه اونم به مرور زیاد میشه