PDA

View Full Version : سوال: سطري نوشتن اعداد يا حروف درج شده دريك ستون ليست باكس



nazanin_90
جمعه 29 اردیبهشت 1391, 14:07 عصر
سلام
مي خواهم با كليك بر روي يك كمند باتن اعداد يا حروف ستون يك ليست باكس كه بصورت عمودي زير هم درج شده را بصورت يك سطر و با يك خط فاصله در كنار هم و در يك تكس باكس وارد نمايم .
از دوستان ممنونم راهنمائي فرمايند چه كدي براي انجام اينكار بايد بكار ببرم

با تشكر
كد زير را به صورت هاي مختلف امتحان كردم ولي جواب نداد


Dim i As Integer
For i = 0 To List1.ListCount
Text1 = "-" & List1.ItemData(i)
Next

ho3ein.3ven
جمعه 29 اردیبهشت 1391, 14:29 عصر
سلام به همین راحتی
Private Sub Command1_Click()
For i = 0 To List1.ListCount - 1
p = p & List1.List(i)
Next
Text1.Text = p
End Sub
موفق باشید

محسن واژدی
جمعه 29 اردیبهشت 1391, 16:11 عصر
سلام
با اجازه جناب ho3ein.3even
کد درست است فقط اگر یک فاصله هم اضافه کنیم کاملتر میشود:

Private Sub Command1_Click()

For i = 0 To List1.ListCount - 1
p = p & List1.List(i) & " "
Next

Text1.Text = p
End Sub

موفق باشید

nazanin_90
جمعه 29 اردیبهشت 1391, 17:29 عصر
با سلام و تشكر از پاسخ سريع و صحيح دوستان بزرگوار
راستش اين كد را براي انجام كاري در محيط اكسس ميخواهم. همانطور كه دوستان هم استحضار دارند معادل List1.List در اكسس List1.ItemData مي باشد و در اين قسمت با جايگزيني آن همان جواب گرفته ميشود.
در ستون ليست باكس سه آيتم table3,table2,table1 وجود دارد كه با با استفاده از كد شما دوستان و تغييرات جزئي در آن بصورت زير


For i = 0 To List1.ListCount - 1
p = p & "," & """" & List1.ItemData(i) & """"
Next
Text1 = Trim(Right(p, Len(p) - 1))
BE_TABLES = Array(Text1)


text1="Table1","Table2","Table3"
كد مورد نظر را وقتي بصورت
BE_TABLES = Array("Table1", "Table2", "Table3") مينويسم به جواب مي رسم ولي وقتي با استفاده از كد بالا آن را بصورت BE_TABLES=array(text1) مينويسم خطاي نشناختن table3,table2,table1 صادر ميشود.
در كل مي خواهم بجاي نوشتن تك تك جدول ها در كد فوق همان text1كه همان خروجي را دارد بكار ببرم
باتشكر

محسن واژدی
جمعه 29 اردیبهشت 1391, 17:49 عصر
سلام
در تابع Array فقط میتوانیم لیست را در زمان طراحی تعریف کنیم، و در run-time این امکان برای تابع وجود ندارد
در عوض بایستی از متغیرهای آرایه برای افزودن مقدار جدید استفاده کنیم، مانند نمونه زیر:
Dim arrArray()
Private Sub Form_Load()
ReDim arrArray(0)
End Sub

Private Sub Command1_Click()

If arrArray(0) > "" Then
ReDim Preserve arrArray(UBound(arrArray) + 1)
End If

arrArray(UBound(arrArray)) = "New member"
Caption = UBound(arrArray) + 1
End Sub