مشكلي در اكسسAccess

dbboy

Member
با سلام .

من در اكسس فرمي دارم كه شامل چندين text box است .و يك دكمه .

من ميخوام از اين فرم به عنوان يك فرم دريافت اطلاعات براي گزارشگيري استفاده كنم . به اين

صورت كه اگر به عنوان مثال كاربر قسمت نام را پر كرد جستجو بر حسب نام صورت گيرد و يا اگر

هم نام و هم كلاس را پر كرد جستجو ي بر حسب نام و كلاس صورت گيرد و يا اگر سومين فيلد

را هم پر كرد بر حسب 3 فيلد با هم جستجو كند .

و به همين صورت اگر فيلدي پر بود در جستجو مد نظر باشد و اگر نبود جستجو دخيل نباشد .

ممنون ميشم اگه كسي كدي يا نمونه اي داره برام بفرسته يا راهنمايي در اين رابطه .
 

mazoolagh

Active Member
dbboy گفت:
با سلام .

من در اكسس فرمي دارم كه شامل چندين text box است .و يك دكمه .

من ميخوام از اين فرم به عنوان يك فرم دريافت اطلاعات براي گزارشگيري استفاده كنم . به اين

صورت كه اگر به عنوان مثال كاربر قسمت نام را پر كرد جستجو بر حسب نام صورت گيرد و يا اگر

هم نام و هم كلاس را پر كرد جستجو ي بر حسب نام و كلاس صورت گيرد و يا اگر سومين فيلد

را هم پر كرد بر حسب 3 فيلد با هم جستجو كند .

و به همين صورت اگر فيلدي پر بود در جستجو مد نظر باشد و اگر نبود جستجو دخيل نباشد .

ممنون ميشم اگه كسي كدي يا نمونه اي داره برام بفرسته يا راهنمايي در اين رابطه .

شما بايد يك فرم درست كني كه data source اون جدولت باشه و فيلدهايي رو كه ميخواي بعنوان نتيجه جستجو تعريف كني bound و اون سه فيلد رو بصورت unbound تعريف كني.
حالا در روتين onclick مربوط به دكمه جستجو مياي و اگر هر سه مقدار خالي بود كه يك پيغام خطا ميفرستي و روتين رو تموم ميكني (البته ميتوني در خود فرم با توجه به مقادير 3 فيلد اون دكمه رو disable - enable كني كه حرفه اي تر هست - يعني اگر هر سه فيلد خالي باشه اصلا دكمه جستجو كار نميكنه) در غير اينصورت مقدار فيلدها رو چك و در صورت خالي نبودن با هم and كني و نتيجه حاصل رو شرط فيلتر فرم كني!
کد:
[LEFT]
Private Sub do_filter_Click()
If Nz(Len(Text1), 0) + Nz(Len(Text2), 0) + Nz(Len(Text3), 0) = 0 Then
    MsgBox ("At least one field should be filled!")
    Me.FilterOn = False
    Exit Sub
Else
    AND_ = ""
    FILTER_ = ""
    If Nz(Len(Text1), 0) > 0 Then
        FILTER_ = " INSTR(Name,'" & Text1 & "')>0"
        AND_ = " AND "
    End If
    If Nz(Len(Text2), 0) > 0 Then
        FILTER_ = FILTER_ & AND_ & " INSTR(CLASS,'" & Text2 & "')>0"
        AND_ = " AND "
    End If
    If Nz(Len(Text3), 0) > 0 Then
        FILTER_ = FILTER_ & AND_ & " INSTR(TEACHER,'" & Text3 & "')>0"
        AND_ = " AND "
    End If
End If
Me.FilterOn = True
Me.Filter = FILTER_
End Sub[/LEFT]
 

جدیدترین ارسال ها

بالا