ผมอยากทราบวิธีการใส่ค่า พารามิเตอร์ ในการค้นหาครับ
กระทู้เก่าบอร์ด อ.Yeadram

 1,031   9
URL.หัวข้อ / URL
ผมอยากทราบวิธีการใส่ค่า พารามิเตอร์ ในการค้นหาครับ

คือแบบนี้นะครับผม อยากทราบว่า มีวิธีไหมครับที่เราจะ ทำให้ หน้าต่างที่ใส่เลขค่า พารามิเตอร์ ให้แบ่ง เป็นช่องในหน้าต่าง เดียวกันครับ คือผมทำค้นหาแล้วครับ เวลา เราใส่ เลขค้นหาไป ในช่อง พารามิเตอร์
ตัวอย่างเช่น
กดปุ่ม button เข้าไปแล้วมันก็จะแสดง หน้าต่างใส่ค่า พารามิเตอร์
ใส่ค่า D1 > กด ตกลง (มันก็จะเปลี่ยนเป็นหน้าต่าง เป็นใส่ค่า D2)
ใส่ค่า D2 > กด ตกลง (มันก็จะเปลี่ยนเป็นหน้าต่าง เป็นใส่ค่า L2)
ใส่ค่า L2 > กด ตกลง (มันก็จะเปลี่ยนเป็นหน้าต่าง เป็นใส่ค่า L4)
ใส่ค่า L4 > กด ตกลง (มันก็จะเปลี่ยนเป็นหน้าต่าง เป็นใส่ค่า L1)

คือผมอยากให้ มันรวมอยู่ หน้าต่าง เดียวกันเลยครับ พอจะมีวิธีไหมครับ


9 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R21782
เข้าใจว่าแสดงตอนที่คิวรี่ทำงานใช่ไหมครับ ตัวหน้าต่างพารามิเตอร์ เราไม่สามารถทำอะไรกับมันได้นะครับ ที่ทำกันก็คือต้องมีฟอร์มเพื่อป้อนค่าต่างๆ (เป็นฟอร์มที่แสดงในภาพหรือเปล่า ผมไม่แน่ใจ ไม่รู้ว่าคุณออกแบบยังไงบ้าง) แล้วในบรรทัดเงื่อนไขในคิวรี่ แทนที่จะเป็นคำว่า [D1] ก็ให้เป็น Forms!ชื่อฟอร์ม!X แทน (X คือชื่อเท็กซ์บ็อกซ์บนฟอร์มสำหรับป้อนค่า D1)
2 @R21783
นั้นถ้าผมอยากทำ ค้นหา ประมาณว่า ค้นหา D1 D2 L2 L4 L1 (ฟิว5ตัวนี้คือ ฟิว ขนาดของสินค้าน่ะครับ) ในตารางน่ะครับ ผมต้องการ ค้นหา 5 ตัวนี้ พอเราใส่ เลข ค้นหา ครบ 5 ตัว แล้วมันก็จะโชว์ สินค้า ที่ตรง กับ เลข ขนาดที่เรา พิมพ์ ไปครับ ผมควร จะทำ ค้นหาแบบไหนดีครับ
3 @R21784
(เครื่องผมใช้ภาษาอังกฤษ ไม่แน่ใจคำไทยนะครับ)

คลิกที่คำสั่ง "ขั้นสูง" - "กรองด้วยฟอร์ม" ฟอร์มจะเคลียร์ช่องต่างๆแล้วให้เราป้อนค่าที่ต้องการค้นหา ก็ใส่ไปทุกช่องที่ต้องการ ค่าทั้งหมดในฟอร์มเดียวกันจะถือว่าเชื่อมกันด้วยเงื่อนไข AND คือจะให้ผลลัพธ์ที่เมื่อทุกค่าตรงกับที่ป้อน ถ้าจะเชื่อมเงื่อนไขด้วย OR ก็ให้ป้อนค่าลงในแทป "หรือ" ที่อยู่ข้างล่าง จากนั้นก็คลิกคำสั่ง "กรอง" ก็จะได้เรคอร์ดเฉพาะที่ตรงเงื่อนไขครับ เมื่อจะยกเลิกการกรอง ก็คลิก "กรอง" อีกทีนึงครับ

