کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

TempVars در اکسس ( تعریف متغیرهای موقت برای استفاده در تمام رویه ها )



طبق کتاب Access programming 2021 


چنانچه دیتابیس ( پایگاه داده ) با فرمت ACCDB است ، بجای استفاده از جدول پایگاه داده یا متغیرهای global ، می توان از مجموعه TempVars برای ذخیره داده های گوناگون که تمایل دارید دوباره بکار ببرید بهره برد.


TempVars مخفف متغیرهای موقت است.این متغیرها global هستند.می توان در ماژول های VBA یا کوئری ها ( پرس و جو ها ) ، رویدادها ( Events ) ، عبارات ( Expressions ) ، ... و هر پایگاه داده ارجاعی به آنها اشاره کرد.دیتابیس های اکسس ACCDB اجازه تعریف تا 255 متغیر موقت را در لحظه می دهند . این متغیرها در حافظه تا زمان بسته شدن پایگاه داده حفظ می شوند ( جز حذف آنها زمان اتمام و عدم نیاز).برخلاف متغیرهای Public ، متغیر موقت هنگام بروز خطا پاک نمی شوند.



ایجاد یک متغیر موقت با شئ مجموعه TempVars :


در محیط VBA وارد شوید و پنجره Immediate Window را باز کنید با کلید میانبر Ctrl+G هم می توانید این کار را انجام دهید.هر کدام از عبارات زیر را وارد کنید


TempVars("gtvUserName").Value = "John Smith"

TempVars("gtvUserFolder").Value = Environ("HOMEPATH")

TempVars("gtvEndDate").Value = Format(now(),"mm/dd/yyyy")


توجه کنید که برای ایجاد متغیر موقت ، تمام چیزی که شما باید انجام بدهید مشخص کردن مقدار آن است.اگر متغیر از قبل موجود نباشد ، اکسس آنرا به مجموعه TempVars اضافه می نماید در غیر اینصورت اکسس آنرا ( مقدار جدید ) جایگزین می کند یا بعبارتی اصلاح ( Modify ) .با استفاده از متد Add می توان متغیر را اضافه کرد:


TempVars.Add "gtvCompleted", "true"



هر شئ TempVar در این مجموعه ویژگی های Name و Value دارد که می توان برای دسترسی  به متغیر و خواندن مقدار از هر Procedure ( رویه ) بهره برد.آیتم ها بصورت پیش فرض در این مجموعه از 0 شماره گذاری شده است یعنی اولین آیتم 0 و دومین آیتم 1  ، سومین 2 و همینطور... بنابراین برای پیدا کردن مقدار متغیر دوم در TempVars که وارد کرده اید ( gtvUserFolder ) ، در پنجره Immediate عبارت زیر را وارد کنید : 


?TempVars(1).Value



برای بازیابی مقدار متغیر می توان از نام آن نیز استفاده کرد :



?TempVars("gtvUserFolder").Value



می توان با تکرار  از طریق مجموعه TempVars،  نام و مقادیر تمام متغیرهای global که در آن قرار داده اید را مشاهد کنید. ( دو پراپرتی Name و Value فراموش نشود !!! )



For Each gtv in TempVars

'Your Code 

Next




می توان کدهای هر خط بالا را پشت سرهم نوشت ولی باید بین هرکدام از جداکننده : استفاده کرد




استفاده از متغیرهای موقت global در عبارات ( Expressions ) :


در هر جایی از Expresdions می توان استفاده کرد.برای مثال می توان مقدار کنترل تکست باکس Unbound ( محدود به جایی نیست مثل جدول یا کوئری ) را در فرم  تنظیم کنید تا با فعال کردن Property sheet و تایپ موارد زیر در ویژگی ControlSource تکست باکس ، مقدار متغیر global نمایش داده شود :


=[TempVars]![gtvCompleted]



همچنین می توان از متغیر موقت برای ارسال شرط انتخابی به پرس و جوها استفاده کرد : 



SELECT * FROM Orders WHERE Order_Date = TempVars!gtvEndDate




حذف متغیر موقت از شئ مجموعه TempVars : 



