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

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

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

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

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

Row/Rows/Min/Indirect/RandBetween




برگشت تعداد ردیف ها در یک رفرنس 



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



برگشت کوچکترین مقدار در یک دسته 



برگشت رفرنس مشخص شده به حالت رشته متنی 


The Excel INDIRECT function returns a valid reference from a given text string




در اکسل اگر بخواهید در فرمول خاصی ، رنجی را بگنجانید از Indirect استفاد می کنید چون در حالت عادی نمی توانید در سل خاصی رفرنسی را بنویسید و در فرمول دیگر به آن ارجاع بدهید .



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


وقتی شما شماره ای در کالمن B بالای Total (در کالمن A ) قرار بدهید ردیف ایجاد و کرسر به کالمن A روی ردیف ایجادشده خواهد رفت.



(Private Sub Worksheet_Change(ByVal Target As Range
If Target.Column <> 2 Then Exit Sub
If Cells(Target.Row, 2).Offset(1, -1) = "Total" Then
Rows(Target.Row + 1).Insert
Cells(Target.Row + 1, 1).Select
End If
End Sub

بازیابی ردیف های رکوردست



Recordset.GetRows


از متد GetRows برای کپی کردن یک یا چند رکورد از رکوردست استفاده می شود و سریعترین راهیست  که به یکباره میتوان آنها را گرفت و بعد آرایه ی دوبعدی ساخت ، خروجی تابع آرایه ی دو بعدیست البته طبق داکیومنت اکسس که اولی فیلد و دومی شماره ردیف است . 


(varRecords(intField, intRecord


طبق تصویر پائین دومی Start و سومی شماره ی ردیف

 است


(array= recordset.GetRows(Rows, Start, Field




"strSQL="SELECT FirstName,LastName,Title FROM Employees
(Set rstEmployees=CurrentDb.OpenRecordset(strSQL,dbOpenSnapshot
(varRecords = rstEmployees.GetRows(3
intNumReturned = UBound(varRecords, 2) + 1
intNumColumns = UBound(varRecords, 1) + 1



-یا کد زیر را در نظر بگیرید که رکوردها را داخل آرایه می ریزد.
Dim Values As Variant
Values=Rs.GetRows

مثال زیری باز کردن رکوردست به اسم recSales و استفاده از Ubound برای گرفتن
بالاترین عدد آرایه هم تعداد فیلدها هم تعداد ردیف ها

(2)varValues = recSales.GetRows
    (intFieldCount = UBound(varValues, 1
   (intRowCount = UBound(varValues, 2
گام بعدی ایجاد لوپ در RowCount و دوباره ایجاد لوپ در FieldCount و گرفتن دیتاهای رکورد