4 @R21785
ถ้ามีคำถามอะไรเพิ่มเติม ผมจะกลับมาอีกทีก็เย็นหรือค่ำถึงจะเปิดอ่านนะครับ
5 @R21786
แล้วถ้าเราจะทำเป็น ค้นหา แบบ ฟอร์ม ละครับ
แบบเราสร้าง Text box ขึ้น มา 5 ตัว คือ
1 ค้นหาค่า D1
2 ค้นหาค่า D2
3 ค้นหาค่า L2
4 ค้นหาค่า L4
5 ค้นหาค่า L1

แล้วสร้างปุ่ม Button เพื่อ กดยืนยัน 5 ค่า ที่เราพิมพ์ ไป
ผมต้องทำแบบไหนหรอ ครับ คือ ผม ไม่เคย สร้างมาก่อน
6 @R21787
Textbox ค้นหา อยู่ในฟอร์มเดียวกันกับฟอร์มแสดงผลลัพธ์ หรือเปล่าครับ
7 @R21788
ใช่ครับ
8 @R21789
ถ้าอย่างนั้นคุณต้องเปิด Form Header Section (โดยการคลิกขวาใน Detail Section แล้วเลือก Form Header/Footer) แล้วสร้างเท็กซ์บ็อกซ์สำหรับค้นหาในนั้น พร้อมทั้งปุ่ม Command Button เพื่อค้นหาด้วย เราต้องใส่โค้ดเพื่อค้นหาภายใต้ Button นี้ ให้คลิกที่ปุ่มนี้แล้วกดคีย์ F4 เพื่อแสดง Property Sheet ที่บรรทัด On Click ให้เลือก [Event Procedure] แล้วคลิกปุ่ม ... ด้านท้าย หน้าต่างสำหรับป้อนโค้ดจะแสดงออกมา

สมมุติว่า ชื่อเท็กซ์บ็อกซ์ในการค้นหาชื่อว่า SD1, SD2, SL2, SL4, SL1
ให้ป้อนโค้ดเข้าไปใน Private Sub xxx_Click() ดังนี้

   Dim Where As String

   If Not IsNull(Me.SD1) then Where = "D1 = " + CStr(Me.SD1)
   If Not IsNull(Me.SD2) then Where = Where + IIf(Where <> "", " AND ", "") + "D2 = " + CStr(Me.SD2)
   If Not IsNull(Me.SL2) then Where = Where + IIf(Where <> "", " AND ", "") + "L2 = " + CStr(Me.SL2)
   If Not IsNull(Me.SL4) then Where = Where + IIf(Where <> "", " AND ", "") + "L4 = " + CStr(Me.SL4)
   If Not IsNull(Me.SL1) then Where = Where + IIf(Where <> "", " AND ", "") + "L1 = " + CStr(Me.SL1)

   If Where = "" then
      Me.RecordSource = "ชื่อเทเบิล"
   Else
      Me.RecordSource = "select * from ชื่อเทเบิล where " + Where
   End If

ช่องไหนป้อนค่าเอาไว้ (แม้เป็นศูนย์ก็ตาม) ค่าเหล่านั้นจะถูกใช้เป็นเงื่อนไขในการค้นหาด้วย ถ้าไม่ต้องการให้ช่องไหนเป็นเงื่อนไข ต้องให้ลบ(ไม่ใช่พิมพ์)ช่องนั้นให้เป็นช่องว่างๆ ถ้าทุกช่องว่าง จะถือว่าให้แสดงทุกเรคอร์ดแทน
9 @R21790
ขอบคุณมากๆน่ะครับ อาจาร
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2709s