انتقال یک مقدار بین دو فرم اکسس

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

فرض کنید که فرمی شامل لیست پرسنل دارید و می خواهید با کلیک روی کد یک کارمند، در یک فرم جدید جزئیات اطلاعات کارمند نمایش داده شود.

برای انجام این کار باید کد کارمند کلیک شده از فرم لیست، به فرم جزئیات منتقل شود.

فایل پیوست این مقاله به روشی ساده این کار را انجام می دهد. دستور OpenForm قابلیت انتقال مقدار دارد. به طور مثال دستور زیر فرم frmTwo را باز می کند و مقدار Ali را به آن منتقل می کند.

DoCmd.OpenForm "frmTwo", acNormal, , , , acWindowNormal, "ali"

حال فرض کنید که می خواهید چند مقدار را به فرم منتقل کنید. برای انجام این کار به روش زیر عمل می کنید :

DoCmd.OpenForm "frmTwo", acNormal, , , , acWindowNormal, "value1=4:value2=ali"

 

همانطور که مشاهده می کنید، بین عنوان و مقدار علامت = گذاشته شده و بین دو مقدار علامت : گذاشته شده است. حال در فرم باز شده برای خواندن دو مقدار Value1 و Value2 یک تابع ساخته شده که با دادن رشته کلی منتقل شده و عنوان مورد نظر، مقدار آن را بر میگرداند.

Public Function GetTagFromArg(ByVal OpenArgs As String, ByVal Tag As String) As String
Dim strArgument() As String
strArgument = Split(OpenArgs, ":")
Dim i As Integer
For i = 0 To UBound(strArgument)
If InStr(strArgument(i), Tag) And InStr(strArgument(i), "=") > 0 Then
GetTagFromArg = Mid$(strArgument(i), InStr(strArgument(i), "=") + 1)
Exit Function
End If
Next
GetTagFromArg = ""
End Function
​​​​​​​
نویسنده : وحید فرزام
تاریخ انتشار : 1400-08-27 10:11:49
1854

0 نظر

user


تازه ترین ها