قراردادن کنترل Page Break زیر تکست باکس و درنظر گرفتن تکست باکس برای کانتر یا شمارشگر
Me.pagebreakctl.Visible = (Me.txtLineCounter Mod 14=0
مثال زیر اکتیو کنترل را به متغیر ctlCurrentControl تخصیص میدهد و اعمال خاصی را بسته به Value ی خاصیت Name کنترل فوکس داده شده انجام میدهد.
Dim ctlCurrentControl As Control
Set ctlCurrentControl=Screen.ActiveControl
If ctlCurrentControl.Name="txtCustomerId" Then
انجام عمل خاصی وقتی فوکس به تی اکس تی کاستمرآیدی برسد
"ElseIf ctlCurrentControl.Name="btnCustomerDetail
Then
انجام عمل خاصی وقتی فوکس به باتن کاستمر دیتیل برسد
End If
تذکر : اگر فوکس به کنترلی انجام نشود در حال استفاده از ActiveControl یا اگر تمام کنترل های فرم هاید یا غیرفعال شوند خطا اتفاق می افتد
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
مثال بالا ارجاع میکند به کالمن یا ستون دوم و راو یا ردیف پنجم
Private Sub Form_Current()With Me![Subform].FormIf .RecordsetClone.RecordCount = 0 Then.Visible = FalseElse.Visible = TrueEnd IfEnd WithEnd Sub
Docmd.GotoRecod , , acNext
Docmd.GotoRecod , , acFirs
Docmd.GoroRecord , , acPrevious
Docmd.GotoRecord , , acLast
رفتن به رکورد بعدی
رفتن به رکورد اول
رفتن به رکوردقبلی
رفتن به رکوردآخر
Docmd.Runcommand accmdRecordsGoToNext
استفاده از کامندهایی که در نوار منو در اکسس ۲۰۰۲ وقبل تر بود
زمانیکه روی رکورد اول هستید و باتن رفتن به رکورد قبلی یا باصطلاح Previous را می فشارید اروری رایز میشود که برای جلوگیری از آن میتوان قبل از کد رفتن یه رکورد On Resume Next را نوشت یا گفت زمانیکه رکورد جاری بزرگتر از یک شد acPrevious انجام شود .
Me.RecordsetClone.MoveFirst
Me.RecordsetClone.MoveLast
Msgbox Me.RecordsetClone.RecordCount
رفتن به رکورد اول در رکوردست سابفرم
رفتن به رکورد آخر
مشاهده ی باکس پیام حاوی تعداد رکوردها
نشان دادن رکورد جاری Me.CurrentRecord از تعداد کل رکوردها در رکوردست سابفرم با استفاده از ایونت Current فرم
Text0=Me.CurrentRecord & "Of" & Me.RecordsetClone.RecordCount
Dim Ctl
For Each Ctl In Me.Controls
If Ctl.ControlType=acTextBox Then
Ctl=Null
End If
Next
مثال شمارش تعداد ro در رشته ی x
"X="Roturzrxro
اول در آوردن فاصله در طول رشته ی x اگر وجود داشته باشد
(""," ",Replace(x=
راه حل خیلی ساده استفاده از توابع Replace و Len
(" ","Len(x)-Len(Replace(x,"ro
طول رشته ی X میشود 10 و طول رشته در تابع Replace (جایگزینی فاصله بجای ro ) میشود 8
در نتیجه تفاضل آنها 2 میشود یعنی دو تا ro در رشته ی x وجود دارد.
در فرم اول در رویداد افترآپدیت تکست باکس
Tempvars.Add "Var1",Me!Text0
دستور باز شدن فرم دوم با
Docmd.OpenForm "Form2"
قراردادن در دیفالت ولیوی فرم دوم بعد از Open شدن
نوشتن در رویداد Open فرم
Me!Text0.DefaultValue=TempVars!Var1
اگر AutoNumber باشد که باید فیلد حذف و دوباره اضافه شود
عدم نمایش پیغام اکشن کوئری
Docmd.SetWarnings False
ریست کردن ردیف در سینگل فرم
Docmd.RunSql " Update Tbl Set Row=Row-1 Where Row>" & Me!Row
Docmd.SetWarnings True