ใช้ combo box ในการค้นหา
กระทู้เก่าบอร์ด อ.Yeadram

 3,231   20
URL.หัวข้อ / URL
ใช้ combo box ในการค้นหา

คือ ต้องการที่จะให้ combo box ในการค้นหาครับ ประมานว่า ผมต้องการที่จะ สร้าง ฟอร์มใหม่ขึ้นมาหนึ่งฟอร์ม ในฟอร์มมีตารางสินค้า แล้วก็ combo box ครับ
พอกด combo box แล้วเราเลือก ประเภทสินค้า
ให้มันแสดง รายการสินค้า ที่เป็น ของประเภทที่เลือก เลือกไปครับ

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

1 @R21819
พอแสดง รายการสินค้า จากที่เราเลือกประเภท ไปแล้ว
อยากให้มันล๊อครายการนั้นไว้ก่อน
เพื่อที่จะ ทำการค้นหา แบบ text box อีกครับ
2 @R21821
ลองดูไฟล์นี้ครับ

ไฟล์
3 @R21822
คือผมต้องการ ค้นหาประเภท โดยการ กด Combo box เลือก ประเภท จากนั้น ให้ รายการสินค้าที่ แสดง อยู่เปลี่ยนไป ตามประเภท ที่เราเลือก ใน Combo box
จากนั้น เราก็จะมาค้นหา ขนาด อีกอันนึง คือ ที่ Text box
(ที่ต้องทำการค้นหาโดยใช้ Combo box ก่อนเพราะ รายการสินค้า มันกว้างไปครับ มันมีเยอะเกิน)
พอจะมีวิธีไหมครับ

4 @R21825
ก็ไฟล์ที่ผมให้ไปไงครับ เปิดดูหรือยัง มันมีการค้นหาแบบ 2 มิติอย่างที่คุณต้องการ

คุณก็เอาไปประยุกต์ต่อได้ครับ
5 @R21827
คือผมเพิ่งเคยเล่น access ครับ เลยไม่รู้ต้องทำแบบไหนบ้าง
6 @R21828
งั้นไปศึกษาวิธีการใช้ Combo Box หาข้อมูลแบบ 2 มิติ แล้วลองทำตามให้ได้ก่อนครับ
7 @R21831
ผมยังงงๆว่าต่างจากที่เคยถามผมยังไง ผมว่าเหมือนๆกันเลยนะ เพียงแต่เพิ่มเงื่อนไขโดยเลือก Combo Box ตัวนี้เพิ่มเข้าไปในโค้ดเท่านั้นเอง
8 @R21834
Private Sub Command73_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 = "product"
   Else
      Me.RecordSource = "select * from product where " + Where
   End If

เราต้องเพิ่มตรงไหนหรอครับ
9 @R21835
ต่อจาก

If Not IsNull(Me.SL1) Then Where = Where + IIf(Where <> "", " AND ", "") + "L1 = " + CStr(Me.SL1)

แต่ combo box คงเก็บข้อมูลประเภทตัวอักษรไว้ ต้องปรับโค้ดส่วนสุดท้ายเป็น

