PDA

View Full Version : در مورد جستجو



PERSONAL.ATA
دوشنبه 23 اردیبهشت 1387, 20:13 عصر
اگر بخواهیم در فیلدی نام یک شخص را پیدا کنیم چه کدی را باید بنویسیم که اطلاعات شخصی وی را سریعا پیدا نمایید

ali_habibi1384
دوشنبه 23 اردیبهشت 1387, 20:21 عصر
منظورتون حتما رکورد بوده!
از filter یا find استفاده کنید .

مهران رسا
سه شنبه 24 اردیبهشت 1387, 08:50 صبح
اگر بخواهیم در فیلدی نام یک شخص را پیدا کنیم چه کدی را باید بنویسیم که اطلاعات شخصی وی را سریعا پیدا نمایید


می تونی از یک حلقه استفاده کنی و دونه دونه ، کلید جستجو رو با مقادر موجود در فیلد نام مقایسه کنی .

مثلاً اینطوری :



For j = 0 To Adodc1.Recordset.RecordCount
If Adodc1.Recordset.Fields("Name") = Trim(Text1.Text) Then
Msgbox Adodc1.Recordset.Fileds("Name")
Exit Sub
end if

Adodc1.Recordset.MoveNext
Next

ramsess
سه شنبه 24 اردیبهشت 1387, 15:36 عصر
این سه جستجوی استاندارده و اگه فیلد تکراری هم داشته باشی یکی یکی بهت نشون می ده
If Trim(Text1.Text) = "" Then
MsgBox "لطفا مقداري را براي جستجو وارد نماييد", vbOKOnly, "خطا"
Else
Data1.Recordset.FindFirst ("sharh'") & Text1.Text & "'"
If Data1.Recordset.NoMatch = True Then
MsgBox "چنين موردي يافت نشد!", vbOKOnly, "پيام"
End If
Do While Data1.Recordset.NoMatch = False
ramses = MsgBox("يافت شد مورد بعدي!", vbYesNo + vbQuestion + vbDefaultButton1, "فرشتگان نجات")
If ramses = vbNo Then
Exit Do
End If
Data1.Recordset.FindNext "sharh='" & Text1.Text & "'"
Loop
End If

ramsess
سه شنبه 24 اردیبهشت 1387, 15:42 عصر
ببخشید منظورم یه جستجو بود نه سه تا بد تایپ شد
ضمنا بانک رو اول ست می کنی بعد جدول رو انتخاب می کنی سپس یه dbgrid می آری و خاصیت دیتا سورس اون رو به data1 ست می کنی بعد هم هر مشکلی داشتی به من بگو در خدمتم

vbhamed
سه شنبه 24 اردیبهشت 1387, 18:51 عصر
سلام

1 - از Ado استفاده مي كني يا كنترل Data ؟
2 - مي خواي نتيجه فيلتر بشه يعني فقط ركوردهاي منطبق با جستجو نمايش داده بشه يا اينكه تو ليست كل ركوردها پيدا بشه و بره روش ؟

HjSoft
سه شنبه 24 اردیبهشت 1387, 20:49 عصر
مي توني از دستورات SQL استفاده كني ، منظروم از ADO است و كدي شبيه اين :

Adodc1.recordsource = "select * from TB1 where Filedname = "Text""
در اينجا TB1 همان Table شماست
Fieldname همان نام فيلد شماست

PERSONAL.ATA
چهارشنبه 25 اردیبهشت 1387, 19:53 عصر
در کد روبروErr قبل از نام روال قرار گرفته چه کاری را انجام ميدهد


On Error GoTo Err_OK_Click








If Not Reports![Sales By Year].blnOpening Then Err.Raise 0


در اکثر دستورات ديده ام از کلمه نات استفاده شده است مانند:کد روبرو چه نقشی دارد -1
چه نقشی دارد Err.Raise -2