ถามเรื่อง access เกี่ยวกับกล่องโต้ตอบ
กระทู้เก่าบอร์ด อ.Yeadram

 4,626   26
URL.หัวข้อ / URL
ถามเรื่อง access เกี่ยวกับกล่องโต้ตอบ

คือว่า โรงงานผมเป็นโกดังเก็บของครับ แต่ละวันก็จะมีของเขามามากมายครับ นายผมเลยอยากให้ผม
1.ทำรายงานว่าในแต่ละวันที่ระบุมีสินค้าอะไรเข้าบ้าง เท่าไหร่
2. สรุปในหน้าเดียวกันว่าสินค้าแต่ละตัวในช่วงเวลาที่ละบุในข้อ 1 นำเข้ามาทั้งหมดเท่าไหร่


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

การกรอกข้อมูลคือ 01/01/50 คือเริ่มต้น 01/01/55 คือสิ้นสุด แต่ท่านต้องใส่ 2 รอบ ผมยังทำเป็นรอบเดียวไม่ได้ รบกวนผู้รู้ด้วยครับ

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

1 @R14779
แนบไว้ที่ไหนครับ
2 @R14781
เอ เว็บนี้นแบได้ไหมคับ หรือช่วยกรุณาบอกอีเมลล์ด้วยครับเดี๋ยวผมส่งให้คัรบ
3 @R14782
แนะนำว่าใน query แรก และ query ที่สอง ไม่ควรมมีเงื่อน หากต้องใช้เงื่อนไขวันที่เริ่มต้นและสิ้นสุดเหมือนกัน แต่ให้ไปสร้าง query เพิ่มอีกหนึ่งอันแล้วนำไปผูกกับฟอร์มหลักของคุณแล้วเชื่อมฟอร์มหลัก กับฟอร์มย่อยทั้งสองเข้าด้วยกันด้วย กล่องข้อความวันที่
4 @R14783
ทั้งนี้ให้เงื่อนไขอยู่ใน query ที่สร้างใหม่แทน
5 @R14784
แบบไหนครับคุณ polo ผมยังไม่เข้าใจ
6 @R14785
พอลองทำตามที่คุณ polo บอกคือ สร้างอีก 1 query เพื่อใส่เงือนไขรับวันเดือนปี
แต่ปัญหาคือ อีก 2 query จะอ้างอิง query แรกยังไงครับ ผมทำไม่เป็น
7 @R14786
สร้าง textbox เปล่า ขึ้นมา 2 อันที่ฟอร์มหลักหรือฟอร์มที่มีปุ่มคำสั่งพิมพ์รายงาน textbox1(วันที่เริ่มต้น) และ textbox2(วันที่สิ้นสุด) ใสเงือนไขฟิลที่ต้องการทั้ง 2 Query โดยอ้างอิงtextboxจากฟอร์ม คือ between [forms]![ชื่อฟอร์ม]![textbox1] and [forms]![ชื่อฟอร์ม]![textbox2]
8 @R14787
1. หมายถึง 2 textbox นี้อยู่ในฟอร์มหลักใช่ไหมครับ
2. แล้วฟอร์มย่อยวางไว้บนฟอร์มหลักใช่ไหมครับ
3. คำถามคือ จะส่งคำสั่งไปยังฟอร์มย่อยอย่างไร เพราะลองสร้างปุ่มเพื่อให้โหลดฟอร์มย่อยมันก็ฟ้องว่า
This expression is typed incorrectly. or it is too complex to be evaluated. For example. a nummeric expression may contain too many too many complicated elements. Try simplifying the expression by assigning parts of the expression to variables
9 @R14788
ตอบคำถาม
ข้อที่ 1 ใช่ครับ
ข้อที่ 2 ใช่ครับ

Queryทั้ง 2 เวลาใส่เงือนไขให้อ้างอิงชื่อฟอร์มหลัก
ในปุ่มคำสังค้นข้อมูลในเหตุการณ์ onclick ใส่โค้ด

me.[ชื่อฟอร์มย่อยที่1].requery
me.[ชื่อฟอร์มย่อยที่2].requery

end sub
10 @R14789
ขอบคุณคุณ . มากครับ ผมทำตามคำแนะนำแรกได้แล้วได้แล้วนะครับ ติดปัญหานิดหน่อยตรงย่อฟอร์มให้เล็กลง แต่ขอบคุณมากสำหรับทั้งสองคำแนะนำครับ
11 @R14794
รบกวนคุณ . ทำตัวอย่างให้ดูได้ไหมครับ ผมอ่านแล้วทำตามไม่สำเร็จ ประมาณว่านึกภาพไม่ออกครับ
12 @R14795
วิีธีของผมก็คือ ต้องสร้าง textbox ไว้ที่ฟอร์มหลัก 1 อัน โดยผูกกับฟิวข้อมูลวันที่ใน Query ที่สร้างใหม่ จากนั้นเชื่อมโยงฟอร์มหลักและฟอร์มย่อยทั้งสองเข้าด้วยกันด้วย Link master fields กับ Link Child field โดย Link master fields ของฟอร์ย่อยทั้งสอง คือ texbox ที่ฟอร์มหลัก ส่วน Link Child field ของฟอร์มย่อยทั้งสอง คือ Textbox ที่ผูกอยู่กับ field วันที่ใน Query ทั้งสองครับ
13 @R14796
ถ้าอย่างที่คุณ polo พูดถึง มันจะค้นหาแบบคลอบคลุมวันที่ได้หรือเปล่าครับเช่นต้องการทราบว่าตั้งแต่วันที่ 01/12/2012 ถึง วันที่ 31/12/2012 มีรายการอะไรบ้าง ผมติดตรงต้องเรื่องนี้นะครับ

แต่ถ้าให้ถามตอนออก Rpt เลย ผมไปใช้คำสั่ง Between ใน Qury ก็ได้ แต่ตอน Print มันจะถามซ้ำอีกซึ่งมันวุ่นวายนะครับ

ผมอยากใช้วิธีให้ใส่ข้อมูลใน Textbox1 กับ Textbox2 แล้วให้ข้อมูลมันไปเก็บไว้ใน Tbl ว่างสักที แล้วให้ Rpt ไปใช้ข้อมูลที่ว่าง ๆ นั้นจะเป็นไปได้ไหมครับ ขอบคุณครับ
14 @R14799
อืมผมลืมนึกไปว่าวิธีของผมมันจะลิงค์เฉพาะวันที่เท่านั้นแม้ว่าจะดึงข้อมูลมาทั้งหมดแล้วก็ตามจึงไม่แนะนำให้ทำครับ แต่แนะนำให้ใช้วิธีของ คุณ . ดีกว่าครับ
15 @R14841
ผมทำอย่างคุณ polo เกือบสำเร็จแล้วครับ แต่ฟอร์มย่อยสุดท้ายคือ ฟอร์มสรุปว่ามีของเข้าเท่าไหร่ระหว่างวันที่ ... ถึงวันที่ .... ปัญหาคือ ข้อมูลมันแยกตามวันที่ครับ ผมลองตัดวันทีี่ไปมันก็รวมกันนะครับ เช่น
01/01/55 samsung 3 เครื่อง
02/01/55 samsung 1 เครื่อง

ผลที่จะต้องเป็นคือ ระหว่างวันที่ 01/01/55 - 02/01/55 samsung 4 เครื่อง แต่ผมทำได้
samsung 3
samsung 1

ไม่ทราบว่าผมควรแก้ตรงไหนครับ
ตรง cat_name ผมก็ใส่ Group by แล้วนะครับ
16 @R14842
1.สร้าง FORM ที่มี TEXTBOX 2 กล่องคือ TEXT1 และ TEXT2

2.เปิด FORM ค้างไว้ แล้วสร้าง QUERY ใส่ CRITERIA ว่า Between [Forms]![ชื่อFORM]![TEXT1] And [Forms]![ชื่อFORM]![TEXT2]
(กดคลิกขวา BUILD แล้วเลือก FILED จาก LOADED FORM จะชัวร์สุด)

3.ทำเหมือนกันกับอีก QUERY

4.2 QUERY อ้างเลขชุดเดียวกันแล้ว เวลาใช้งานก็เปิด FORM ใส่ค่าก่อนแล้วทำ MACRO ให้รัน FORM ที่สรุป 2 QUERY นั้นต่อ
17 @R14843
ถามคุณ PSD13 FORM สรุป ของเข้านี่จำเป็นต้องอยู่คนละหน้ากับ FORM ของเข้าหรือป่าวครับ อยู่หน้าเดียวกันได้ไหมครับ
18 @R14844
ปัจจุบันนี้ผมทำวิธีนี้ครับ คือ

Formหลัก > formที่ให้กรอกวันที่....ถึงวันที่... > ฟอร์มที่รวม 2 query คือ ของเข้าตามวันที่ และ สรุปของเข้าจากวันที่... ถึงวันที่...
19 @R14845
อยู่หน้าเดียวกันก็ได้ครับเอา TEXT1 TEXT2 ไว้ด้านบน FORMสรุป1ไว้ด้านล่างลงมาแล้วทำ SUBFORMสรุป2ไว้ด้านล่างลงมาอีก

แต่ถ้าไว้อันเดียวกันต้องตั้ง ปุ่มทำรายการไว้โดยใส่ MACRO ON CLICK ให้ REQUERY ไว้ครับ ไม่งั้นค่าจะไม่วิ่ง แต่ถ้าเปิด FORM ใหม่มันจะไม่ต้องมานั่งกังวลว่าค่าจะเพี้ยน

เป็นผมผมจะให้เปิด FORM ใหม่เป็นสรุปครับแล้วแสดงด้านบนไว้ว่าจากค่าไหนถึงไหนแต่ไม่ให้เปลี่ยนค่า ถ้าจะเปลี่ยนต้องปิดแล้วไปหน้าเลือก TEXT1 TEXT2 ใหม่
20 @R14847
ทำได้แล้วครับคุณ PSD13 ผมไปกำหนดตรง import_date ผิดเป็น group by ที่ถูกต้องเป็น where ครับ แต่ผมคงต้องปรับตามที่คุณ PSD13 บอกเพราะ Form ที่ใช้ระบุวันที่มันไม่ auto close ต้องสั่งเอง
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2790s