View Full Version : 1مشکل جستو جو در فرم و 2 خاصیت can grow در گزارش
bhd2013
یک شنبه 21 خرداد 1396, 20:55 عصر
سلام دوستان
دوتا سوال متفاوت داشتم
سوال1 :؟ در فرمی که در حالت Continuous Forms هست در رویداد on change تکستی عمل جستوجو را کد نویسی کردم ولی هنگام تایپ در تکست جستوجو با نوشتن هر هر حرف فوکس از تکست جستو جو خارج میشه چرا ؟؟؟؟
سوال 2 ؟ : در گزارش گیری با توجه به طولانی بودن فیلد شرح نامه خاصیت CanGrow آنرا را فعال کردم . حالا چطور بقیه فلید ها را با فیلد شرح نامه همانگ کنم تا هنگام اجرا ارتفاع یکسان داشته باشن (با توجه به فیلد شرح نامه اندازه ارتفاع فیلد ها متغییر باشن)
لطفا نمونه را ملاحضه فرمایید
ممنون
bhd2013
شنبه 27 خرداد 1396, 00:36 صبح
!!!!!!!!!!!!!!!!!!!!!؟:افسرده:
mazoolagh
یک شنبه 28 خرداد 1396, 11:40 صبح
در فرمی که در حالت Continuous Forms هست در رویداد on change تکستی عمل جستوجو را کد نویسی کردم ولی هنگام تایپ در تکست جستوجو با نوشتن هر هر حرف فوکس از تکست جستو جو خارج میشه چرا ؟؟؟؟
روش کلی اینجور هست که فرم جستجو هم باید unbound باشه.
نتایج جستجو هم باید در یک سابفرم (یا یک کنترل مثل listbox) نشون داده بشه که تغییر recordsource اون تاثیری روی فوکوس فرم جستجو نداشته باشه
در گزارش گیری با توجه به طولانی بودن فیلد شرح نامه خاصیت CanGrow آنرا را فعال کردم . حالا چطور بقیه فلید ها را با فیلد شرح نامه همانگ کنم تا هنگام اجرا ارتفاع یکسان داشته باشن
خیلی ساده و سرراست نشدنی هست اینکار - چرایی اش هم این هست که زمانی به ارتفاع کنترل دسترسی دارین که دیگه نمیشه ارتفاع کنترل ها رو تغییر داد
بجاش border فیلدهای دیگه رو transparent کنین
اما اگر خیلی اصرار دارین فیلدهای دیگه border با ارتفاع کنترل مورد نظر داشته باشن کافی هست با کد یک box دورشون بکشین
اما کار تمیزی نیست چون جدای از سربار کد ، محتوای فیلدها هم از نظر ارتفاع وسط چین نمیشه
bhd2013
سه شنبه 06 تیر 1396, 13:07 عصر
روش کلی اینجور هست که فرم جستجو هم باید unbound باشه.
نتایج جستجو هم باید در یک سابفرم (یا یک کنترل مثل listbox) نشون داده بشه که تغییر recordsource اون تاثیری روی فوکوس فرم جستجو نداشته باشه
اینا را انجام دادم (نتایج تو سابفرم نشان میده Continuous Forms فرم جستوجو هم UnBound هست) نشد که نشد تو OnChange تکست باکس جستو جو انجام نمیشه !!!!! ولی با باتون انجام میشه
من میخوام توی تکست باکس جستو جو کنم
لطف میکنید نمونه بالا اصلاح بفرمایید
ممنون
mazoolagh
چهارشنبه 07 تیر 1396, 12:58 عصر
برای فرم جستجو از نمونه پیوست استفاده کنین
145629
Option Compare Database
Option Explicit
Dim Scope()
Dim Q As String
Const SQLQ As String = "SELECT * FROM CUSTOMERS WHERE @fld LIKE '*@txt*'"
Private Sub ClearText_Click()
Me.SearchText = ""
Me.SearchText.SetFocus
SearchText_Change
End Sub
Private Sub FieldSelector_AfterUpdate()
Me.SearchText.SetFocus
SearchText_Change
End Sub
Private Sub FieldSelector_NotInList(NewData As String, Response As Integer)
Me.FieldSelector = 0
Response = acDataErrContinue
End Sub
Private Sub Form_Load()
Scope = Array("[CompanyName]", "[ContactName]", "[CompanyName]+'|'+[ContactName]+'|'+[ContactTitle]")
End Sub
Private Sub SearchText_Change()
Q = Replace(SQLQ, "@fld", Scope(Me.FieldSelector))
Q = Replace(Q, "@txt", Me.SearchText.Text)
Me.SearchResults.Form.RecordSource = Q
End Sub
saeed1234n
پنج شنبه 08 تیر 1396, 11:55 صبح
برای فرم جستجو از نمونه پیوست استفاده کنین
.
.
.
[/VB]
با سلام
با تشکر از جناب mazoolagh (http://barnamenevis.org/member.php?9893-mazoolagh)
روش جالبی بود
البته یک روش ساده تری نیز وجود دارد
http://yon.ir/6mrIc
bhd2013
پنج شنبه 08 تیر 1396, 16:04 عصر
با سلام
با تشکر از جناب mazoolagh (http://barnamenevis.org/member.php?9893-mazoolagh)
روش جالبی بود
البته یک روش ساده تری نیز وجود دارد
http://yon.ir/6mrIc
ممنونم از شما دوست عزیز و همچین جناب mazoolagh (http://barnamenevis.org/member.php?9893-mazoolagh)
در روش شما باید ساب فرم باند باشه
saeed1234n
پنج شنبه 08 تیر 1396, 16:35 عصر
ممنونم از شما دوست عزیز و همچین جناب mazoolagh (http://barnamenevis.org/member.php?9893-mazoolagh)
در روش شما باید ساب فرم باند باشه
سلام
لزوما نه
mazoolagh
سه شنبه 13 تیر 1396, 12:16 عصر
با سلام
با تشکر از جناب mazoolagh (http://barnamenevis.org/member.php?9893-mazoolagh)
روش جالبی بود
البته یک روش ساده تری نیز وجود دارد
http://yon.ir/6mrIc
سلام و روز خوش
همینجا هم میشد پیوست کنین
البته فقط یک روش دیگه بود (اعمال فیلتر بجای تغییر رکوردسورس) که ساده تر هم نیست برقضا
اول اینکه فیلتر در تعداد رکوردهای زیاد کندتر عمل میکنه و در شبکه این قضیه خودش رو نشون میده
ضمنا بجای استفاده از تکسباکس مخفی (که به اون هم نیاز نبود) میتونستین یک متغیر private تعریف کنین.
اگر واقعا قرار بود کد رو قدری ساده تر کنیم میتونستیم شرط رو مستقیما در rowsource کمبوباکس اضافه کنیم و به هیچ if یا select case هم نیاز نبود.
در هر صورت ممنونم از نظر لطفتون
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.