View Full Version : یه اررور اعصاب خورد کن
khomar
شنبه 18 شهریور 1385, 00:20 صبح
کسی می تونه بگه وی بی این اررور خاطر چه چیزی میده؟
either bof or eof the current record has been deleted.
requested operation requires a current record.
امکانش هست به خاطر متفاوت بودن فونت های اکسس و وی بی باشه؟
یه موضوع دیگه این که من وقتی از طریق اکسس فیلد هامو پر می کنم بعد می یام تو وی بی سرچ می کنم اون اطلاعات رو بهم نشون می ده اما وقتی از طریق وی بی فیلدهای اکسس رو پر می کنم و می خوام سرچ کنم این اررور مزخرف سر و کلش پیدا می شه:عصبانی++: :عصبانی++:
Mehdi0016
شنبه 18 شهریور 1385, 11:59 صبح
منم همین مشکلو داشتم...البته فقط یه فیلد بود که عدد اعشاری داشت.
از آخر درست نفهمیدم مشکل از کجاست ولی آخرش با دستور insertinto توی رکورد جدید نوشتم و همه چیز درست شد .
khomar
شنبه 18 شهریور 1385, 13:05 عصر
با دستور insert into مشکلی ندارم عمل درج رو انجام می ده این ارروره تو دستوره search می یاد حالا من چه جوری درستش کنم؟ کسی نمی دونه من چیکار کنم ؟
khomar
شنبه 18 شهریور 1385, 13:11 عصر
البته تو دستور update هم اررور می ده در صورتی که هیچ مشکلی دستورم نداره اونم یه اررور مسخره می ده اگه کسی می دونه من باید چیکار باید بکنم لطفا بگه ممنون
khomar
شنبه 18 شهریور 1385, 15:15 عصر
یه چیزه دیگه من وقتی debug رو می زنم از این ایراد می گیره مثلا
Text2.Text = rs("id")
--------------------
Text2.Text = rs("id")
yavari
یک شنبه 19 شهریور 1385, 09:36 صبح
سلام
مسلما یه جای کار داره میلنگه ! کدتونو بذارین !!!
آخریه رو اینجوری بنویسید ببینید درست میشه !
Text2.Text = rs.Field("id")
موفق باشید
khomar
یک شنبه 19 شهریور 1385, 23:10 عصر
این کارو کردم درست نشد
khomar
یک شنبه 19 شهریور 1385, 23:28 عصر
اینم کد
Private Sub Command4_Click()
Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=d:\entesharat\entesharat.mdb"
cnn.Open
r = Text1.Text
rs.Open "select * from cd where code_cd='" + r + " '", cnn, adOpenDynamic
Text4.Text = rs("name_cd")
Text3.Text = rs("vertion")
Text2.Text = rs("tarikh")
Text5.Text = rs("tozihat")
DataCombo1.Text = rs.Fields("noe_cd")
Text1.Enabled = False
Text2.Enabled = True
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
DataCombo1.Enabled = True
cnn.Close
End Sub
البته بعضی جاها هم این اررور رو میده
item cannot be found collection corresponding to the
request name or ordinal
Form15.Text1.Text = rs("code")
اینم کد اررور بالایی
Private Sub Command4_Click()
Dim rs As New ADODB.Recordset
Dim rx As New ADODB.Recordset
Dim rz As New ADODB.Recordset
Dim cnn As New ADODB.Connection
cnn.Open "provider=microsoft.jet.oledb.4.0;data source=d:\entesharat\entesharat.mdb"
If Text1.Text <> Empty Then
r = Text1.Text
rs.Open "select * from darkhast where code=" + r + "", cnn, adOpenKeyset, adLockPessimistic, adCmdText
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
Text6.Enabled = True
Form15.Text2.Text = rs("code_cd")
Form15.Text3.Text = rs("family")
Form15.Text4.Text = rs("name_cd")
Form15.Text5.Text = rs("tarikh")
Form15.Text6.Text = rs("saat")
End If
If Text2.Text <> Empty Then
r = Text2.Text
rx.Open "select * from darkhast where code_cd='" + r + "'", cnn, adOpenKeyset, adLockPessimistic, adCmdText
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
Text6.Enabled = True
Form15.Text1.Text = rs("code")
Form15.Text3.Text = rs("family")
Form15.Text4.Text = rs("name_cd")
Form15.Text5.Text = rs("tarikh")
Form15.Text6.Text = rs("saat")
End If
If Text1.Text <> Empty And Text2.Text <> Empty Then
r = Text1.Text
x = Text2.Text
rz.Open "select * from darkhast where code=" + r + " and code_cd='" + x + "'", cnn, adOpenKeyset, adLockPessimistic, adCmdText
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
Text6.Enabled = True
Form15.Text2.Text = rs("code_cd")
Form15.Text3.Text = rs("family")
Form15.Text4.Text = rs("name_cd")
Form15.Text5.Text = rs("tarikh")
Form15.Text6.Text = rs("saat")
End If
cnn.Close
End Sub
نکته دیگه اینکه من این فیلد رو در جدولم دارم اما نمی دونم چرا می گه نمی تونه پیدا کنه !!!!
item cannot be found collection corresponding to the
request name or ordinal
و این اررور ها و مشکلات فقط در مورد رشته ها وجود داره و من توی عددها این اررورها رو ندارم و سرچ درست انجام می شه
Mehdi0016
دوشنبه 20 شهریور 1385, 01:24 صبح
برای رشته ها به جای = از LIKE استفاده کنید ، ببینید درست میشه .
در ضمن آیا این خطای اولی برای دیتای وارد شده با برنامه اس یا برای دیتایی که دستی وارد بانک میکنید و یا هر دو ؟
khomar
دوشنبه 20 شهریور 1385, 13:42 عصر
سلام
فرقی نمی کنه دو تا خطا در مورد دیتاهایی هست که از طریق خود وی بی می خوام وارد کنم وارد کردن داده ها به طور دستی به بانک ابرادی نداره در مورد like هم امتحان می کنم ببینم درست می شه یا نه سپاسگزارم .
Mehdi0016
دوشنبه 20 شهریور 1385, 17:23 عصر
دوست عزیز پس مشکل اصلی مربوط به ذخیره اطلاعات توی بانک هست و خطاهای جستجو و ... از تبعات اون هست .
بهتره روی فرم های ورود اطلاعات به بانک کار کنید نه خواندن اطلاعات از بانک
مثلا با روش insert into یا باز و بسته کردن recordset بعد از ورود اطلاعات و ...
khomar
دوشنبه 20 شهریور 1385, 17:35 عصر
یعنی recordset ro رو ببندم یا ممکنه جایی باز کرده باشم بعد نبسته باشم؟
مثلا cnn.close? منظورتون همین دستوره؟
khomar
دوشنبه 20 شهریور 1385, 18:31 عصر
من recordset ها و connection ها رو چک کردم اونجاهایی که باز بود و نبسته بودم رو بستم من هیچ وقت recordset ها رو نمی بندم اما چون شما گفته بودی امتحان کردم اما باز هم اررور ها وجود داره like هم کار ساز نشد علاوه بر این که رشته ها رو نشون نمی داد عددها رو هم سرچ نمی کرد در ضمن من اطلاعاتم رو با همین دستور insert into وارد می کنم
Hadi-123456
چهارشنبه 29 شهریور 1385, 21:42 عصر
سلام
چرا در برنامه Recordset ها را ست نکردی . شاید با این کار درست بشه....
مثال set rs=new adodb.recordset
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.