سلام دوستان:
Error کد زیر برای چیه؟
rstSerch.Open "SELECT Tb_Book.B_Code, Tb_Book.B_Publisher_Date_1 " _
& " FROM Tb_Book " _
& "WHERE (((Tb_Book.B_Code) Like Forms!frm_serch!txtCodeFind)"
سلام دوستان:
Error کد زیر برای چیه؟
rstSerch.Open "SELECT Tb_Book.B_Code, Tb_Book.B_Publisher_Date_1 " _
& " FROM Tb_Book " _
& "WHERE (((Tb_Book.B_Code) Like Forms!frm_serch!txtCodeFind)"
چه Error ی می ده اگر میشه توضیحات بیشتری بدین. یا اگر ممکنه نمونه بگذارید که خیلی بهتره.
rstSerch.Open "SELECT Tb_Book.B_Code, Tb_Book.B_Publisher_Date_1 " _
& " FROM Tb_Book " _
& "WHERE (Tb_Book.B_Code) Like " & Forms!frm_serch!txtCodeFind
درسته شاپرک. من اصلاً حواسم جایه دیگه است. منو باش
برای سادگی کار همیشه کوئری رو بطور گرافیکی طرحی کنید درنمای sqlview کدهای اون رو مشاهده کنید یاکپی کنید به ماژولها
دیدم مشکل جدیدم بی رابطه با عنوان تایپیک نیست گفتم همین جا مطرحش کنم.
ببخشید اگه میشه یه نگاه به این برنامه بکنید , نمیدونم مشکل چی هست که subForm فقط یک رکورد رو نشون میده؟به عنوان مثال کد 53 رو وارد کنید !
نمیدونم چرا زمان بایند کردن Erorr میگیره ؟(زمانی که با یهSELECT معمولی وارد میشم مشکلی نداره )
لطفا اگه مواردی هست که این سرچ رو بهتر میکنه دریغ نکنید.
این نمونه که با یه کم تغییر گزاشتم , مشکلی که داره اینه که رکوردست count=20 ولی یه رکورد در sub Form نشون میده؟
البته به اول sub boundDataFind کد زیر راه هم اضافه کردم ,حالا یه رکود رو در 20 تا سطر نشون میده؟
Set Me.subformSerch.Form.Recordset = rstSerch
جهت اطلاع دوستانی که ممکنه این مشکل بعدها براشون پیش بیاد:
جدولم رو از فایلServer به فایل Lib ایمپورت کردم:
یه subForm به صورت باند ساختم و در آخر رکورد سورس اون رو پاک کردم:
جدول رو از فایل lib پاک کردم و با دستور زیر رکوردستی که ساخته بودم رو به subForm نسبت دادم.
Set Me.subformSerch.Form.Recordset = rstSerch
امروز یه روش دیگه هم پیدا کردم که منطقی تر هستش:
با کد زیر خود subForm رو باند میکنی :
Set Me.subformSerch.Form.Recordset = rstSerch
و با این کد هر آجکتی رو که در subForm داریم رو باند میکنیم:
Me.subformSerch.Form.Controls.Item("txtFindB_Code" ).ControlSource = "B_code"
البته به جای کد دومی(باند کردن آجکت) میشه از این کد هم استفاده کرد:
Me.subformSerch.Form.Controls.Item("txtFindB_Code" ).ControlSource = rstSerch.Fields.Item("B_code").Name
فقط نمیدونم چرا نمیشه هیچ تغییری در متن txt ها بدم...انگار txt ها Locked شدن.
احتمال داره مشکل بالا از نحوه باز کردن رکوردست باشه:
rstSerch.Open "SELECT * From Tb_Book Where " & strWhere & " Order by Tb_Book.B_Code ; ", CnnSerch, adOpenKeyset, adLockOptimistic
یعنی کسی تا حالا یه subForm رو با رکوردست باند نکرده ؟
سلام دوستان:
پیرو مطالب قبل این تایپیک به این نتیجه رسیدم که اگه بشه RecordSource یه subFom رو از طریق vba ست کرد (البته به جداول خارجی) مشکل edit هم رفع میشه. حالا کسی میدونه به چه صورت میشه این پروپرتی رو ست کرد؟ با کد زیر که نمیشه .
Me.subformSerch.Form.RecordSource = rstSerch.Source
البته اگه کانکشن رو با CurrentProject.Connection ست کنیم با کد بالا میشه ولی چون جداول
ما در CurrentProject نیست و ما کانکشن رو با Application.CurrentProject.Path ست میکنیم
نمیشه.