กระทู้เก่าบอร์ด อ.Yeadram
6,825 5
URL.หัวข้อ /
URL
ค้นหาข้อมูลตามเงื่อนไขโดยใช้ comboBox
คือ ต้องการให้หน้าฟอร์ม สามารถค้นหาข้อมูลสินค้าตามเงื่อนไขที่กำหนด
โดยใช้ Combobox ค่ะแล้วก็มีTextBox ข้างๆเพื่อมาพิมคำค้นหา
เช่น ในcombobox มีเงื่อนไขดังนี้
ProductID
ProductName
Brand
ถ้าผู้ค้นหาเลือก ProductID ผู้ค้นจะต้องมาพิมรหัสสินค้าจาก
TextBoxข้างๆ เมื่อพิมพ์รหัสเสร็จแล้ว ข้อมูลเกี่ยวกับสินค้าทั้งหมดก็จะมาแสดงที่ช่องลายละเอียดที่เกี่ยวกับสินค้าทั้งหมดทั้งชื่อ ยี่ห้อ รหัสสินค้า ราคา จำนวนที่มี เป็นต้น ไม่ทราบว่าต้องทำยังไงบ้างค่ะ แล้วต้องใช้คำสั่งอะไรบ้าง
รบกวนด้วยนะค่ะสำคัญมากค่ะ
โดยใช้ Combobox ค่ะแล้วก็มีTextBox ข้างๆเพื่อมาพิมคำค้นหา
เช่น ในcombobox มีเงื่อนไขดังนี้
ProductID
ProductName
Brand
ถ้าผู้ค้นหาเลือก ProductID ผู้ค้นจะต้องมาพิมรหัสสินค้าจาก
TextBoxข้างๆ เมื่อพิมพ์รหัสเสร็จแล้ว ข้อมูลเกี่ยวกับสินค้าทั้งหมดก็จะมาแสดงที่ช่องลายละเอียดที่เกี่ยวกับสินค้าทั้งหมดทั้งชื่อ ยี่ห้อ รหัสสินค้า ราคา จำนวนที่มี เป็นต้น ไม่ทราบว่าต้องทำยังไงบ้างค่ะ แล้วต้องใช้คำสั่งอะไรบ้าง
รบกวนด้วยนะค่ะสำคัญมากค่ะ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R12695
ไม่ต้องเขียนโปรแกรมใดๆเลย ใช้ความสามารถที่เรียกว่า Filter by Form ที่มีใน Access ก็ทำได้อย่างต้องการแล้ว
2 @R12696
รายละเอียด ให้เขียนอย่างนี้ครับ ใช้ ร ไม่ใช่ ล
สมมติชื่อ textbox ชื่อ txSearch
สมมติชื่อ combo ชื่อ cbSearch
สมมติแหล่งข้อมูลของฟอร์มนี้เป็นตาราง ชื่อ table1
วิธีแรก เอาแบบที่คุณขอมา
เขียนโค้ดฝังไว้ใน textbox
txSearch_Afterupdate()
if cbSearch = "" then exit sub
me.recordsource="Select * from table1 where " & cbSearch & " Like '" & txSearch & "'"
me.requery
end sub
วิธีที่2 ลองทำดู เผื่อจะชอบ
ไม่สนใจว่าผู้ใช้จะคีย์ข้อมูลชื่อหรือรหัสใดๆ ทั้งสิ้น ค้นหามาแสดงให้หมดเลย
ลบคอมโบทิ้งไป
เขียนโค้ดใน textbox ว่า
txSearch_AfterUpdate()
me.recordsource="Select * from table1 where (ProductID Like '*" & txSearch & "*') Or (ProductName Like '*" & txSearch & "*') Or (Brand Like '*" & txSearch & "*')"
me.requery
end sub
สมมติชื่อ textbox ชื่อ txSearch
สมมติชื่อ combo ชื่อ cbSearch
สมมติแหล่งข้อมูลของฟอร์มนี้เป็นตาราง ชื่อ table1
วิธีแรก เอาแบบที่คุณขอมา
เขียนโค้ดฝังไว้ใน textbox
txSearch_Afterupdate()
if cbSearch = "" then exit sub
me.recordsource="Select * from table1 where " & cbSearch & " Like '" & txSearch & "'"
me.requery
end sub
วิธีที่2 ลองทำดู เผื่อจะชอบ
ไม่สนใจว่าผู้ใช้จะคีย์ข้อมูลชื่อหรือรหัสใดๆ ทั้งสิ้น ค้นหามาแสดงให้หมดเลย
ลบคอมโบทิ้งไป
เขียนโค้ดใน textbox ว่า
txSearch_AfterUpdate()
me.recordsource="Select * from table1 where (ProductID Like '*" & txSearch & "*') Or (ProductName Like '*" & txSearch & "*') Or (Brand Like '*" & txSearch & "*')"
me.requery
end sub
3 @R12703
ขอบคุณมากๆๆค่ะ^ ^
4 @R14009
เรียนท่านผู้รู้...
คือผมมี
Table ชื่อ Table4
Form ชื่อ frmTable1_insertData บน Form มี Textbox 2 กล่อง ชื่อ Text29 และ Text37
Text29 ใช้รับค่า ตัวเลข 4 ตัว เพื่อไปทำ query มีเกณฑ์คือ
[Forms]![frmTable1_insertData]![Text29]
ชื่อ qryTable4_insert ได้ข้อมูลออกมาดังนี้
Customer_ID Customer_Name
1009 วิทยาลัยเทคนิค
และที่ Text29 มี Code VBA
Private Sub Text29_LostFocus()
Forms(frmTable1_insertData).Text37 = SELECT Customer_Name FROM qryTable4_insert WHERE " Text29 " Like " Customer_ID "
End Sub
ผมคงเขียนผิดน่ะครับ พยายามปรับเปลี่ยนแล้ว มันขึ้น Compile error: Syntax error
ความต้องการของผมคือ
เมื่อคลิกเม้าท์ในช่อง Text29 พิมพ์ Customer_ID 4 ตัว เช่น 1009
พอย้ายเมาท์ ไปจาก Text29 แล้วข้อมูล Customer_Name ไปปรากฎบน
Textbox Text37
ขอขอบคุณล่วงหน้าครับ
คือผมมี
Table ชื่อ Table4
Form ชื่อ frmTable1_insertData บน Form มี Textbox 2 กล่อง ชื่อ Text29 และ Text37
Text29 ใช้รับค่า ตัวเลข 4 ตัว เพื่อไปทำ query มีเกณฑ์คือ
[Forms]![frmTable1_insertData]![Text29]
ชื่อ qryTable4_insert ได้ข้อมูลออกมาดังนี้
Customer_ID Customer_Name
1009 วิทยาลัยเทคนิค
และที่ Text29 มี Code VBA
Private Sub Text29_LostFocus()
Forms(frmTable1_insertData).Text37 = SELECT Customer_Name FROM qryTable4_insert WHERE " Text29 " Like " Customer_ID "
End Sub
ผมคงเขียนผิดน่ะครับ พยายามปรับเปลี่ยนแล้ว มันขึ้น Compile error: Syntax error
ความต้องการของผมคือ
เมื่อคลิกเม้าท์ในช่อง Text29 พิมพ์ Customer_ID 4 ตัว เช่น 1009
พอย้ายเมาท์ ไปจาก Text29 แล้วข้อมูล Customer_Name ไปปรากฎบน
Textbox Text37
ขอขอบคุณล่วงหน้าครับ
5 @R14010
ขอโทษทีครับ ผิดที่ครับ ตั้งใจตั้งกระทู้ใหม่ครับ
Time: 0.3509s