چطور میشه تعداد ردیفهای انتخاب شده را بدست آورد؟
سلام
در یک از فرم Sub-Form استفاده کردم که اطلاعات رو بصورت Datasheet نمایش میده و کاربر میتونه از طریق Navigation Buttons چندین ردیف رو در حالت انتخاب قرار بده. دستور Form.SelTop میشه شماره اولین ردیف رو بدست آورد ولی Form.SelHeight که باید تعداد ردیفهای انتخاب شده را برگرداند مقدار 0 را برمیگرداند. ویژگی DefaultView مربوط به Sub-Form روی Datasheet تنظیم شده. ممنون میشم اگر راهنمایی کنید که چطور میشه بین ردیفهای انتخاب شده در DataSheet یک حلقه جهت انجام عملیات اجرا کرد؟ تشکر
نقل قول: چطور میشه تعداد ردیفهای انتخاب شده را بدست آورد؟
نقل قول:
نوشته شده توسط
mmbguide
سلام
در یک از فرم Sub-Form استفاده کردم که اطلاعات رو بصورت Datasheet نمایش میده و کاربر میتونه از طریق Navigation Buttons چندین ردیف رو در حالت انتخاب قرار بده. دستور Form.SelTop میشه شماره اولین ردیف رو بدست آورد ولی Form.SelHeight که باید تعداد ردیفهای انتخاب شده را برگرداند مقدار 0 را برمیگرداند. ویژگی DefaultView مربوط به Sub-Form روی Datasheet تنظیم شده. ممنون میشم اگر راهنمایی کنید که چطور میشه بین ردیفهای انتخاب شده در DataSheet یک حلقه جهت انجام عملیات اجرا کرد؟ تشکر
با سلام
کدهای زیر رو در رویداد Form_MouseUp سابفرم درج بفرما و سپس با موس ردیف های مورد نظر رو انتخاب کن تا تعداد ردیف های انتخاب شده در تکست باکس txtSelected فرم اصلی قرار بگیرد
If Me.NewRecord = True Then
Me.Parent.txtSelected.Value = 0
Else
Me.Parent.txtSelected.Value = Me.SelHeight
End If
نقل قول: چطور میشه تعداد ردیفهای انتخاب شده را بدست آورد؟
سلام و روز خوش
البته این انتخاب رکوردها فقط میتونه پیوسته باشه
و اگر بخواین ناپیوسته انتخاب کنین اکسس پشتیبانی نمیکنه (Ctrl + Click) و باید یک راهکاری واسش پیاده کنین (اضافه کردن یک checkbox)
مورد بعدی این که به محض خروج از sub-form ، اطلاعات رکوردهای انتخاب شده از دست میره،
برای همین باید در main-form متغیری برای نگهداری اونها داشته باشین
که در رویداد exit از کنترل sub-form اونها رو آپدیت کنین - دقت داشته باشین که این رویداد exit در main-form هندل میشه.
نقل قول: چطور میشه تعداد ردیفهای انتخاب شده را بدست آورد؟
Option Compare Database
Option Explicit
Private Selection_Height As Integer
Private Selection_Top As Integer
Private Sub Btn_GO_Click()
Dim s As String
Dim i As Integer
With Me.Products_Subform.Form.RecordsetClone
.MoveFirst
.Move (Selection_Top - 1)
For i = 1 To Selection_Height
s = s + !ProductName + vbCrLf
.MoveNext
Next
End With
If s = "" Then
MsgBox "Nothing Selected", vbExclamation, ""
Else
MsgBox s, , "Selected Items"
End If
End Sub
Private Sub Products_Subform_Exit(Cancel As Integer)
With Me.Products_Subform.Form
Selection_Height = .SelHeight
Selection_Top = .SelTop
End With
End Sub
3 ضمیمه
نقل قول: چطور میشه تعداد ردیفهای انتخاب شده را بدست آورد؟
نقل قول: چطور میشه تعداد ردیفهای انتخاب شده را بدست آورد؟
ممنون جناب mazoolagh . نکتهی جالبی بود.