PDA

View Full Version : سوال فوری در مورد اکسس 2007



sama84
یک شنبه 21 اسفند 1390, 09:39 صبح
با سلام
چطور می تونم محتوای 40 تا تکست باکس رو با هم جمع کنم با حلقه می خوام انجام بدم ولی نمیشه؟

ARData
یک شنبه 21 اسفند 1390, 15:16 عصر
اول بايد فيلدلتونو انديس گذاري نماييد نه انديس دستي بلکه بايد فيلدهارو از 1 تا 40 ه ترتيب الويتي Cut و Paste نماييد . يعني TabIndex کليه فيلدها از 0 تا چهل به ترتيب اولويتي توسط سيستم چيده بشه ....

بعد کد زيرو بايد اعمال کنيد :
Private Sub Command86_Click()
Dim mysum As Double
Dim I As Integer
For I = 0 To 39
Form.Controls(I).Value = Nz(mysum) + Form.Controls(I).Value
Next I
MsgBox mysum
End Sub

Abbas Amiri
دوشنبه 22 اسفند 1390, 00:11 صبح
با استفاده از خصوصیت Tag راحتتر است . تمام کنترلها را بانگهداشتن شیفت انتخاب کرده ، سپس در خصوصیت Tag آنها مقدار دلخواه را بنویسید ( دراینجا AddedTexts)


Dim ctl As Control, Total As Long
For Each ctl In Me.Controls
If ctl.Tag = "AddedTexts" Then
Total = Total + Val(ctl.Tag)
End If
Next

sama84
دوشنبه 22 اسفند 1390, 09:12 صبح
با سلام و تشکر
از اینکه جواب دادین ممنونم ، یه سوال tag چه کاری انجام می دهد؟ با تشکر فراوان

sama84
دوشنبه 22 اسفند 1390, 10:34 صبح
با سلام و تشکر
من کد شما (ardata) رو می زنم error می ده object doesnt support this property or method ضمن اینکه منظور دوست گرامیمونو از یه مقدار دلخواه در خصوصیت tag ktildnl?

Abbas Amiri
دوشنبه 22 اسفند 1390, 18:06 عصر
خصوصیت Tag بخودی خود کاری نمی کند .یک نوع شناسه است ولی منحصر بفرد نیست می توان یک مقدار را به مجموعه ای از اشیا نسبت داد نکته مهم در استفاده از آن زمانی است از اشیا دارای این خاصیت در حالی که به صورت متغیر پاس شده اند استفاده کرد .مانند استفاده از Collection ها ( استفاده از حلقه For Each ... Next) در مثال بالا فقط مقادیر کنترلهایی باهم جمع می شوند که Tag آنها برابر AddedTexts میباشد
84088

ARData
سه شنبه 23 اسفند 1390, 07:39 صبح
اين هم يه نمونه ديگه :