زمان انجام کار با متغیر و اتمام کار می توان آن را از این مجموعه با متد Remove  پاک کرد : 


TempVars.Remove "gtvUserFolder"



برای بررسی تعداد اشیاء TempVar در مجموعه TempVars از ویژگی Count استفاده کنید ، در پنجره Immediate : 



?TempVars.Count



نهایتاً برای حذف سریع تمام متغیرهای global از متد RemoveAll استفاده کنید : 


?TempVars.RemoveAll







15 اسفند ۱۴۰۱ : 





به گزارش هاآرتص، طی هفت سال گذشته ۹۲ پرواز باری میان یک پایگاه هوایی اسرائیل و باکو برای صادرات تسلیحات صورت گرفته است. اسرائیل در ازای دریافت نفت و نزدیکی به ایران، میلیاردها دلار تسلیحات به آذربایجان تحویل می‌دهد.



آگهی فروش تیگو ۸ پرو را در یک بیلبورد تبلیغاتی بغداد می‌بینید. قیمت نقدی این خودرو در بغداد ۲.۵ میلیون دینار معادل ۹۶۰ میلیون تومان است. در حالی که این خودروی چینی در ایران به قیمت ۳.۳ میلیارد تومان به فروش می‌رسد!





البته با دینار ۴۳۵ ریال محاسبه کنیم ۹۶۰ میلیون نمیشه 




به گزارش خبرنگار انتظامی خبرگزاری فارس، سردار سعید منتظرالمهدی در تشریح جزئیات خبر فوق اظهار داشت: در پی مسمومیت تعدادی از دانش آموزان مدارس طی روزهای اخیر در سطح استان فارس، شناسایی و دستگیری عاملان این موضوع به صورت ویژه در دستور کار ماموران انتظامی قرار گرفت.

وی ادامه داد: تحقیقات فنی و اطلاعاتی پیرامون این موضوع ادامه داشت تا اینکه ماموران  اطلاعات فرماندهی انتظامی شهرستان لارستان با همکاری ماموران اطلاعات سپاه ۵ نفر را در این خصوص شناسایی و دستگیر کردند.‌

سخنگوی فراجا با بیان اینکه افراد دستگیر شده دو مرد ۵۰ و ۲۲ ساله و سه  خانم  که یکی از آنان دانش آموز مردودی ۲۱ ساله بوده اند، تصریح کرد: این افراد به صورت تیمی اقدامات خود را انجام می داده اند و طی روزهای اخیر با پرتاب گاز نیتروژن به داخل ۷ مدرسه در شهرستان لارستان باعث مسمومیت ۵۳ نفر از دانش آموزان شده بودند.




بازیگر سریال شهباز ( امنیتی - تخیلی )




۱۸ اسفند ۱۴۰۱ : پخش زنده در مترو بعلت تست دستگاه ها و نقص فنی




اکوایران: امروز در شبکه‌های اجتماعی عکسی دست به دست شده که نشان می‌دهد تصویر واگن بانوان در سایر واگن‌های مترو به صورت زنده پخش می‌شود. سرپرست مدیریت ارتباطات شرکت بهره‌برداری متروی تهران و حومه گفته این مساله بخاطر مشکل فنی بوده و مانیتورها در حال تست و تعمیر هستند.





در سال ۱۳۵۳ زمان محمدرضاشاه پهلوی



به دنیا آوردن نوزاد در کف حمام بعلت  تعجیل نوزاد 




۲۰ اسفند ۱۴۰۱ : 


سردار دوستعلی جلیلیان امروز در گفت‌وگو با خبرنگار  فارس در زاهدان اظهار کرد: ظهر دیروز ماموران انتظامی شهرستان گلشن در راستای تأمین نظم و امنیت  و در حین گشت زنی در حوزه شهرستان گلشن مورد هدف افراد مسلح ناشناس قرار می گیرند که در این درگیری مسلحانه متاسفانه سرهنگ دوم محسن پودینه و ستوانسوم احسان شهرکی به درجه رفیع شهادت نائل آمدند.




اسفندماه ۱۴۰۱ : دلار ۴۳ هزار تومان و حقوق کارگرساده حداقل ۵ میلیون





























نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد