กระทู้เก่าบอร์ด อ.Yeadram
1,404 8
URL.หัวข้อ /
URL
ต้องการส้รางคิวรีให้ค้นหาได้หลายฟิล
คือตอนนี้ผมทำการคิวรีได้พนักงานคนเดียว แต่ผมต้องการทำคิวรีในการค้นหาพนักงานทีละหลายๆคนในรอบเดียวอ่ะครับ
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R15561
คือผมต้องการค้นหาจากรหัสพนักงาน โดยไม่มีการตั้งค่าว่าต้องขึ้นต้นด้วยเลขอะไร ต้องการรหัสอะไรก็พิมพ์ๆไปเลยอ่ะครับ และสามารถค้นหาได้ทีละหลายรหัสในรอบการค้นหาทีเดียวอ่ะครับ
3 @R15562
เงื่อนไขที่ให้ผมว่าก็คนหาได้หลายคนนะ หรือผมไม่เข้าคำถามคุณ ผมก็งง
ถ้าอย่างนั้นก็ที่ช่องรหัสพนักงาน เงื่อนไข [รหัสที่1] Or [รหัสที่2] Or [รหัที่3]....
แต่ผมไม่แน่ใจว่าพิมพ์ได้เยอะเท่าไร
ถ้าอย่างนั้นก็ที่ช่องรหัสพนักงาน เงื่อนไข [รหัสที่1] Or [รหัสที่2] Or [รหัที่3]....
แต่ผมไม่แน่ใจว่าพิมพ์ได้เยอะเท่าไร
4 @R15578
คือต้องการหารหัสพนักแบบเจาะจงไปเลยอ่ะครับ เช่น
รหัสพนักมี 445,369,554 พอคิวรีก็ใส่รหัสที่ต้องการไปเลย เช่น 445 มันก็จะขึ้นข้อมูลรหัสพนักคนนี้มาให้ แต่อันนี้ผมทำได้แล้วแต่อยากต้องการที่จะหาได้หลายรหัสในครั้งเดียวตอนพิมพ์รหัสพนักงานในช่องค้นหาอ่ะครับ เช่นช่องค้นหา/คิวรีเด้งมาให้ กรอกรหัสพนักงาน ตามปกติจะกรอกได้อันเดียวผมจึงอยากให้สามารถกรอกได้หลายรหัสอ่ะครับ
รหัสพนักมี 445,369,554 พอคิวรีก็ใส่รหัสที่ต้องการไปเลย เช่น 445 มันก็จะขึ้นข้อมูลรหัสพนักคนนี้มาให้ แต่อันนี้ผมทำได้แล้วแต่อยากต้องการที่จะหาได้หลายรหัสในครั้งเดียวตอนพิมพ์รหัสพนักงานในช่องค้นหาอ่ะครับ เช่นช่องค้นหา/คิวรีเด้งมาให้ กรอกรหัสพนักงาน ตามปกติจะกรอกได้อันเดียวผมจึงอยากให้สามารถกรอกได้หลายรหัสอ่ะครับ
5 @R15579
ผมคิดออกในตอนนี้ คือต้องมีtextboxหลายๆอันมารับค่าที่เรากรอกที่ช่องค้นหา(ที่ฟอร์ม)แลัวค่อยส่งค่าที่ได้นั้นไปที่คิวรี่
สมุติว่า ช่องค้นหา ชื่อ txtserch
ใส่โค้ด event AfterUdate :
Private Sub txtserch_AfterUpdate()
If IsNull(me.txtserch) Or me.txtserch = "" Then
MsgBox ("คุณยังไม่ไดกรอกข้อมูล")
Else
If Me.Text1 = "" Or IsNull(Me.Text1) Then
Me.Text1 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text2) Or Me.Text2 = "" Then
Me.Text2 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text3) Or Me.Text3 = "" Then
Me.Text3 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text4) Or Me.Text4 = "" Then
Me.Text4 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text5) Or Me.Text5 = "" Then
Me.Text5 = txtserch
Me.txtserch.SetFocus
End If
End If
End Sub
สร้าง textbox unbound 5 อัน ตั้งชื่อ text1,text2,text3,text4,text5 แล้ว visible textbox ทั้งหมด
ในส่วนของคิวรี่
รหัสพนักงาน เงือนไข [forms]![frm1]![txtserch] Or [forms]![frm1]![text1] Or [forms]![frm1]![text2] Or [forms]![frm1]![text3] Or [forms]![frm1]![text4] Or [forms]![frm1]![text5]
ทดลอกกรอกข้อมูลที่ช่องค้นหา 23 หมายเลข แล้วกดปุ่มค้นหาจะได้ข้อมูลที่ต้องการหรือเปล่า?
ปล.อาจารย์ท่านอื่นอาจแนวคิดที่ดีกว่าผมนะเพราะที่นี้มีอาจารย์เก่งๆๆๆเยอะ
สมุติว่า ช่องค้นหา ชื่อ txtserch
ใส่โค้ด event AfterUdate :
Private Sub txtserch_AfterUpdate()
If IsNull(me.txtserch) Or me.txtserch = "" Then
MsgBox ("คุณยังไม่ไดกรอกข้อมูล")
Else
If Me.Text1 = "" Or IsNull(Me.Text1) Then
Me.Text1 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text2) Or Me.Text2 = "" Then
Me.Text2 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text3) Or Me.Text3 = "" Then
Me.Text3 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text4) Or Me.Text4 = "" Then
Me.Text4 = txtserch
Me.txtserch = ""
Me.txtserch.SetFocus
ElseIf IsNull(Me.Text5) Or Me.Text5 = "" Then
Me.Text5 = txtserch
Me.txtserch.SetFocus
End If
End If
End Sub
สร้าง textbox unbound 5 อัน ตั้งชื่อ text1,text2,text3,text4,text5 แล้ว visible textbox ทั้งหมด
ในส่วนของคิวรี่
รหัสพนักงาน เงือนไข [forms]![frm1]![txtserch] Or [forms]![frm1]![text1] Or [forms]![frm1]![text2] Or [forms]![frm1]![text3] Or [forms]![frm1]![text4] Or [forms]![frm1]![text5]
ทดลอกกรอกข้อมูลที่ช่องค้นหา 23 หมายเลข แล้วกดปุ่มค้นหาจะได้ข้อมูลที่ต้องการหรือเปล่า?
ปล.อาจารย์ท่านอื่นอาจแนวคิดที่ดีกว่าผมนะเพราะที่นี้มีอาจารย์เก่งๆๆๆเยอะ
6 @R15580
ใช้ปุ่ม Filter by Form สิครับ มันสามารถให้คุณใส่อย่างที่ต้องการได้เลย
7 @R15581
ไม่รู้เข้าใจคำถามถูกหรือเปล่านะครับ แต่หากคุณต้องการแค่กรองรหัสพนักงาน สามารถเขียนคำสั่งกรองข้อมูลบนฟอร์มได้เลย ไม่ต้องเขียนในคิวรี่ก็ได้ครับ ตัวอย่าง
1. ตารางที่ใช้บนฟอร์มชื่อ Table1
2. ฟิลด์ในตารางข้อมูลที่ใช้บันทึกรหัสพนักงานชื่อ ID
3. สร้าง Textbox สำหรับใส่รหัสพนักงาน สมมุติชื่อ Text1
4. สร้างปุ่มบนฟอร์ม ใส่โค๊ดที่ Event > On Click ดังนี้:
On Error GoTo Err_Exit_Online
If IsNumeric(Me.Text1) And Not IsNull(Me.Text1) Then
If Me.Text1 Like "*,*" Then
Me.Filter = "Table1.ID In(" & Me.Text1 & ")"
Else
Me.Filter = "Table1.ID = " & Me.Text1
End If
Me.FilterOn = True
Else
Me.Filter = ""
Me.FilterOn = False
End If
Exit_Exit_Online:
Exit Sub
Err_Exit_Online:
MsgBox "โปรดใส่เลขรหัสพนักงาน ตามด้วยเครื่องหมาย , เท่านั้น", , "ใส่ข้อมูลไม่ตรงเงื่อนไข"
Resume Exit_Exit_Online:
- การใช้งาน คือ ใส่ตัวเลขรหัสพนักงาน หากคนเดียวก็ใส่ 445 แต่หากหาหลายคนก็ใส่ 445,369,554 แล้วกดปุ่ม
- หากไม่มีข้อมูลใน Text1 ฟอร์มจะแสดงรายการทั้งหมด
ลองปรับใช้ดูนะครับ
1. ตารางที่ใช้บนฟอร์มชื่อ Table1
2. ฟิลด์ในตารางข้อมูลที่ใช้บันทึกรหัสพนักงานชื่อ ID
3. สร้าง Textbox สำหรับใส่รหัสพนักงาน สมมุติชื่อ Text1
4. สร้างปุ่มบนฟอร์ม ใส่โค๊ดที่ Event > On Click ดังนี้:
On Error GoTo Err_Exit_Online
If IsNumeric(Me.Text1) And Not IsNull(Me.Text1) Then
If Me.Text1 Like "*,*" Then
Me.Filter = "Table1.ID In(" & Me.Text1 & ")"
Else
Me.Filter = "Table1.ID = " & Me.Text1
End If
Me.FilterOn = True
Else
Me.Filter = ""
Me.FilterOn = False
End If
Exit_Exit_Online:
Exit Sub
Err_Exit_Online:
MsgBox "โปรดใส่เลขรหัสพนักงาน ตามด้วยเครื่องหมาย , เท่านั้น", , "ใส่ข้อมูลไม่ตรงเงื่อนไข"
Resume Exit_Exit_Online:
- การใช้งาน คือ ใส่ตัวเลขรหัสพนักงาน หากคนเดียวก็ใส่ 445 แต่หากหาหลายคนก็ใส่ 445,369,554 แล้วกดปุ่ม
- หากไม่มีข้อมูลใน Text1 ฟอร์มจะแสดงรายการทั้งหมด
ลองปรับใช้ดูนะครับ
8 @R15582
ขอบคุณอาจารย์ทุกท่านมากๆเลยนะครับ ขอบคุณครับ
Time: 0.2385s
ถ้า ก คนที่ขึ้นชื่อต้นด้วย ก ก็จะขึ้นมาหมดทุกคน ประมาณนี้ลองปรับเปลี่ยนเงื่อนไขดู