View Full Version : سوال: جستجوی پیشرفته
  
ashakibi
شنبه 14 مرداد 1391, 17:33 عصر
با سلام
من می خوام توی یه فرم یه جستجوی پیشرفته درست کنم یعنی با یک دکمه جستجو بتونم چندین حالت رو جستجو کنم. به اینصورت که چند Textbox دارم . text1 نام text2 نام خانوادگی text3 میزان تحصیلات text4 شغل باشه . حالا یک دکمه جستجو دارم که هر چی تو این تکست باکس ها نوشته رو جستجو کنه و اگر تو یکی از textbox ها خالی باشه جستجوی اون رو انجام نده . مثلا من می خوام افرادی که اسمشون علی و میزان تحصیلات لیسانس باشه رو  جستجو کنم text 1  و text3  رو پر می کنم  و text2 و text4 رو خالی میزارم. حالا نتیجه تو مثلا یه دیتا گرید نشون داده بشه.
با تشکر
butterfly8528
شنبه 14 مرداد 1391, 18:10 عصر
سلام دوست عزيز .
لطفا به جاي ايجاد تاپيك هاي تكراري جستجو كنيد .
نقل قول: فیلتر کردن بر اساس چند آیتم (http://barnamenevis.org/showthread.php?254244-%D9%81%DB%8C%D9%84%D8%AA%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1-%D8%A7%D8%B3%D8%A7%D8%B3-%DA%86%D9%86%D8%AF-%D8%A2%DB%8C%D8%AA%D9%85&p=1134458&viewfull=1#post1134458)
 موفق باشيد .
ashakibi
دوشنبه 16 مرداد 1391, 13:51 عصر
با تشکر از راهنمایی خوبتون
اگر برایتان مقدور است طریقه این جستجو رو در کریستال رپورت 10 رو با یه مثال توضیح بدید. تشکر از پاسخ های فوری شما
ashakibi
سه شنبه 17 مرداد 1391, 20:20 عصر
کسی نیست جواب ما رو بده؟ چطور میشه بین کریستال ریپورت و vb  بوسیله شیخیز ارتباط برقرار کرد یعنی جستجوی adodc  ما در کریستال ریپورت نشون داده بشه
تشکر
mohammadriano
چهارشنبه 18 مرداد 1391, 11:46 صبح
Private Sub Command_Click()
Data1.RecordSource = "select * from table1"
Data1.Refresh
Dim X As String
Dim b As String
If O1.Value = False Then b = "Desc" ' desc search
End If
If (Text.Text <> "" And Combo.Text <> "") Then
If Combo.Text = "number" Then X = "number"
If Combo.Text = "date in" Then X = "datein"
If Combo.Text = "time in" Then X = "time"
If Combo.Text = "color" Then X = "color"
Data1.RecordSource = "select * from table1 where " + X + " like '" + Text.Text + "'" + " order by id " + b
Data1.Refresh
Text2.Text = Data1.RecordSource
Text3.Text = X + " = '" + Text.Text + "'"
End If
Data1.Refresh
L.Caption = Data1.Recordset.RecordCount
L.Visible = True
Label.Visible = True
End Sub
Private Sub Command3_Click()
On Error Resume Next
If Text3.Text <> "" Then
Adodc.Recordset.Filter = Text3.Text
Set DataReport1.DataSource = Adodc
DataReport1.PrintReport
End If
End Sub
ashakibi
چهارشنبه 18 مرداد 1391, 13:01 عصر
با سلام
این کد مربوط به دکمه جستجوی پیشرفته من هست. در هنگام اجرا این خطا رو میده
A Number, Currency Amount, Boolean, Date, Time, Date-Time, or String Is Expected Here
ممنون می شم اگه کسی این مشکلو حل کنه
با تشکر 
اینمم کد:
Private Sub Command6_Click()
 Dim strQuery As String
 Dim blnS As Boolean
     strQuery = "SELECT * FROM moein"
     Dim crApp As New CRAXDRT.Application
          Dim crRept As New CRAXDRT.Report
          Dim crDBTab As CRAXDRT.DatabaseTable
     
          If td1.Text <> "" And td2 <> "" Then
         
            strQuery = strQuery & " WHERE tarikh>='" & td1.Text & "' AND tarikh<='" & td2.Text & "'"
            blnS = True
        End If
 
    If Text1.Text <> "" Then
        If blnS Then
            strQuery = strQuery & " AND shahr='" & Text1.Text & "'"
        Else
            strQuery = strQuery & " WHERE shahr='" & Text1.Text & "'"
             blnS = True
        End If
    End If
    
    If Combo2.Text <> "" Then
        If blnS Then
            strQuery = strQuery & " AND roosta='" & Combo2.Text & "'"
        Else
            strQuery = strQuery & " WHERE roosta='" & Combo2.Text & "'"
             blnS = True
        End If
    End If
    
    
    If Combo3.Text <> "" Then
        If blnS Then
            strQuery = strQuery & " AND nz='" & Combo3.Text & "'"
        Else
            strQuery = strQuery & " WHERE nz='" & Combo3.Text & "'"
             blnS = True
        End If
    End If
    
    If Combo4.Text <> "" Then
        If blnS Then
            strQuery = strQuery & " AND nmz2='" & Combo4.Text & "'"
        Else
            strQuery = strQuery & " WHERE nmz2='" & Combo4.Text & "'"
             blnS = True
        End If
    End If
Adodc1.RecordSource = strQuery
Adodc1.Refresh
 Set crRept = crApp.OpenReport(App.Path & "\report2.Rpt")
  crRept.RecordSelectionFormula = strQuery
 For Each crDBTab In crRept.Database.Tables
           crDBTab.ConnectionProperties.Item("data source") = App.Path & "\db.mdb; Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=123"
           Next
           
30        frm_report.CrystalActiveXReportViewer1.ReportSourc e = crRept
40        frm_report.CrystalActiveXReportViewer1.ViewReport
          crRept.DiscardSavedData
50        Set crApp = Nothing
60        Set crRept = Nothing
    frm_report.Show
   
    
End Sub
ashakibi
پنج شنبه 19 مرداد 1391, 11:50 صبح
کسی نیست جواب ما رو بده ؟ :گریه::گریه:
sajad_boj70
پنج شنبه 16 شهریور 1391, 19:19 عصر
این کد میتونه کمکت کنه.
"SELECT * FROM table1 WHERE Name like'%" & Text1.Text & "%' And family like'%" & Text2.Text & "%' And [father name] like'%" & Text3.Text & "%' and [sh-sh] like '" & Text4.Text & "%'"
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.