السلام عليكم
كيف نستعمل الindex خارج المصفوفة
حيث لدي مصفوفة فيها 100 تكست1 و لدي كوماند1 و تكست 2 ليس مصفوفة
فكيف اكتب تعليمة انه في التكست 2 اكتب رقم اندكس التكست1 الذي اريد ان تظهر فيه قيمة هي 12000
اي في تكست 2 اكتب 12
فيظهر لي التكست1 ذو الاندكس 12 و فيه القيمة 12000
صاير الكود بهذا الشكل :
كود :
p = Text1.Text
Text1.Text = p
On Error Resume Next
Data1.Recordset.OpenRecordset
Data1.Recordset.MoveLast
Text16.Text = Data1.Recordset.RecordCount
zzr = Text4.Text - 1
a1 = 0 + p
a2 = 25 + p
For v = a1 To a2
On Error Resume Next
Data1.Recordset.OpenRecordset
Data1.Recordset.MoveFirst
Data1.Recordset.Move (v)
i = Data1.Recordset.Fields!no
If i = v Then
Label3(v).Visible = True
Label4(v).Visible = True
Label3(v).Caption = Data1.Recordset.Fields!a
Label4(v).Caption = Data1.Recordset.Fields!b
Text2(v).Text = Data1.Recordset.Fields!a
Text3(v).Text = Data1.Recordset.Fields!b
Command2(v).Visible = True
Command3(v).Visible = True
e = e + 1
End If
If e = 26 Then
Command5.Visible = True
Command6.Visible = False
End If
Next v
السلام عليكم
- إذا كنت تريد إظهار التكست الذي تريد وضع فيه القيمه فقط والباقيه تكون مخفيه , فأستعمل الكود التالي :
كود :
Dim I as Integer
For I = 0 To 100
Text1(I).Visible = False
Next
Text1(Val(Text2.Text)).Visible = True
Text1(Val(Text2.Text)).Text = "12000"
- أما إذا أردت وضع القيمة مباشرة من غير إخفاء أو إظهار للتكستات , فهذا يكفي :
كود :
Text1(Val(Text2.Text)).Text = "12000"
- تحياتي .
يعني هنا ضمن الفور يوجد تعامل مع قاعدة البيانات و مع مصفوفات العناصر
VB_Coder كتب :السلام عليكم
- إذا كنت تريد إظهار التكست الذي تريد وضع فيه القيمه فقط والباقيه تكون مخفيه , فأستعمل الكود التالي :
كود :
Dim I as Integer
For I = 0 To 100
Text1(I).Visible = False
Next
Text1(Val(Text2.Text)).Visible = True
Text1(Val(Text2.Text)).Text = "12000"
- أما إذا أردت وضع القيمة مباشرة من غير إخفاء أو إظهار للتكستات , فهذا يكفي :
كود :
Text1(Val(Text2.Text)).Text = "12000"
- تحياتي .
اذا ما قمنا داخل الفور بقراءة قاعدة بيانات
فكانه لم يتعرف على قيمة الاندكس و هي Val(Text2.Text) في مثالك
السلام عليكم
- مالذي تريده بالضبط ، أو ماهي فكرة الكود لكي نعرف ماذا تريد ، ممكن نعطيك كود أفضل أو مختصر .
- تحياتي .
VB_Coder كتب :السلام عليكم
- مالذي تريده بالضبط ، أو ماهي فكرة الكود لكي نعرف ماذا تريد ، ممكن نعطيك كود أفضل أو مختصر .
- تحياتي .
هذه هي فكرة الكود
كود :
a1=0
a2=25
For v = a1 To a2
On Error Resume Next
Data1.Recordset.OpenRecordset
Data1.Recordset.MoveFirst
Data1.Recordset.Move (v)
i = Data1.Recordset.Fields!no
If i = v Then
Label3(v).Visible = True
Label4(v).Visible = True
Label3(v).Caption = Data1.Recordset.Fields!a
Label4(v).Caption = Data1.Recordset.Fields!b
Text2(v).Text = Data1.Recordset.Fields!a
Text3(v).Text = Data1.Recordset.Fields!b
Command2(v).Visible = True
Command3(v).Visible = True
e = e + 1
End If
If e = 26 Then
Command5.Visible = True
Command6.Visible = False
End If
Next v
و هذا الكود ينفذ بشكل خاطئ
شرحه انه 26 مرة افتح قاعدة بيانات و انتقل الى رقم السجل الذي يمثله v في كل مرة
ثم اخذ البيانات المطلوبة و عمل التالي :
كود :
Label3(v).Visible = True
Label4(v).Visible = True
Label3(v).Caption = Data1.Recordset.Fields!a
Label4(v).Caption = Data1.Recordset.Fields!b
Text2(v).Text = Data1.Recordset.Fields!a
Text3(v).Text = Data1.Recordset.Fields!b
Command2(v).Visible = True
Command3(v).Visible = True
آسف أتعبتكم معي و قد وجدت الحل و هو تغيير اول شرط و استبداله ب
If Data1.Recordset.EOF Then
Exit For
Else