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

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

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

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

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

گرفتن مقدارفعلی گزینه های انتخاب در دایالوگ باکس Options



متد GetOption مقدار فعلی یک انتخاب در باکس Options را برمی گرداند (فرضا تیک خورده یا نخورده-انتخاب شده یا نشده ).اگر روی دکمه Options در سمت چپ و بالای پنجره اکسس کلیک کنید پنجره ای باز میشود که حاوی تنظیم هایی است فرضا رفتار Enter که به فیلد بعد برود یا رکورد بعدی.

متدهای GetOption و SetOption وسیله ای برای تغییر گزینه های احاطه  شده کد ویژوال بیسیک را ارائه می دهد.با این روش ها می توان هر انتخاب موجودی در دیالوگ باکس Options را خواند یا تنظیم کرد.




تائید تغییرات رکورد
تائید حذف اسناد
تائید پرس و جوهای اکشن مثل Append کوئری
"Confirm Record Changes"
"Confirm Document Deletions"
"Confirm Action Queries"

bAction = application.getoption("Confirm Action Queries"

application.setoption("Confirm Action Queries",bAction)


SetOption "Show Status Bar", True







Arr(0)= "Show Status Bar"

Arr(1)="Show Startup Dialog Box"

Arr(2)="Show New Object Shortcuts"

Arr(3)="Show Hidden Objects"

Arr(4)="Show System Objects"

Arr(5)="ShowWindowsInTaskbar"

Arr(6)="Show Macro Names Column"

Arr(7)="Show Conditions Column"


For i=0 To 7
On Error Goto Err
Debug.Print Arr(i) & "... " & GetOption """ & Arr(i) & """
Err:
Debug.Print Arr(i) & "Wrong Decleration"
Resume Next
DoEvents
Next


مهر ۱۴۰۲ طوفان الاقصی با بیش از ۳۰۰۰ کشته در غزه و حمایت بایدن از دفاع اسرائیل در برابر حماس ( بمباران بیمارستان معمدانی ، تخریب مساجد و مناطق مسکونی برای توهم فرضی  نابودی نیروهای پناه گرفته حماس(












SetOption , GetOption Method



از متدهای SetOption و GetOption برای تنظیم و گرفتن مقادیر انتخاب ( Option Box ) در جعبه دیالوگ Options استفاده کنید.برای مشاهده این دیالوگ باکس ، اول باتن Office  و سپس Access Options را کلیک نمائید.

مقداری که به متد SetOption بعنوان آرگومان  ارسال می کنید  بستگی به نوع گزینه ای دارد که تنظیم می کنید.


مثال : 


گرفتن مقدار :

Debug.Print Application.GetOption("Selection Behavior")

ارسال مقدار :

Application.SetOption "Selection Behavior", 1

مثال دیگر گرفتن فولدر پیش فرض دیتابیس

Application.GetOption("Default Database Directory")



خاموش کردن تنظیم اعلان های تائید تغییر رکورد ، حذف و کوئری های اکشن  یا استفاده از متد Docmd.SetWarnings False


Application.SetOption "Confirm Record Changes", False

Application.SetOption "Confirm Document Deletions", False

Application.SetOption "Confirm Action Queries", False






















Private Declare Function GetUserNameA Lib "advapi32.dll" Alias _
(ByVal lpBuffer As String, nSize As Long) As Long






SetOption جهت تنظیم مقادیر options در دیالوگ باکس Access Options مثل تغییر رفتن به رکورد دیگر یا خاموش کردن پیام های کوئری اپند


اگر چک باکس باشد از True و False استفاده می شود


Selection Behavior یا رفتار انتخاب در چک باکس


Application.SetOption "Selection Behavior", 1


آیتم زیر انتقال بعد از زدن اینتر اگر مقدار آرگومان دوم یک باشد وقتی در فیلد جدول اینتر بزنید به فیلد بعدی می رود بستگی به tab order دارد ولی اگر 2 باشد بعد از زدن اینتر به رکورد بعدی می روید.البته بعضی از آیتم ها مثل تغییر ریبون نیازمند بستن دیتابیس است و مستقیما اعمال نمی شود!!!


Application.SetOption("Move After Enter", 1) ' to set it to move to the next control

Application.SetOption("Move After Enter", 2) ' to set it to move to the next record


وقتی کوئری اپند را اجرا می کنید یا رکورد یا رکوردهایی را با کوئری delete حذف می کنید پیغام های اکسس مبنی بر اینکه مایلید یا خیر و ... نمایان می شود برای اینکه دیگر نمایش داده نشود در دیالوگ باکس Options تیک چک  موارد زیر باید برداشته شوند.معادل SetWarnings هستند 


Application.SetOption "Confirm Action Queries", 0 Application.SetOption "Confirm Document Deletions", 0 Application.SetOption "Confirm Record Changes", 0


برای compact  کردن در لحظه از SetOption یا سایر روش ها مستقیما نمی توان عمل کرد و دیتابیس را compact نخواهد کرد چرا چون اکسس اگر مشاهده کنید یک فایل دیگر با پسوند lccdb در کنار آن می سازد و قفل می شود و اجازه چنین کاری در این حالت داده نخواهد شد. خودش هم اگر می بینید گزینه ای در دیالوگ باکس با عنوان compact on close دارد مطمئن باشید که این compact را در دیتابیس دیگر که بسته است انجام می دهد و آنرا با دیتابیس شما عوض میکند بطوریکه ما کاربران از درک آن عاجز خواهیم بود. ( نکته  : زمانیکه دیتابیس باز است وقتی می خواهید عمل split انجام دهید حتما از بسته بودن اکسسی که share کردید اطمینان حاصل کنید چون باعث می شود درست کار نکند و زحماتتان به باد رود !!!  مخصوصا دستکارس در دیزاین آبجکت ها )



set-options-from-visual-basic