PDA

View Full Version : یه مشکله کوچولو



reza m
پنج شنبه 27 مرداد 1384, 14:19 عصر
سلام یه زیر برنامه هست که یه رکورد رو جستجو میکنه


Private Sub Command14_Click()
Dim s As String
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase("mybank.mdb")
Set rs = db.OpenRecordset("mytable", dbOpenDynaset)
s = InputBox("enter name to search")
s = "fname='" + s + "'"
rs.FindFirst s
If rs.NoMatch Then
MsgBox ("record not found")
Else
MsgBox ("record found")
Call print1(rs)
End If
db.Close
End Sub

وقتی تابع call print1 فراخوانی میشی این برنامه اجرا میشه


Private Sub print1(rs)
text1.Text = rs("fname")
text2.Text = rs("lname")
End Sub

اما موقع اجرا این error رو میده
you can't reference a property or method for a control unless the control has the focus
تو ویزوال بیسیک مشکلی نداره اما تو اکسس گیر میده ممنون میشم اگه منو راهنمایی کنید

sarami
پنج شنبه 27 مرداد 1384, 14:59 عصر
setfocus رو از روی text1 و text2 رد کن مشکیت حل میشه با دستور Me.Combo1.SetFocus
focus رو بروی یه کنترل دیگه بغیر از اون دوتا ببر

محسن تکنسین
پنج شنبه 27 مرداد 1384, 20:04 عصر
دوست عزیز مشکل شما خیلی جزئیه مشکل اینه که در ویژوال بیسیک ویژگی Text در صورتی که تکست باکس فوکوس باشد یا نباشد فرقی نمی کند اما در اکسس فرق می کنه . ویژگی Text در اکسس موقعی که فوکوس باشد استفاده می شه ولی ویژگی Value در هر صورت می توان از آن استفاده کرد پس شما باید پروسیجر Print1 را بدین صورت اصلاح کنید :


Private Sub print1(rs)
text1.VALUE = rs("fname")
text2.VALUE = rs("lname")
End Sub

reza m
پنج شنبه 27 مرداد 1384, 20:37 عصر
خیلی ممنون خوشحالم کردید مدتها گیر اون بودم تشکر

sarami
جمعه 28 مرداد 1384, 17:50 عصر
value یه مشکل کوچیک داره اونم اینه که بعضی مواقع وقتی مقدار داخل یه کنترل رو عوض میکنی اگه بخوای دوباره بخونیش مقدار قبلی رو نشون میده

محسن تکنسین
جمعه 28 مرداد 1384, 18:50 عصر
اگه تکست باکس فوکوس باشه و متن تکست باکس رو عوض کنی و از value استفاده کنی مطمئناً مقدار قبلی رو برمی گردونه به این دلیل که تکست باکس آپدیت نشده در این صورت باید از ویژگی text استفاده کنی اما اگه متن تکست باکس رو تغییر بدی و تکست باکس رو از فوکوس خارج کنی به هیچ وجه value اشتباه نمی کنه .