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

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

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

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

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

ویندوزمسیج( ScrollBar ) حرکت اسکرول در واحد Unit

SendMessageA HandleWindow,WindowseMessage,Wparam(ScrollBar

Constants),lparam:Null 





ایجاد گالری در فرم اکسس

Access Attachment Gallery


MultipleImage




  img()                array :  Store Image name

Redim Preserve : Store Image  Name In Array  Through  Loop In Image Folder Using Dir

( image.Tag ( Store Img Number

Loop In Image Control And Set Picture Property To Specified Path And Image Name 









First Imaging Then Executing


ImageControl: Image0 Till Image4

ImageCount :In Folder icofolder=13

Next : Tag=Tag+1

1-5

2-6

3-7

4-8

5-9

6-10

7-11

8-12

Previous : Tag=Tag-1

7-11

6-10

5-9

4-8

3-7

2-6

1-5

0-4

 Last : Tag=(ImageCount-1)-4+i

8-12 

 First : Tag=I

0-4


For Each Ctl In Me.Detail.Controls

.

.

.

i=i+1

Next

ImageCount=i

تغییر نام ( جدول ، فرم ، گزارش )



Docmd.Rename  NewNameObjectTypeOldName

Docmd.CopyObject  ObjectName

Docmd.DeleteObject  ObjectName


Type Of Object ... acObjectType


SetParameter برای فرم یا گزارش


Commands And Functions


.RefreshRecord (DoCmd) Refresh the data in a form.
.Rename (DoCmd) Rename an object.
.RepaintObject (DoCmd) Complete any pending screen updates.
Replace Replace a sequence of characters in a string.
.Requery Requery the data in a form or a control.
.Restore (DoCmd) Restore a maximized or minimized window.
RGB Convert an RGB color to a number.
Right Extract a substring from a string.
Rnd Generate a random number.
Round Round a number to n decimal places.
RTrim Remove trailing spaces from a string.
.RunCommand Run an Access menu or toolbar command.
.RunDataMacro (DoCmd) Run a named data macro.
.RunMacro (DoCmd) Run a macro.
.RunSavedImportExport (DoCmd) Run a saved import or export specification.
.RunSQL (DoCmd) Run an SQL query.



.SetOrderBy (DoCmd) Apply a sort to the active datasheet, form or report.
.SetParameter (DoCmd) Set a parameter before opening a Form or Report.
.SetWarnings (DoCmd) Turn system messages on or off.
Sgn Return the sign of a number.
.ShowAllRecords(DoCmd) Remove any applied filter.
.ShowToolbar (DoCmd) Display or hide a custom toolbar.
Shell Run an executable program.

جداکردن کاراکترهای با رنگ فونت مشخص درText رنج


Extract Color Text / Rng As Range



(xValue=Rng.Text  (Formatted Text

  (For........Next .....  Len(xValue

Rng.Characters(i,1).Font.Color=VbRed

(Out=Out& Mid(xValue,i,1





تابع چک کردن Special Character

منبع : اینترنت 


The following function helps Excel identify if a character is a special character, like #, @, and !
Function IsSpecial(strValue As String) As Boolean
Dim intPos As Integer
(For intPos = 1 To Len(strValue
(Select Case Asc(Mid(strValue, intPos, 1
Case 33 To 47, 58 To 64, 91 To 96, 123 To 126
IsSpecial = True
Case Else
IsSpecial = False
Exit For
End Select
Next
End Function

تغییر فونت یا رنگ کاراکتر در اکسل


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






در رویداد  SelectionChange 


Target.Characters(....).Font.Color/ColorIndex


کد اسکی اعداد در اینترنت هست ، قسمت Numpad هم کد جداگانه دارد و لوپ زدن در طول رشته در سل انتخابی



در ماژولتون و رویداد تغییرانتخابی  در رنج و سل مورد نظر(Cel.Characters(i,1 داخل طول کاراکتر رنگ فونت کاراکتراگر کد اسکی آن برابر عدد بود  را عوض می کنید ( راهنمایی بسیار ارزنده ) 


 چک میکند اگر کاراکتر فرضا [Like [0-9 یا اسکی کد آن با جدول بالا یکی بود فونت آن کاراکتر تغییر بنماید.

جدا کردن عدد از رشته



"String= "A1B2C3D4

      تصور کردیم و بعد اجرا البته کد در نت زیاده       


1-لوپ زدن در طول String بالا با دستور For...Next و تابع Len 

2-استفاده از تابع Mid و البته قبل از آن تعریف متغیری از نوع Boolean که اگر کاراکتر عددی در String پیدا کرد True شود ( استفاده از تابع IsNumeric برای چک کردن عددی بودن کاراکتر ) و در متغیر دیگر Store شود 



در طول رشته حرکت میکند یک کاراکتر یک کاراکتر اگر عدد بود در متغیری ذخیره می کند اینجا همان Ret است  و حلقه تا زمانی ادامه پیدا میکند که متغیر تعریف شده ( i )  از نوع Integer یا Long با طول رشته که در اینجا با تابع Len بدست آمده و هشت است برابر شود 


تابع Mid کاراکتر یا کاراکترهای موردنظر شما را در رشته برمی گرداند قسمت اول نام رشته قسمت دوم آن Start منظور از کدام کاراکتر شروع شود و قسمت سوم آن طول یا تعداد کاراکترکه باید برگرداند است 





(Len(String

CheckDigit As Boolean

((IsNumeric(Mid(String,i,1

(Ret=Ret & Mid(String,i,1


 : Subsequently

Ret=1234

جداکردن حرف یا عدد با RegEx


 




("Set RE = CreateObject("vbscript.regexp



نمادهای استفاده شده در Like

علامت !  منظور مخالف 

علامت * هر کاراکتر یا عدد 

علامت [] در این بازه تک کاراکتر فرضا  *[Like  [!a-c  بغیر از آنهایی که  کاراکتر اولشون با a یا b یا c شروع شده باشد یعنی کاراکتر اولشون شامل a تا  c نباشد 

علامت # اعداد 

علامت ?  تک کاراکتر 


در VBA : 


Single Character Example 


if Not Varx Like "[0-9][4-5]*" Then 



در Input Mask 

0  ورود عدد اجباری 

9 ورود عدد اختیاری 

L ورود حروف و اجباری 


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


*[?]* 


اضافه کردن تصویر به Image Gallery


Insert Image 



متد اضافه کردن یا حذف در VBA




منابع Share شده در دیتابیس ImageGallery


محتوی تم ها و تصاویر ذخیره شده 







اعتبارسنجی Validation Rule : کنترل ورودی دیتا ( داده )


جلوگیری از ورود ساعت کوچکتر  از  01:15:00  پی ام  ( PM )

ایجاد فیلد با تایپ  Date/Time 

تنظیم پراپرتی Format به Medium Time 

تنظیم پراپرتی Input Mask یا الگوی ورودی به ال ال <\  00:00  ال ال ( LL  )

تنظیم  پراپرتی ValiDation Rule به #01:15:00PM#<






زوم تصویر و اسکرول ( کشیدن به بالا پایین چپ یا راست ) در فرم اکسس

VbKeyAdd

VbKeySubtract

VbKeyLeft,VbKeyRight,VbKeyDown,VbKeyUp


 : Zooming

Image.Width=Image.Width+100

Image.Height=Image.Height+100


 : Scrolling

L=L-(Image.Width/Image.Height)*100

L=L+(Image.Width/Image.Height)*100

R=R-(Image.Width/Image.Height)*100

R=R+(Image.Width/Image.Height)*100