PDA

View Full Version : سابفرم محدود شده



mmehdiii
چهارشنبه 27 مرداد 1389, 15:15 عصر
قبل از اینکه مشکلمو مطرح کنم میخواستم از زحمات بی دریغ و بی منت همه دوستان قدردانی کنم
دو قسمت داره سوالم :
اول اینکه چجوری میشه رکوردهای سابفرمو به تعدادی مشخص محدود کرد (مثلاً 15 تا) که کاربر بیش از اون نتونه ثبت کنه ، نتونستم از Max Record استفاده کنم
دوم اینکه آیا راهی هست تو سابفرم همون 15 تای تایید شده را یکجا داشته باشیم یعنی وقتی فرم باز میشه 15 تا رکورد سابفرم خالی داشته باشم که اضافه هم نشه و فقط بتونی توش تغییر بدی و فیلد ردیف سابرفرم هم به ترتیب 1 تا 15 شماره شده باشه
ببخشید اگه یه کم پیچیدست سوالم
با تشکر مجدد

mmehdiii
پنج شنبه 28 مرداد 1389, 09:46 صبح
لطفاً نگاهی هم به مشکل من بکنید
ممنون

sadegh1944
پنج شنبه 28 مرداد 1389, 11:07 صبح
پاسخ سوال اول

Private Sub Form_BeforeInsert(Cancel As Integer)
If Me.CurrentRecord > 15 Then
MsgBox ".حداکثر تعداد 15 رکوردقابل ثبت است", vbCritical + vbMsgBoxRight, "خطا"
DoCmd.GoToRecord , , acLast
End If
End Sub

mmehdiii
پنج شنبه 28 مرداد 1389, 16:09 عصر
ممنون اما نشد ، واسه قسمت اول هم جواب نداد
چرا که بعد از رکورد 15 میره به رکورد 16 و یه پیغام میده که اگه تاییدش کنی میره به رکورد بعدی
میخوام بدون پیغام تو همون رکورد 15 بمونه و اضافه تر نشه و به رکورد بعد حتی وارد نشه
یعنی ماکسیمم رکورد یه سابفرم 15 تا باشه
اینجوری که معلومه ما تو همون قسمت اول سوالامون موندیم ، ممنون

sadegh1944
شنبه 30 مرداد 1389, 07:58 صبح
ممنون اما نشد ، واسه قسمت اول هم جواب نداد
چرا که بعد از رکورد 15 میره به رکورد 16 و یه پیغام میده که اگه تاییدش کنی میره به رکورد بعدی
میخوام بدون پیغام تو همون رکورد 15 بمونه و اضافه تر نشه و به رکورد بعد حتی وارد نشه
یعنی ماکسیمم رکورد یه سابفرم 15 تا باشه
اینجوری که معلومه ما تو همون قسمت اول سوالامون موندیم ، ممنون
احتمالا شما کد مورد نظر رو در فرم اصلی قرار دادید
شما باید کد فوق را در رویداد before insert فرم فرعی(سابفرم)قرار بدید که در این صورت با رفتن به رکورد شانزده پیغام موردنظر برای شما ظاهر میشه

mmehdiii
شنبه 30 مرداد 1389, 11:32 صبح
باسلام و تشکر
منم همینکارو کردم ولی جواب کار منو نداد
دوستان کمک کنید مشکل حل شه

sadegh1944
شنبه 30 مرداد 1389, 13:00 عصر
در نمونه زیر شما فرم یک را باز کنید و اگه شما در سابفرم ردیف 11 قصد ورود اطلاعات (تایپ اعداد و حروف ) را داشته باشید به شما اجازه ثبت رکورد جدید نمیدهد وپیغام موردنظر صادر میشود
لازم به ذکر است که ردیف یازده بصورت یک رکورد جدید و بصورت خالی وجود دارد که با تایپ هر کارکتر پیغام فوق صادر میشود

mmehdiii
شنبه 30 مرداد 1389, 13:54 عصر
آقا صادق ممنون از اینکه وقت گذاشتی
من از این نمونه استفاده میکنم واسه شماره ردیف سابفرمم که شماره ردیفم تو تیبل و چاپ گزارش هم نمایش داده بشه
که نمونه شما فقط تو فرم شماره ردیف سابفرمو نمایش میده
حالا وقتی از کدی که گذاشتید (ماکسیمم رکورد) استفاده میکنم چون شماره ردیفمو مجبورم از این نمونه استفاده کنم همون مشکلی رو که تو بالا مطرح کردم پیش میاره

e.shahidifar
دوشنبه 01 شهریور 1389, 16:17 عصر
با سلام فایل ضمیمه شما اصلاح شد.