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

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

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

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

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

شماره آیتم انتخاب شده در لیست باکس کمبو با ویژگی ListIndex




-برگرفته از داکیومنت سایت Office 



ویژگی ListIndex برای تعیین اینکه کدام آیتم در کمبوباکس انتخاب شده بکار می رود.



ویژگی ListIndex عدد صحیحی بین 0 تا تعداد کلی آیتم ها در لیست باکس یا کمبوباکس منهای یک است. مایکروسافت اکسس مقداراین  ویژگی را هنگام انتخاب آیتم در لیست باکس یا قسمت لیست باکسِ کمبوباکس تنظیم می کند.مقدار ویژگی ListIndex آیتم اول در یک لیست 0 است و مقدار دومی یک و همین طور ...


این ویژگی فقط با استفاده از ماکرو یا ویژوال بیسیک در دسترس است.می توان این ویژگی را فقط در نمای فرم ( Form View ) و نمای برگه داده ( DataSheet )  خواند.این ویژگی فقط خواندنی است و در دیگر نماها ( Views ) موجود نیست !!! 


مقدار ویژگی ListIndex نیز با تنظیم ویژگی BoundColumn روی 0 برای کمبو یا لیست باکس ، موجود است .اگر ویژگی BoundColumn روی صفر تنظیم شود فیلد جدول زیرینی که     به کمبوباکس یا لیست باکس آن محدود شده است ، دارای همان مقدار تنظیم ویژگی ListIndex است.


لیست باکس ها همچنین ویژگی MultiSelect دارند که به کاربر اجازه انتخاب چند آیتم از کنترل را می دهند. زمانیکه چندین انتخاب در یک لیست باکس انجام شوند ، با استفاده از ویژگی Selected کنترل می توان تعیین کرد کدام آیتم ها انتخاب شده اند. ویژگی Selected یک آرایه ای از مقادیر از صفر تا مقدار ویژگی ListCount منهای یک است . برای هر آیتم در لیست باکس ، چنانچه آیتم در حالت انتخاب باشد  ویژگی Selected ، ترو ( True )  است و اگر نباشد False ( عدد صفر )


Combobox1.Selected=Not Combobox1.Selected


مجموعه ItemSelected همچنین روشی برای دسترسی دادا در ردیف های انتخاب شده یک لیست باکس یا کمبو باکس را فراهم می نماید.


از مجموعه ItemSelected  همراه با ویژگی Column یا ItemData برای بازیابی داده ها از ردیف های انتخاب شده در یک لیست یا کمبو باکس استفاده نُمائید .برای فهرست یا لیست مجموعه ItemSelected می توان از عبارت  For Each ...Next استفاده کرد.


برای مثال ، اگر لیست باکسی از کارمندان در فرم دارید ، می توان مجموعه ItemSelected فهرست کرد و از ویژگی ItemData کنترل برای برگرداندن مقدار ستون محدود شده برای هر ردیف انتخاب شده در لیست باکس استفاده کرد.

برای فعال کردن چند انتخابی ردیف ها در یک لیست باکس ، ویژگی MultiSrlect را به Simple یا Extended تنظیم کنید.

مجموعه ItemSelected دو ویژگی Count و Item دارد بدون هیچ مِتُدی


برای انتخاب اولین آیتم در لیست باکس در یکی از رویدادها : 

Me.ComboBox1.ItemData(0)



Refer to the third column in your combo box. Column numbering is zero-based.


Combo1.Column(2)





۲۴ اسفند ۱۴۰۱ در تعقیب و گریز پلیس و قاچاقچیان در البرز : 

این مرکز اعلام کرد: مأموران برای توقف خودرو اقدام به تیراندازی می‌کنند که در حین تیراندازی 2 تیر اسلحه به طور سهوی به یک زن و یک دختر اصابت کرده که سریعاً پس از این حادثه به مرکز درمانی منتقل می‌شوند.






















persian-dance-azarahang













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 اسفند ۱۴۰۱ : 





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



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





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




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

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

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




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




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




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





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



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




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


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




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





























متد Shell.NameSpace




Shell.Application


یک شئ Folder برای پوشه مشخص شده ایجاد و برمی گرداند


retVal=Shell.NameSpace(vdir)


vDir : 

پوشه ای که در آن شئ Folder ایجاد می شود.می تواند رشته ای باشد که مسیر پوشه یا یکی از مقادیر ShellSpecialFolderConstants را مشخص می کند.  توجه کنید که نام های ثابت موجود در ShellSpecialFolderConstants در Visual Basic در دسترس هستند ، اما در VBScript یا  JScript موجود نیستند. در این موارد ، مقادیر عددی باید در جای خود استفاده شوند.


VB : 

Object reference to the Folder object for the specified folder. If the folder is not successfully created, this value returns null.


شئ Folder :


Represents a Shell folder. This object contains properties and methods that allow you to retrieve information about the folder.

The Folder object has these types of members:

یکی از متدها ParseName :


یک شئ FolderItem را که نشان دهنده یک آیتم مشخص است را ایجاد و برمی گرداند.







Set objFolder=objShell.NameSpace("C:\Windows")

if Not (objFolder Is Nothing) Then

Set objFolderItem=objFolder.ParseName("clock.avi")

'اضافه کردن کد در اینجا

Set objFolderItem=Nothing

End If


شماری از ویژگیهای شئ FolderItem :

GetFolder

GetLink

IsFileSystem

IsFolder

IsLink

Name

Path

Size

Type








شئ ImageFile




شئ ImageFile یک ظرف است . همچنین از فایل های تصویری از طریق متد LoadFile پشتیبانی می کند. شئ ImageFile را می توان با استفاده از WIA.ImageFile ساخت.


متدها : 

LoadFile

SaveFile

Saves the ImageFile object to the specified file.

ویژگی ها : 


FileExtension

Height

Width

HorizontolResolution

VerticalResolution


VerticalResolution

Retrieves the vertical pixels per inch of the image.

Width

Retrieves the width of the image in pixels.