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

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

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

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

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

گرفتن مقادیر انتخاب شده در لیست باکس Get List Of Selected Items In List Box


ControlName : List0

اگر خاصیت MultiSelect  از پراپرتی خود لیست باکس انتخاب شود ( Simple Or Extended )  با متد زیر مقادیر Bound Column لیست باکس صفر در پنجره ی Immediate Windo w محیط VBE لیست خواهد گردید. 


If Me.List0.ItemsSelected.Count>0 Then 

Dim VarItem As Variant

For Each VarItem In List0.ItemsSelected 

(Debug.Print List0.ItemData(VarItem

Next

End If

چنانچه لیست باکس چند ستونه باشد و بخواهید مقادیر  Column ها با توجه به Row انتخابی را بدست آورید باید بطریق ذیل عمل بنمائید 


 (Debug.Print   List0.Column(0,2 


که مقدارکالمن  0 و ردیف سوم  را برمی گرداند ایندکس ها از صفر شروع می شوند


 برای تعداد ردیف یا Row   

List0.ListCount            

Dim i 

For i=0 To List0.Listcount-1      

برای ستون یا Column

List0.ColumnCount


INDEX : یک  Long Integer که محدوده میتونه از صفر باشه تا ColumnCount منهای یک 

ROW : یک  Integer که محدوده میتونه از صفر باشه تا ListCount منهای یک 


صفر را برای ارجاع به ستون اول بکارمی برید یک برای ستون دوم و ....

صفر را برای ارجاع به ردیف اول بکار میبرید یک برای ردیف دو م و ....


(FORMS!CONTACTS!COSTUMERS.COLUMN(1,4


مثال بالا ارجاع میکند به کالمن یا ستون دوم و راو یا ردیف پنجم 



خالی کردن تکست باکس های داخل فرم ( سینگل )


Dim  Ctl

For Each Ctl In Me.Controls 

If Ctl.ControlType=acTextBox Then      

Ctl=Null             

End If     

Next


126 - acAttachment
   
'108 - acBoundObjectFrame
   
'106 - acCheckBox
   
'111 - acComboBox
   
'104 - acCommandButton
   
'119 - acCustomControl
   
'103 - acImage
   
'100 - acLabel
   
'102 - acLine
   
'110 - acListBox
   
'114 - acObjectFrame
   
'105 - acOptionButton
   
'107 - acOptionGroup
   
'124 - acPage
   
'118 - acPageBreak
   
'101 - acRectangle
   
'112 - acSubform
   
'123 - acTabCtl
   
'109 - acTextBox
   
'122 - acToggleButton
Go to the top of the page
 

شمردن کاراکتر خاص در طول یک رشته

مثال  شمارش تعداد ro در رشته ی  x 

"X="Roturzrxro

اول در آوردن فاصله در طول رشته ی x اگر وجود داشته باشد 

  (""," ",Replace(x=


راه حل خیلی ساده استفاده از توابع Replace و Len 

(" ","Len(x)-Len(Replace(x,"ro

طول رشته ی X میشود 10 و طول رشته در تابع Replace (جایگزینی فاصله بجای ro ) میشود 8  

در نتیجه تفاضل آنها 2 میشود یعنی دو تا ro در رشته ی x وجود دارد.



ریست کردن شماره ی ردیف در فرم سینگل


اگر AutoNumber باشد که باید فیلد حذف و دوباره اضافه شود 



عدم نمایش پیغام اکشن کوئری 

Docmd.SetWarnings False

ریست کردن ردیف در سینگل فرم 

Docmd.RunSql " Update Tbl Set Row=Row-1 Where  Row>" & Me!Row 

  Docmd.SetWarnings True