PDA

View Full Version : سوال: سوال در مورد Adodc1.Recordset



zahedi121
چهارشنبه 18 خرداد 1390, 12:48 عصر
سلام
خیلی در مورد این دو سوال جستجو کردم ولی به نتیجه نرسیدم ، به هر حال ببخشید اگر تکراریه .

1- آیا با پرامتر filter میشه فیلدهای بین دوتاریخ شمسی را جستجو کرد ، یعنی فیلدی دارم که توسط کاربر تاریخ شمسی وارد میشود حالا میخوام گزارش رکوردهای بین دو تاریخ را بگیرم . ضمنا خواهش میکنم بصورت پارمتری ننویسید اسم تیبل tb1 است و اسم فیلد مورد نظر tr میخوام بین دوتار 014/01/1390 و 12/03/1390 گزارش تهیه کنم. (Adodc1.Recordset.filter )

2- این سوالم شاید خیلی کلی باشه ولی دنبال یک مرجع برای کار با فایلهای اکسس بصورت غیر از دستورات sql میگردم یعنی تمام پارامتر و دستورات Adodc1.Recordset را یاد بگیرم.

M.T.P
چهارشنبه 18 خرداد 1390, 15:02 عصر
StrSql = "tr > 1390/01/14 And tr < 1390/03/12"
یا اینکه از دستور Between استفاده کنید.

سوال دوم رو متوجه نشدم اکثر دستورات اکسس همون دستورات Sql هست.
اینم یک مرجع خوب برای دستورات Sql
http://www.w3schools.com/sql/default.asp

zahedi121
جمعه 20 خرداد 1390, 07:51 صبح
سلام
متشکرم ولی همانطور که گفتم من نمی خوام از دستورات sql استفاده کنم چون اصلا هیچی ازش نمی دونم ، نه از تنظیماتی که هنگام معرفی
پایگاه داده به وی بی باید انجام داد و نه از دستوراتش.
اگر ممکنه با همان دستور Recordset.filter و پارمترهای آن سورس بگذارید.
سوال دومم هم ادامه همین سواله چون با sql آشنا نیستم میخوام حداکثر استفاده را از دستورات Recordset بکنم ، کلا از موتور
Microsoft Access به جایsql server استفاده کنم.

انشاء ا... سر فرصت sql را هم یاد میگیرم که باعث زحمت نشه ;) ولی فعلا ممنون میشم کمک کنید.

Mr.Unknown
جمعه 20 خرداد 1390, 16:31 عصر
سلام.از این کد استفاده کنید
If Adodc1.Recordset.RecordCount <> 0 Then
Adodc1.Recordset.Filter = "Name Like '*" & text1.Text & "*'"
Else
MsgBox "sorry no match found, try again!!", vbExclamation
End If

zahedi121
شنبه 21 خرداد 1390, 07:36 صبح
سلام.از این کد استفاده کنید
If Adodc1.Recordset.RecordCount <> 0 Then
Adodc1.Recordset.Filter = "Name Like '*" & text1.Text & "*'"
Else
MsgBox "sorry no match found, try again!!", vbExclamation
End If
سلام
کد فوق فقط فیلدهایی که حاوی عبارت یا شبیه عبارت text1 را پیدا میکنه ، من فیلدهای بین دو تاریخ را میخوام.

Mr.Unknown
شنبه 21 خرداد 1390, 10:30 صبح
این مثال بود از کدی که جناب ستفاده M.T.P داد میتونید استفاده کنید.
strsql="Date > '" & text1.text & "' And Date < '" & text2.text & "'"
If Adodc1.Recordset.RecordCount <> 0 Then
Adodc1.Recordset.Filter = strsql
Else
MsgBox "sorry no match found, try again!!", vbExclamation
End If

zahedi121
یک شنبه 22 خرداد 1390, 10:19 صبح
این مثال بود از کدی که جناب ستفاده M.T.P داد میتونید استفاده کنید.
strsql="Date > '" & text1.text & "' And Date < '" & text2.text & "'"
If Adodc1.Recordset.RecordCount <> 0 Then
Adodc1.Recordset.Filter = strsql
Else
MsgBox "sorry no match found, try again!!", vbExclamation
End If

===
سلام
خب من که گفتم با sql آشنایی ندارم! با کد بالا با همان موتور jet 4.0 کار کنم ، تنظیم دیگری احتیاج نداره ؟

علاوه بر سوال فوق اگر بخوام adodc را فیلتر کنم و بعد به یک لیبل یکی از فیلد ها را اختصاص بدم چکار کنم . مثلا یک عدد تصادفی انتخاب بشه بعد از بانک اطلاعات با اون عدد فیلد اعداد من را فیلتر کنه و از ردیف انتخاب شده فیلد فال را به لیبل تخصیص بده.
(بانک اطلاعات دوتا فیلد داره یکی عدد و دیگری فال)

M.T.P
یک شنبه 22 خرداد 1390, 12:37 عصر
من نمی خوام از دستورات sql استفاده کنم چون اصلا هیچی ازش نمی دونم ، نه از تنظیماتی که هنگام معرفی
پایگاه داده به وی بی باید انجام داد و نه از دستوراتش.
دستورات کار با بانک اکسس همون دستورات Sql است.
شما می تونی بدون استفاده از فیلتر کردن از همون ابتدا رکوردست رو مطابق میل تون باز کنید.

در مثال زیر فرض رو بر این می گیریم که می خواهید از جدول فروش رکوردهای بین دو تاریخ رو استخراج کنید:
نام جدول: TblSells
نام فیلد تاریخ: FldDate
نوع فیلد تاریخ: Text



SELECT * FROM TblSells WHERE FldDate BETWEEN '1389/01/01' AND '1389/03/01'

look20
سه شنبه 24 خرداد 1390, 00:21 صبح
سلام دوست من
به پست دوم این تاپیک برو البته از دستور select استفاده شده بهتره از select استفاده کنی تا filter چون محدودیت داره
http://barnamenevis.org/showthread.php?221219-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88%DB%8C-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF%D9%87%D8%A7-%D8%A8%D8%B1-%D8%A7%D8%B3%D8%A7%D8%B3-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C
بهترین روش برای
جستجوی رکوردها بین دو تاریخ