If Not IsNull(Me.XXX) Then Where = Where + IIf(Where <> "", " AND ", "") + "YYY = """ + Me.XXX + """ "
10 @R21836
ขอบคุณน่ะครับ อาจาน ได้แล้วครับ
11 @R21838
อาจาร์ยครับ ถ้าผมจะทำค้นหา แบบ ผมสร้าง ฟอร์มมา 2 อันนะครับ
ฟอร์มแรกคือ มี text box ที่ใช้ในการกรอกข้อความที่จะค้นหา รหัสสินค้า
แล้ว button ใช้ในการ กดยืนยันค้นหา
ฟอร์ม 2 คือ มีรายสินค้าทั้งหมด

คือผมต้องการ พอเรากด ค้นหาในฟอร์มแรกไป แล้วให้ฟอร์ม 2 มันแสดงรายการสินค้าที่เราค้นหาไปขึ้นมา เราต้องทำแบบไหนหรอครับ
(ต้องใช้ แมโคร หรือต้องใช้ Code แบบไหนครับ)

12 @R21839
จากโค้ดเดิมที่เขียนว่า

   If Where = "" Then
      Me.RecordSource = "product"
   Else
      Me.RecordSource = "select * from product where " + Where
   End If

ก็ปรับเป็น

   DoCmd.OpenForm "ชื่อฟอร์ม 2"
   If Where = "" Then
      Forms("ชื่อฟอร์ม 2").RecordSource = "product"
   Else
      Forms("ชื่อฟอร์ม 2").RecordSource = "select * from product where " + Where
   End If

ส่วนคำถามที่ว่าจะใช้แมโครได้ไหม ผมว่าน่าจะได้นะ แต่ผมไม่ถนัดและไม่ชอบ สำหรับผมแล้วการเขียนแมโครอืดอาดและดูแลยากกว่าการเขียนโค้ด ทั้งหมดของระบบผม อาจมีใช้แมโครแค่บรรทัดหรือสองบรรทัดเท่านั้น
13 @R21840
ขอบคุนมากนะครับ อาจาร์ย
14 @R21841
อาจาร์ย ครับถ้าเราจะทำ ปุ่ม button ขึ้นมาอันนึง น่ะครับ ในฟอร์ม ขายสินค้า
ผมอยากให้ปุ่ม button นั้น ใช้ในการ ยืนยันการขายสินค้า พอกดปุ่ม นั้น เข้าไป ให้มัน บันทึกรายการสินค้านั้น และ ทำให้หน้ารายการนั้นขึ้นหน้าใหม่ครับ

ผมต้องใช้ code อะไรหรอครับ
15 @R21842
อาจาร์ย พอมีไฟล์ตัวอย่าง เกี่ยวกับ
ตาราง สินค้านำเข้า , สินค้า , ขายสินค้า ไหมครับ

พอดีผมยังไม่ค่อยเข้าเรื่อง ตาราง สินค้านำเข้า(ซื้อมา) ผมเลยอยากได้ตัวอย่างครับ ว่าจะทำรูปแบบไหนดี
16 @R21845
http://www.thai-access.com/yeadram_view.php?topic_id=3983

การออกแบบเทเบิล อยากรู้ระบบอะไร ก็ให้ค้นใน google ดูครับ แล้วดู "รูปภาพ" มีเพียบเลยครับ อย่างระบบซื้อ ก็ค้นด้วยคำว่า purchasing ER ครับ แต่สุดท้ายแล้ว ไม่มีใครจะรู้ระบบของคุณได้ดีเท่าคุณเอง ยังไงคุณก็ต้องออกแบบเอง จะไปเอามาทั้งแท่งก็คงไม่ได้
17 @R21846
อาจานครับ ถ้าเรา สร้างมา 2 ตาราง มี ตารางสินค้า กับ ตารางซื้อสินค้า

จากนั้นสร้าง ฟอร์ม มา 1 ฟอร์ม คือฟอร์ม ซื้อสินค้า

สร้าง button ขึ้นมา เพื่อบันทึก รายการที่ซื้อมา เข้าไป ใน ตารางสินค้า
กับ ตารางซื้อสินค้า

ทำได้หรือป่าวครับ แล้วต้องใช้ Code อะไร ครับ
18 @R21847
ถ้ามือใหม่ ก็แนะนำให้สร้าง 2 ฟอร์ม แต่ละฟอร์มผูกเข้ากับแต่ละตาราง (RecordSource ของฟอร์มเป็นชื่อตารางที่ต้องการผูก) ดังนั้นก่อนจะป้อนฟอร์มซื้อ ก็ต้องป้อนฟอร์มสินค้าให้เรียบร้อยเสียก่อน พอป้อนฟอร์มซื้อ ก็สามารถใช้คอมโบบ็อกซ์เลือกชื่อสินค้าเข้ามาในแต่ละรายการซื้อได้เลย
19 @R21852
ผม ผูกตารางหมดแล้ว สร้างมา 2 ฟอร์มแล้วครับ
frm_imsub คือ ฟอร์มซื้อสินค้า ครับ
frm_addproduct คือฟอร์มที่จะเอา รายการจาก frm_imsub เข้าไปใน ตาราง สินค้า

คือผมต้องทำยังไงกับ 2 ตารางนี้ต่อครับ

20 @R21853
หลักๆคือ ให้เปลี่ยนจากเท็กบ็อกซ์รหัสสินค้าใน frm_imsub ไปเป็นคอมโบบ็อกซ์แทน ลองดูจากลิงค์ http://www.thai-access.com/yeadram_view.php?topic_id=2109 วิธีทำลักษณะเดียวกันครับ ส่วนวิธีใช้คอมโบบ็อกซ์ ให้ลองไปหาอ่าน จาก Help ไฟล์ของ Access เอง หรือจากเวปไหนก็ได้นะครับ

ส่วนฟอร์ม frm_addproduct ผมไม่รู้ว่าคุณออกแบบยังไง เพียงแต่ตอนนี้เพื่อให้ง่ายที่สุดเพราะคุณไม่รู้เรื่องโค้ด การป้อนข้อมูลในฟอร์มนี้เพื่อเพิ่มสินค้าเข้าไปในระบบ กับการป้อนรายการซื้อในฟอร์ม frm_imsub นั้น แยกกันนะครับ ต่างคนต่างป้อนแมนวลเข้าไป เรื่องของฟอร์มไม่มีอะไรเชื่อมโยงกันครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3696s