PDA

View Full Version : راه حل ايجاد شماره رديف در فرم ها



bita_ziba77
یک شنبه 15 دی 1392, 13:30 عصر
با سلام
با توجه به نياز دوستان به ايجاد شماره رديف در فرم ها مي توانيد از روش ذيل استفاده نماييد:

1) يك ماژول ساخته و كد ذيل را در آن قرار دهيد

Public Function RowNum(frm As Form) As Variant
On Error GoTo Err_RowNum

With frm.RecordsetClone
.Bookmark = frm.Bookmark
RowNum = .AbsolutePosition + 1
End With

Exit_RowNum:
Exit Function

Err_RowNum:
If err.Number <> 3021& Then 'Ignore "No bookmark" at new row.
Debug.Print "RowNum() error " & err.Number & " - " & err.Description
End If
RowNum = Null
Resume Exit_RowNum
End Function


2) در فرم خود يك TextBox قرار داده و عبارت ذيل را به عنوان مقدار آن قرار دهيد:


=RowNum([Form])

با روش بالا حتي اگر رديف هاي مياني حذف شوند بعد از رفرش نمودن شماره رديف ها به صورت اتوماتيك مرتب مي گردند.

با تشكر

محمد2020
یک شنبه 15 دی 1392, 15:29 عصر
باسلام
این کار رو من در " سابفرم " انجام دادم ولی ارور میده. لطفاً راهنمایی کنید.

kaj3352409
جمعه 19 اردیبهشت 1393, 19:44 عصر
ولی من انجام دادم مشکلی نداشت

ATA_TABRIZ
یک شنبه 21 اردیبهشت 1393, 11:30 صبح
با سلام
هيچ مشكلي نداره خيلي عالي جواب ميده از دوست عزيزمان نهايت تشكر را دارم

محمد مهدی عاصی
سه شنبه 23 اردیبهشت 1393, 18:03 عصر
با سلام حتما امتحانش می کنم. بسیار مممنوننننم

محمد مهدی عاصی
جمعه 02 خرداد 1393, 19:24 عصر
امتحانش کردم خیلی هم خوشجل بود

abbasn
یک شنبه 25 خرداد 1393, 12:55 عصر
یه کار خیلی راحت
یه تکس باکس ایجاد کنید
در property sheet تکس باکس در قسمت control source عبارت 1= را تایپ کنید
سپس از تب Data قسمت Runinig sum رو بسته به نوع اگر در گروه هست group در غیر اینصورت over all کنید

abbasn
یک شنبه 25 خرداد 1393, 13:27 عصر
البته ببخشید این تکنیک برای report ها جواب میده

mohamad goodarzi
یک شنبه 25 خرداد 1393, 13:33 عصر
یه کار خیلی راحت
یه تکس باکس ایجاد کنید
در property sheet تکس باکس در قسمت control source عبارت 1= را تایپ کنید
سپس از تب Data قسمت Runinig sum رو بسته به نوع اگر در گروه هست group در غیر اینصورت over all کنید

دوست عزيز
اين روش فقط در ريپورت جواب مي دهد در فرم كارايي ندارد.