نمایش نتایج 1 تا 19 از 19

نام تاپیک: رکوردDefault

  1. #1

    رکوردDefault

    دوستان عزیز
    چگونه میتوان در سطح فرم مقدار یک رکورد را Default رکورد بعدی قرار داد؟
    مثال :آقای محمدی را با مشخصات خاص خود در یک رکورد وارد کردیم وقتی به رکورد بعدی میرویم آقای محمدی بصورت Default در رکورد بعدی تایپ شده باشد تا شخص جدیدی را وارد کنیم
    باتشکر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    در رویداد لاست فوکوس فیلد اخر فرمتون بنویسید
    on error goto lable1
    docmd.gotorecord acdataform,"formname",acnext
    lable1:
    docmd.gotorecord acdataform,"formname",aclast
    m=name
    docmd.gotorecord acdataform,"formname",acnewrec
    name=m

    یعنی برود به رکورد بعدی اگر خطای صورت گرفت برود به رکورد اخر مقدار اخرین فیلدنام را در mبگذارد وسپس یک رکورد جدید ایجاد کند ومقدار m رادر فیلد نام بگذارد

  3. #3
    نقل قول نوشته شده توسط moustafa
    در رویداد لاست فوکوس فیلد اخر فرمتون بنویسید
    on error goto lable1
    docmd.gotorecord acdataform,"formname",acnext
    lable1:
    docmd.gotorecord acdataform,"formname",aclast
    m=name
    docmd.gotorecord acdataform,"formname",acnewrec
    name=m

    یعنی برود به رکورد بعدی اگر خطای صورت گرفت برود به رکورد اخر مقدار اخرین فیلدنام را در mبگذارد وسپس یک رکورد جدید ایجاد کند ومقدار m رادر فیلد نام بگذارد
    دوست عزیز
    منظور از lable1چیست؟
    mنام فیلد است یا نه؟
    اگه میشه یک نمونه برام درتاپیک میگذارید ببینم!!!

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    منظور از lable1چیست؟
    با کنترل خطاها اشنا نیستی ؟ شی یا کنترل نیست برچسبی که به هنگام خطا برنامه به ان خط هدایت میشه شما میتونی از حروف یا کلمات دلخواه بجای lable1 استفاده کنی
    mنام فیلد است یا نه؟
    نه عزیز جان یه متغیره و میتوانی ان را با dim تعریف کنی عینه اینکه بگی مقدار فیلدنام اخرین رکورد را بخاطر بسپار حالا یه رکورد جدید تشکیل بده چیزی را که بخاطرسپردی بذار توفیلدنام رکورد جدید
    شما این کدها را کپی کن به رویداد lostfocus اخرین فیلد فرمتون سپس بجای formname نام فرمتون وبجای name نام فیلدی را که می خواهی دیفالت بشه بذار حله
    این کارها رابکن اگه نشد فایلت رابذار برات درست کنم

  5. #5
    نقل قول نوشته شده توسط moustafa
    با کنترل خطاها اشنا نیستی ؟ شی یا کنترل نیست برچسبی که به هنگام خطا برنامه به ان خط هدایت میشه شما میتونی از حروف یا کلمات دلخواه بجای lable1 استفاده کنی

    نه عزیز جان یه متغیره و میتوانی ان را با dim تعریف کنی عینه اینکه بگی مقدار فیلدنام اخرین رکورد را بخاطر بسپار حالا یه رکورد جدید تشکیل بده چیزی را که بخاطرسپردی بذار توفیلدنام رکورد جدید
    شما این کدها را کپی کن به رویداد lostfocus اخرین فیلد فرمتون سپس بجای formname نام فرمتون وبجای name نام فیلدی را که می خواهی دیفالت بشه بذار حله
    این کارها رابکن اگه نشد فایلت رابذار برات درست کنم
    دوست عزیز دستورات شما را مو به مو انجام دادم ولی باز errorمیده
    فایلم رو گذاشتم تا مشکلشو ببینید
    متشکرم
    فایل های ضمیمه فایل های ضمیمه

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    دررویداد beforeInsert فرم:

    DoCmd.GoToRecord acDataForm, "b", acLast
    m = Nam
    n = ID
    k = SPH
    DoCmd.GoToRecord acDataForm, "b", acNewRec
    Nam = m
    ID = n + 1
    SPH = k
    Nam.SetFocus

    End Sub

    البته پس از ایجاد رکورد جدید یک دکمه کنار اینتر عددی یا حروفی را فشاربده اطلاعات وارد میشود
    فیلد id راهم عددمعمولی کردم که با هر بار یک واحد به ان اضافه میشه
    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    کامل کردن روش فوق
    در روبداد ()GotFocus فیلد اولت یه مقدار را به یکی از فیلدها بدی دیگه نیاز به فشردن کلید اضافی نیست مثلا یه فیلد rowid به جدول و فرمت اضافه کن وخاصیت ویزبل ان را در فرم فالز کن واین کد رادر رویداد ()GotFocus فیلد id بنویس :
    rowid=0
    آخرین ویرایش به وسیله moustafa : دوشنبه 25 اردیبهشت 1385 در 18:13 عصر

  8. #8
    کاربر دائمی آواتار mohsenna30ri
    تاریخ عضویت
    تیر 1385
    محل زندگی
    اردکان
    پست
    302

    Cool چگونه می توان در یک فرم حالت پیش فرض یک فیلد را برابر آخرین مقدارش قرار داد

    می خواهیم در یک فرم اطلاعاتی را وارد کنیم که اغلب اطلاعات یک فیلد تکراری است مثلا سال تولد اغلب یک فیلد 1366 می باشد وقتی یک نفر با سال تولد 1367 وارد کردیم اکثر افراد بعد از او نیز متولد همین سال 1367 هستند چگونه می توان در یک فرم حالت پیش فرض یک فیلد را برابر آخرین مقدارش قرار داد تا ورود اطلاعات تسریع یابد
    توجه: در پنجره پروپرتیز فرم مشخصه ای بنام Default value داریم که قابل تغییر است و در کد فرم هم می توان تغییر داد اما چگونه می توان برابر آخرین مقدار آن فیلد گذاست؟

  9. #9
    خب شما می‌تونی یک سلکت کوئری ایجاد کنی که مقدار اون تکست باکس رو بذاره last(year)
    برو تو کوئری سال رو انتخاب کن از قسمت groupby گزینه last رو انتخاب کن .

  10. #10

    کپی یک فیلد از رکورد اول برای تمام رکورد ها

    با رعایت قوانین و مقررات سایت و احترام به اساتید سوال رو در عنوان مطرح کردم
    اگر لطف کنید و من رو کمک کنید ممنون می شوم

  11. #11
    هر فردی بنا به سلیقه خودش روشی برای ورود اطلاعات دارد و لی شاید بهتر این است که ما تکست باکسهای ایجاد شده روی فرم را مستقیم به بانک وصل نکنیم و وقتی کاملا از درست بودن اطلاعات مطمعن شدیم با یک کد نویسی در on click یک باتن تکستها را مساوی فیلدها کنیم در این حالت با add newتکستهای شما پاک نمیشود و انهایی را که میخواهید ثابت باشد را با enter رد میکنید حتی می توانید tabstopرا از آنها بگیرید تا سرعت بیشتر شود

  12. #12
    کاربر دائمی آواتار mohsenna30ri
    تاریخ عضویت
    تیر 1385
    محل زندگی
    اردکان
    پست
    302
    نقل قول نوشته شده توسط samaneh_h
    خب شما می‌تونی یک سلکت کوئری ایجاد کنی که مقدار اون تکست باکس رو بذاره last(year)
    برو تو کوئری سال رو انتخاب کن از قسمت groupby گزینه last رو انتخاب کن .
    منظورتون از تکست باکس چیه؟ ما که تو فرممون اصلا حرفی از تکس باکس نزدیم - تو کوئری هم از قسمت گروپ لاست رو انتخاب کردم اما مشکلی حل نکرد
    شاید من منظورتون رو متوجه نمی شم لطفا کمی بیشتر توضیح بدین یا یک مثال ساده بفرستین - مرسی

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    درجواب اقا حامد:کپی یک فیلد از رکورد اول برای تمام رکورد ها

    همون روش بالا این کد رو به اولش اضافه کن :

    docmd.GoToRecord acDataForm, "b", acfrist
    x=fild1

  14. #14
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    نقل قول نوشته شده توسط karmand
    هر فردی بنا به سلیقه خودش روشی برای ورود اطلاعات دارد و لی شاید بهتر این است که ما تکست باکسهای ایجاد شده روی فرم را مستقیم به بانک وصل نکنیم و وقتی کاملا از درست بودن اطلاعات مطمعن شدیم با یک کد نویسی در on click یک باتن تکستها را مساوی فیلدها کنیم در این حالت با add newتکستهای شما پاک نمیشود و انهایی را که میخواهید ثابت باشد را با enter رد میکنید حتی می توانید tabstopرا از آنها بگیرید تا سرعت بیشتر شود
    گذاشتن دکمه های save ,edit, new سرعت از کاربر میگیره در محل کار ما دوبرنامه یکی بدون اون دکمه ها بااکسس و دیگری با اون دکمه ها با دلفی ، کاملا سرعت و راحتی کار نمود پیدا می کنه
    البته یه جا استاد عزیزم جناب اقای صارمی فرموده بودند که unbound بهترینه

  15. #15
    متاسفانه در حالتی که Bound کار میشه کنترل کاربر سخت میشه و درمورد مقایسه هم باید عرض کنم به طراحی بستگی شدیدی داره ......
    منی که نام شراب از کتاب می شستم
    زمانه کاتب دکان می فروشم کرد.

  16. #16
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    نقل قول نوشته شده توسط sarami
    متاسفانه در حالتی که Bound کار میشه کنترل کاربر سخت میشه
    متوجه نشدم سخت میشه یعنی چی ؟
    مگه اعتبار سنجی رو خود فیلدها تعریف نمیشه که کاربر در محدوه مجاز اطلاعات رو وارد کنه ؟
    ساده ،راحت ،سریع در " bound"
    برای عدم ویرایش هم پس از ورود اطلاعات روزانه دستوراتی قرار دادم که در محدوده زمانی یا .... رکوردها رو قفل میکنه

  17. #17
    تو تجربیاتی که من داشتم error های ناخواسته و پیش بینی نشده که از جمله اون موارده و دیگری اینکه فرمها ایستا میشن و حالت Dynamic ازشون گرفته میشه شما میتونین از فرمهای Unbound چند منظوره استفاده کنین البته گفته های بنده وحی منزل نیست ممکنه تجربه شما و یا نگاهمون باهم تفاوت داشته باشه. هرکدوم رو که کاربر باهاش راحت تره فکر کنم و شما هم باهاش مشکلی نداری میتونه بهترین باشه . تجربه بنده Unbound بهتر بوده بعضی مواقع هم تلفیق این دو چاره ساز تره. در ضمن مشتاقانه منتظر ترجمه ی مقاله ایتالیایی شما هستیم ...
    منی که نام شراب از کتاب می شستم
    زمانه کاتب دکان می فروشم کرد.

  18. #18
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    در ضمن مشتاقانه منتظر ترجمه ی مقاله ایتالیایی شما هستیم ...
    شرمنده استاد، من فرانسه ،اسپانولی ،پرتغالی ،المانی و هندی و چینی وژاپنی بلدم

  19. #19
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    997
    نقل قول نوشته شده توسط sarami
    تو تجربیاتی که من داشتم error های ناخواسته و پیش بینی نشده که از جمله اون موارده و دیگری اینکه فرمها ایستا میشن و حالت Dynamic ازشون گرفته میشه
    اونم با کدنویسی قابل حله یه فرم برای چند تا دیتا بکاربده میشه بنا بر نیاز بعضی فیلدها مخفی میشند رنگها و جلو ها عوض میشه و کپشن فرم بنا به نیاز قرار داده میشه و...

    select case id
    case 1:forms!form1.caption=" فرم ثبت درامد ها "
    fild1.visible=false
    me.backcolor=12632256
    .....
    case 2:forms!form1.caption=" فرم ثبت هزینه ها "
    fild1.visible=true
    me.backcolor=12154621
    .....

تاپیک های مشابه

  1. Default Value
    نوشته شده توسط bardia goharbin در بخش SQL Server
    پاسخ: 12
    آخرین پست: دوشنبه 30 بهمن 1385, 13:35 عصر
  2. مشکل با مقادیر Default در sql
    نوشته شده توسط MNosouhi در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: دوشنبه 06 آذر 1385, 21:31 عصر
  3. پاسخ: 4
    آخرین پست: چهارشنبه 29 شهریور 1385, 07:49 صبح
  4. Default
    نوشته شده توسط Fazaeli در بخش SQL Server
    پاسخ: 1
    آخرین پست: چهارشنبه 13 اردیبهشت 1385, 11:02 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •