การสร้างแบบฟอร์มค้นหา
กระทู้เก่าบอร์ด อ.Yeadram

 13,575   14
URL.หัวข้อ / URL
การสร้างแบบฟอร์มค้นหา

ตอนนี้ผมมีฐานข้อมูลอยู่ 1 table แล้วก็สร้างแบบฟอร์มขึ้นมา 1 แบบฟอร์มโดยดึงข้อมูลที่อยู่ใน table ทั้งหมดมาลง
แต่ผมต้องการสร้างฟอร์มสำหรับค้นหาโดยต้องการใช้เขตภาคและจังหวัดซึ่งเป็น field 2 อย่างของ ข้อมูลใน table มาเป็นการค้นหา
ตอนนี้ได้สร้างฟอร์มสำครับค้นหาเสร็จแล้ว ตามภาพด้านล่าง

ผมได้ดึงค่าในโซนและจังหวัดมาใส่ใน combobox เสร็จแล้วแต่ปุ่มสำหรับค้นหาไม่ทราบว่าจะต้องใส่ code ยังไง เลยอยากจะรบกวนสอบถามแนวทางหน่อยครับ
แบบฟอร์มข้อมูลอยู่ด้านล่างนี้นะครับ


***ถ้าใส่ข้อมูลไม่ครบยากต่อการเข้าใจขออภัยด้วยนะครับ

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

1 @R04807
ในฟอร์ม ค้นหา frmSeach
คอมโบตัวแรก ชื่อ combo1
คอมโบตัวที่สองชื่อ combo2

ในฟอร์มหลัก frmMaster ของคุณ
มีฟิลด์ เขตภูมิภาคชื่อ region
มีฟิลด์ ผู้แทนจำหน่ายชื่อ Distributer


ให้คุณเขียนคำสั่งในปุ่ม ค้นหา (cmdSearch) ในฟอร์มค้นหาประมาณนี้
Private Sub cmdSearch_Click()
forms("frmMaster").filter = "([region] = " & me.combo1 & ") and ([Distributer] = " & me.combo2 & ")"
forms("frmMaster").filteron=true
End Sub


* คุณอาจต้องปรับแต่งคำสั่งนิดหน่อย ตามชนิดข้อมูล เช่นอาจต้องเติมเครื่องหมาย single quote
** คุณอาจต้องดักเช็คข้อมูลก่อนคำสั่ง เช่นถ้า คอมโบยังไม่ถูกเลือก(คอมโบจะยังไม่มีข้อมูล) แต่มีการกดปุ่มค้นหา จะให้โปรแกรมทำอย่างไร
*** คุณอาจจะต้องเช็ค ก่อนคำสั่ง ว่า ฟอร์ม frmMaster ถูกเปิดอยู่หรือไม่ในขณะที่จะทำงานตามคำสั่ง ไม่งั้นมันจะ error
**** คุณอาจต้องสั่งปิดฟอร์มค้นหาหลังคำสั่ง เพื่อให้โฟกัสกลับไปที่ฟอร์ม frmMaster
2 @R04808
อยากขอสอบถามเพิ่มครับ
ถ้าหลังจากคลิ๊กที่ปุ่มค้นหาข้อมูลใน frmsearch แล้วต้องการให้ frmMaster เปิดขึ้นมาภายหลังพร้อมกับข้อมูลที่เลือกใน frmsearch ต้องใช้คำสั่งอะไรเพื่อเปิดอีกหนึ่งฟอร์มขึ้นมาครับ
ต้องขอโทษด้วยนะครับเพราะผมไม่ทราบคำสั่งใน VBA เลย
3 @R04812
docmd.openform, "frmMaster", acNormal
แล้วตามด้วยคำสั่งเดิม ก็ได้
forms("frmMaster").filter = "([region] = " & me.combo1 & ") and ([Distributer] = " & me.combo2 & ")"
forms("frmMaster").filteron=true


หรือการระบุ เงื่อนไขลงไปพร้อมกับการเปิดฟอร์มเลยก็ได้ ซึ่งมันจะเป็นการสั่งแค่ครั้งเดียว เช่น
docmd.OpenForm "frmMaster",acNormal,,"([region] = " & me.combo1 & ") and ([Distributer] = " & me.combo2 & ")"

โดยส่วนใหญ่นิยมใช้วิธีหลังมากกว่าครับ
4 @R04814

เนื่องจากพบปัญหาเพิ่มเติมครับ
รบกวนสอบถามเพิ่มว่าใน frmMaster ต้องมีการตั้งค่าอะไรเป็นพิเศษมั๊ยครับ
5 @R04817
ไม่ต้องตั้งค่าอะไรเพิ่มเติมครับ ผมอยากเห็นคำสั่งที่คุณนำไปเขียน เอามาดูหน่อยครับ คุณเอาไปปรับใช้ยังไงบ้าง

แล้วฟอร์ม frmMaster มีแหล่งข้อมูลมาจากไหน
ถ้ามาจากคิวรี่ คิวรี่ของคุณ มี พารามิเตอร์หรือเปล่า (ไม่ต้องให้มีนะครับ)

6 @R04822
ถ้าเป็นไปได้อยากรบกวนให้ช่วยดูไฟล์ที่ผม upload ให้หน่อยได้มั๊ยครับ



ขอโทษด้วยนะครับที่รบกวนมากไปหน่อย ^ ^
7 @R04857
ในส่วนของข้อมูลใน frmMaster ผมได้ใช้ List Menu เป็นตัวรับค่าจาก frmSearch แต่ว่าจะติดเรื่อง parameter ผมได้ตั้งค่าตามภาพด้านล่างครับ

แต่ในส่วนที่เป็นรูปภาพใน frmMaster ต้องตั้งค่ายังไงเพื่อให้รับค่าจาก frmSearch ได้บ้างครับ
8 @R04858
- ผมอยากเห็นคำสั่ง // คุณเอาลิงค์กับรูปภาพ มาให้ดู
- ผมให้คุณเอาพารามิเตอร์ออก // รูปภาพล่าสุดที่ส่งให้ดู มันก็ยังมีพารามิเตอร์
- ความเห็นแรกสุด ที่ผมเคยตอบไป เคยให้ตัวอย่างการเขียนเงื่อนไข พร้อมทั้งมี footnote ให้อีก ข้อแรกระบุชัดเจนว่า คุณอาจต้องปรับแต่งคำสั่งนิดหน่อย ตามชนิดข้อมูล โดยอาจต้องเติม single quote // แต่คุณไม่ได้เอาคำสั่งที่คุณเขียนมาให้ดู เลยไม่รู้ว่า คุณปรับแต่งมันยังไงบ้าง
- สุดท้ายผมเลยไปโหลดไฟล์ จากเว็บอัพโหลด (ปกติผมจะไม่โหลดไฟล์จากเว็บฝากไฟล์พวกนี้ มันอันตราย และเคยได้ขอความร่วมมือไว้ที่หน้าแรกของเว็บบอร์ดแล้วเรื่องการอัพไฟล์ฝากไฟล์) เอามาดู เห็นว่าคุณ "ไม่ได้ตั้งใจฟังที่ผมบอกเลย"

คำสั่งที่คุณเขียนแล้วมันยังติดปัญหา คือ
DoCmd.OpenForm "frmMaster", acNormal, , "([zone] = " & Me.cbZone & ") and ([dlr_name] = " & Me.cbDlrName & ")"

ส่วนคำสั่งที่ผมปรับแก้แล้วมันก็ทำงานได้เลยทันที คือ
DoCmd.OpenForm "frmMaster", acNormal, , "([zone] = '" & Me.cbZone & "') and ([dlr_name] = '" & Me.cbDlrName & "')"

ลองเปรียบเทียบดูครับ
9 @R04859
ใช้แบบนี้ได้ไหมครับ like [Forms]![frmSerch]![cbDlrName] & "*" or is null
10 @R04865
ขอบคุณมากเลยครับ ใช้ได้แล้ว
ต้องขอโทษด้วยครับที่ผมไม่ได้อ่านรายละเอียดของการใช้บอร์ดให้ดีก่อน
11 @R07599
สวัสดีค่ะ
อยากปรึกษา เรื่องการสร้างปุ่มด้วยค่ะ
ขอเป็น E-mail ด้วยได้ไหมค่ะ
ขอบคุณค่ะ

12 @R07600
สร้าง Form เรียบร้อย พอจะเลือกที่ combo แล้วกดปุ่มค้นหา มันจะขึ้น ข้อมูลเดียว พอกดรหัสลูกอื่น ก็ขึ้นข้อมูลเดิม คือมันจะไม่เปลี่ยน ยังอยู่เหมือนเดิม
แล้วจะถามว่า ต้องใช้ code อย่างไรค่ะ ขอความช่วยเหลือด้วย
13 @R07601
http://www.thai-access.com/yeadram_view.php?topic_id=1618&page=3

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