الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Invalid Row Value

بدأه يوسف مكاوي في 1 ديسمبر 2008 · 4 رد · 501 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

انا عضو جديد وقد قابلتني مشكة

لقد قمت بتصميم فليكس قرييد بداخلها check boxد

بحيث يتم اختيار عدة سجلات من خلال المستخدم وذلك عن طريق عمل check علي السجلات المطلوبة ثم تعديل قيمة حقل معين بقيمة معينة لكل السجلات المحدودة

والكود يقوم بالتعديل المظلوب ولكن يظهر في النهاية رسالة خطأ Invalid wor value

ولم اعرف كيف احلها

ارجو مساعدتي في ذلك

وهذا هو الكود الي تحدث تظهر فيه رسالة الخطأ

Private Sub OkCmd_Click()

Dim SqY As String

Dim i As Long

Set YSr = New ADODB.Recordset

If YSr.State <> 0 Then Rst.Close

SqY = "select * from BL_LAND_Form "

YSr.Open SqY, Cnn, adOpenDynamic, adLockOptimistic

'For i = 1 To frmBL_LAND_FORM1.datPrimaryRS.Recordset.RecordCount - 1 'm_rows - 1

For i = 1 To YSr.RecordCount - 1

With frmBL_LAND_FORM1.MSHFlexGrid1

.Row = i: .Col = 1

If frmBL_LAND_FORM1.MSHFlexGrid1.CellPicture = frmBL_LAND_FORM1.picChecked Then

If Option1.Value = True Then

frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 6) = Text1.Text

YSr.AbsolutePosition = frmBL_LAND_FORM1.MSHFlexGrid1.Row

YSr.Fields("kindno").Value = frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 6)

YSr.Update

Else

frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 14) = Combo2.ListIndex

YSr.AbsolutePosition = frmBL_LAND_FORM1.MSHFlexGrid1.Row

YSr.Fields("checked").Value = frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 14)

YSr.Update

End If

End If

End With

' Set frmBL_LAND_FORM1.MSHFlexGrid1.CellPicture = frmBL_LAND_FORM1.picUnchecked

Next

Unload Me

End Sub

#2

السلام عليكم...

أعتقد من الصعب التأكد مما يجري في هذا الكود لأنه يحتوي على متغيرات و مكونات لا نعرف محتواها.

سيكون من الأسهل إصلاح المشكلة إذا قمت بإرفاق المشروع و قاعدة البيانات مع مشاركة قادمة.

و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

هذا نسخ لمل الكود الخاص بالشاشة المطلوبة

Dim sTemp, YSr As ADODB.Recordset

Private Sub Combo1_Change()

Text1.Text = Get_Name((Combo1.Text), 1)

End Sub

Public Function Get_Name(Code As String, MoDe As Integer) As String

If Len(Code) > 0 Then

Select Case MoDe

Case 1

SQL = "SELECT KIndNo From BL_LAND_KIND_PER Where Kindtype= '" & Code & "' "

'

End Select

Set TmpRec = New ADODB.Recordset

TmpRec.Open SQL, Cnn, adOpenDynamic, adLockBatchOptimistic

If TmpRec.RecordCount = 0 Then

Get_Name = ""

Else

Get_Name = TmpRec.Fields(0)

End If

TmpRec.Close

Set TmpRec = Nothing

End If

End Function

Private Sub Combo1_LostFocus()

Text1.Text = Get_Name((Combo1.Text), 1)

End Sub

Private Sub Form_Activate()

Dim q As String

Set Rst = New ADODB.Recordset

If Rst.State <> 0 Then Rst.Close

q = "select KindType from BL_LAND_KIND_PER order by KindNo"

Rst.Open q, Cnn, adOpenStatic, adLockReadOnly

If Rst.RecordCount > 0 Then

Do Until Rst.EOF

Combo1.AddItem (Rst("KindType"))

' Combo1.ListIndex = Rst.Fields.

' Combo1.ItemData (FldRec(1))

Rst.MoveNext

Loop

End If

End Sub

Private Sub Form_Load()

'Center Me

Combo1.Enabled = False

Combo2.Enabled = False

End Sub

Private Sub OkCmd_Click()

Dim SqY As String

Dim i As Long

Set YSr = New ADODB.Recordset

If YSr.State <> 0 Then Rst.Close

SqY = "select * from BL_LAND_Form "

YSr.Open SqY, Cnn, adOpenDynamic, adLockOptimistic

'For i = 1 To frmBL_LAND_FORM1.datPrimaryRS.Recordset.RecordCount - 1 'm_rows - 1

For i = 1 To YSr.RecordCount - 1

With frmBL_LAND_FORM1.MSHFlexGrid1

.Row = i: .Col = 1

If frmBL_LAND_FORM1.MSHFlexGrid1.CellPicture = frmBL_LAND_FORM1.picChecked Then

If Option1.Value = True Then

frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 6) = Text1.Text

YSr.AbsolutePosition = frmBL_LAND_FORM1.MSHFlexGrid1.Row

YSr.Fields("kindno").Value = frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 6)

YSr.Update

Else

frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 14) = Combo2.ListIndex

YSr.AbsolutePosition = frmBL_LAND_FORM1.MSHFlexGrid1.Row

YSr.Fields("checked").Value = frmBL_LAND_FORM1.MSHFlexGrid1.TextMatrix(i, 14)

YSr.Update

End If

End If

End With

' Set frmBL_LAND_FORM1.MSHFlexGrid1.CellPicture = frmBL_LAND_FORM1.picUnchecked

Next

Unload Me

End Sub

Private Sub Option1_Click()

If Option1.Value = True Then

Option2.Value = False

Combo1.Enabled = True

Combo1.ListIndex = 0

Combo2.Enabled = False

End If

End Sub

Private Sub Option2_Click()

If Option2.Value = True Then

Option1.Value = False

Combo1.Enabled = False

Combo2.Enabled = True

End If

End Sub

#4

أخي ارفع مثال ... فهكذا لن نستطيع التعرف على المشكلة .. ولكنني اظن ان المشكلة هي انك تضع قيمة في حقل غير مناسب

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#5

على ما أعتقد والله اعلم ان المشكلة بتظهر معاك في هذا السطر

.Row = i: .Col = 1

تأكد من ان عدد الأسطر يعادل أو أكبر من القيمة الموجوده في المتغير i

على سبيل المثال إذا أرد الخروج من التكرار في حالة ان القيمة في المتغير i اكبر من عدد أسطر الجريد قم بوضع هذا السطر قبل السطر السابق ذكره

If i => .Rows Then Exit For

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

مواضيع مشابهة