View Full Version : سوال: جستجوی پیشرفته
ashakibi
شنبه 14 مرداد 1391, 16:33 عصر
با سلام
من می خوام توی یه فرم یه جستجوی پیشرفته درست کنم یعنی با یک دکمه جستجو بتونم چندین حالت رو جستجو کنم. به اینصورت که چند Textbox دارم . text1 نام text2 نام خانوادگی text3 میزان تحصیلات text4 شغل باشه . حالا یک دکمه جستجو دارم که هر چی تو این تکست باکس ها نوشته رو جستجو کنه و اگر تو یکی از textbox ها خالی باشه جستجوی اون رو انجام نده . مثلا من می خوام افرادی که اسمشون علی و میزان تحصیلات لیسانس باشه رو جستجو کنم text 1 و text3 رو پر می کنم و text2 و text4 رو خالی میزارم. حالا نتیجه تو مثلا یه دیتا گرید نشون داده بشه.
با تشکر
butterfly8528
شنبه 14 مرداد 1391, 17: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, 12:51 عصر
با تشکر از راهنمایی خوبتون
اگر برایتان مقدور است طریقه این جستجو رو در کریستال رپورت 10 رو با یه مثال توضیح بدید. تشکر از پاسخ های فوری شما
ashakibi
سه شنبه 17 مرداد 1391, 19:20 عصر
کسی نیست جواب ما رو بده؟ چطور میشه بین کریستال ریپورت و vb بوسیله شیخیز ارتباط برقرار کرد یعنی جستجوی adodc ما در کریستال ریپورت نشون داده بشه
تشکر
mohammadriano
چهارشنبه 18 مرداد 1391, 10: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, 12: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, 10:50 صبح
کسی نیست جواب ما رو بده ؟ :گریه::گریه:
sajad_boj70
پنج شنبه 16 شهریور 1391, 18: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.