PDA

View Full Version : جست و جو در data base



sarire2000
چهارشنبه 26 فروردین 1388, 01:22 صبح
سلام خدمت همه
سلام خدمت همه شمایی که زکات علم خود را از طریق اموزش و ...
خوب حالا از منبر بیاییم پایین

یه سئوالی داشتم در مورد جستو جو در پایگاه داده
یک کلید و چهار تا textbox داریم که هر کدوم رو به چهار تا فیلد در پایگاه ربط دادیم به فرض مثال به نامهای(نام- فامیل-نام پدر-تاریخ)

حال اگر textbox1 نامی رو نوشتیم ان رو جست وجو کنه با زدن دکمه
حال اگر textbox2 فامیلی رو نوشتیم ان رو جست وجو کنه با زدن دکمه
حال اگر textbox3 نام پدر رو نوشتیم ان رو جست وجو کنه با زدن دکمه
حال اگر textbox4 تاریخ رو نوشتیم ان رو جست وجو کنه با زدن دکمه

یعنی اینکه هر textbox مستقل باشه و همه به هم ربط نداشته باشه
ولی اگر دو تا یا سه تا هر چهار تا رو پر کردیم بر اساس هر چهار تا جست و جو کنه و در datagrid نمایش بده
date

حال این برنامه هم هست که باید همه textbox ها رو پر کرد تا جست و جو کنه


Private Sub Label1_Click()
' Search By Find
If Text3.Text <> "" Then
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find ("name='" + Text3.Text + "'")
Adodc1.Recordset.Find ("family='" + Text2.Text + "'")
Adodc1.Recordset.Find ("father-name='" + Text1.Text + "'")
Adodc1.Recordset.Find ("date'" + Text4.Text + "'")

If Adodc1.Recordset.EOF = False Then
MsgBox "search SUCCESS", vbInformation, "payam"



'x = MsgBox("other search", vbQuestion + vbYesNo, "payam")
If x = vbYes Then
Text3.Text = Empty
Text2.Text = Empty
Text1.Text = Empty
Text3.SetFocus
ElseIf x = vbNo Then
Form1.Show
Form9.Hide
End If
ElseIf Adodc1.Recordset.EOF = True Then
MsgBox "moredy yaft nashod", vbInformation, "payam"
Text3.SetFocus
End If

End Sub


البته این جستو جو نتیجه رو تو datagrid نمایش نمیده
و در ضمن این تکه برنامه رو تو همین سایت از تاپیک بالا با این عنوان گرفتم( نكات برنامه نويسي Visual Basic (http://barnamenevis.org/forum/showthread.php?t=104724) ‏ )که ازش هم خیلی ممنونم خیلی کار ما رو راه انداخت با این تاپیک مفیدش

majjjj
چهارشنبه 26 فروردین 1388, 08:13 صبح
ولی اگر دو تا یا سه تا هر چهار تا رو پر کردیم بر اساس هر چهار تا جست و جو کنه و در datagrid نمایش بده
شما باید کلیه حالتهای موجود رو برای برنامه مشخص کنید

sarire2000
چهارشنبه 26 فروردین 1388, 11:27 صبح
شما باید کلیه حالتهای موجود رو برای برنامه مشخص کنید
میشه برای یکی از موارد بالا مثال بزنی:متفکر:

majjjj
چهارشنبه 26 فروردین 1388, 13:01 عصر
Private Sub Command1_Click()
Dim SQL As String
If Text1.Text <> Empty And Text2 = Empty And Text3 = Empty And Text4 = Empty Then
SQL = "SELECT * FROM TABLE1 WHERE NAME='" & Text1 & "' ;"
ElseIf "Text1.Text <> Empty And Text2 <> Empty And Text3 = Empty And Text4 = Empty" Then
SQL = "SELECT * FROM TABLE1 WHERE NAME='" & Text1 & "' AND fNAME='" & Text2.Text & "' ;"
ElseIf "Text1.Text <> Empty And Text2 <> Empty And Text3 <> Empty And Text4 = Empty " Then
SQL = "SELECT * FROM TABLE1 WHERE NAME='" & Text1 & "' AND fNAME='" & Text2.Text & "' AND pname='" & Text3.Text & "' ;"
End If
End Sub

یک چیزی شبیه به این لازم دارین البته میتونین تعداد حالات ایجاد شده رو هم محاسبه کنین که الان فرمولش یادم نمیاد ولی تو کتابهای سال سوم یا چهارم رشته ریاضی که اون قدیما میخوندیم یادمه فرمولش بود

sarire2000
پنج شنبه 27 فروردین 1388, 19:18 عصر
Private Sub Command1_Click()
Dim SQL As String
If Text1.Text <> Empty And Text2 = Empty And Text3 = Empty And Text4 = Empty Then
SQL = "SELECT * FROM TABLE1 WHERE NAME='" & Text1 & "' ;"
ElseIf "Text1.Text <> Empty And Text2 <> Empty And Text3 = Empty And Text4 = Empty" Then
SQL = "SELECT * FROM TABLE1 WHERE NAME='" & Text1 & "' AND fNAME='" & Text2.Text & "' ;"
ElseIf "Text1.Text <> Empty And Text2 <> Empty And Text3 <> Empty And Text4 = Empty " Then
SQL = "SELECT * FROM TABLE1 WHERE NAME='" & Text1 & "' AND fNAME='" & Text2.Text & "' AND pname='" & Text3.Text & "' ;"
End If
End Sub
یک چیزی شبیه به این لازم دارین البته میتونین تعداد حالات ایجاد شده رو هم محاسبه کنین که الان فرمولش یادم نمیاد ولی تو کتابهای سال سوم یا چهارم رشته ریاضی که اون قدیما میخوندیم یادمه فرمولش بود
خیلی ممنون از راهنماییتون:لبخندساده::تشو ق:

Sundown
پنج شنبه 27 فروردین 1388, 19:55 عصر
این هم کد اس کیو ال که شما لازم دارید
امیدوارم بدرتون بخوره


dim sql as string
sql="Select * From Table1 Where Name Like '*"+text1+"*' and lastname like '*"+text2+"*' and id like '*"+text3+"*' and phone like '*"+text3+"*'"
data1.datasource=sql
data1.refresh


با این کد اگر هر کدوم از تکست باکسها پر باشه بر اساس اون و اگر خالی باشه بر اساس بقیه سرچ میکنه
موفق باشید:لبخند: