รันหมายเลขแบบกำหนดเลขเริ่มต้นเอง
กระทู้เก่าบอร์ด อ.Yeadram

 2,518   7
URL.หัวข้อ / URL
รันหมายเลขแบบกำหนดเลขเริ่มต้นเอง

สวัสดีค่ะ ใช้บริการจากเวบนี้แบบเงียบๆ จากที่ไม่รู้อะไรเลย จนรายงานจะเสร็จสมบูรณ์แล้ว ถือโอกาสขอบคุณมา ณ ที่นี้เลย   
แต่มีคำถามเกี่ยวกับการรันหมายเลขหน่อยค่ะ เปิดกระทู้เก่าๆ มาอ่านมาทดลองทำตาม จนมึนตื๊บไปหลายวันแล้วก็ยังไม่เป๊ะตามความต้องการ คือจะมีรายงาน 2 ฉบับ

ฉบับที่ 1 แสดงรายละเอียดของข้อมูล ซึ่งจะมีหลายแผ่น ต้องการให้มีเลขรันที่ส่วนหัวรายงานของทุกๆ แผ่น เรียงกันไป โดยเรากำหนดเลขเริ่มต้น เช่น 123 แล้ว เริ่มพิมพ์ 123, 124, 125,... จนจบรายงานฉบับนี้

ฉบับที่ 2 แสดงรายการของฉบับที่ 1 ว่า
เลขที่ 123   ยอดรวม   xxxxx
เลขที่ 124   ยอดรวม   xxxxx
เลขที่ 125   ยอดรวม   xxxxx
.....                            .....

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

ขอบคุณล่วงหน้าค่ะ

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

1 @R08751
1) ปกติเวลาแสดงเลขหน้าที่เท่าไหร่ในรายงาน เราจะกำหนด =[Page] ลงใน ControlSource property ของเท็กซ์บ็อกส์ที่ใช้แสดง แต่เมื่อคุณต้องการหน้าแรกมีค่าจากคอนโทรลที่อยู่บนฟอร์ม ก็กำหนดให้เป็น =[Page] + Forms("ชื่อฟอร์ม").[ชื่อคอลโทรล] - 1 แทนครับ

2) http://www.thai-access.com/yeadram_view.php?topic_id=1709
2 @R08773
ขอบคุณค่ะอาจารย์สันติสุข เห็นเค้าเรียกอาจารย์กันหนูขอเรียกด้วยคนค่ะ ด้วยความเคารพ
ข้อ 1. ทำอย่างที่อาจารย์เขียนเป็นตัวอย่างแล้วมัน error ค่ะ แต่ทดลองเปลี่ยนเป็น =[Page]+[start]-1 ก็ได้แล้วค่ะ   แต่ยัง งง งง ค่ะ สมมุติตัวเลขแล้ว ลองเช็คกับตัวเลขใน Form, Table ที่สร้างขึ้นกับในรายงาน เป็นคนละเลขกัน งง ค่ะ หนูไม่รู้ว่าเลขที่เราคีย์นี้ไปเก็บอยู่ที่ไหน แต่ว่าผลลัพธ์ที่ได้ก็เหมือนกับที่ต้องการ   .... ถ้าอย่างนั้น เราไม่ต้องมีฟอร์มกับเทเบิลนี้ก็น่าจะได้ใช่มั๊ยคะ

ข้อ 2. หนูเคยเข้าไปอ่านกระทู้นี้แล้วค่ะ คิดว่าน่าจะคล้ายกับที่หนู (และอีกหลายคน) ต้องทำรายงานลักษณะนี้ แต่หนูยัง งง งง เพราะหนูไม่มีพื้นฐาน access เลย มาถึงขั้นพอทำได้ก็จากที่นี่แหละค่ะ แต่ก็ยังไม่เข้าใจในวิธีการเท่าไหร่ เดี๋ยวขอทดลองทำก่อนนะคะ

ขอบคุณค่ะ
3 @R08774
1) ค่า(ตามตัวอย่าง) 123 ของคุณนี่เก็บเอาไว้ที่ไหน (บนฟอร์มที่มาเรียกรายงานตัวนี้ หรือ บนฟิลด์ในเทเบิล/คิวรี่ที่นำมาสร้างเป็นรายงานตัวนี้) ? เพราะจาก =[Page]+[start]-1 แสดงว่า start นั้นเป็นฟิลด์บนรายงาน ซึ่งก็น่าจะมาจากฟิลด์ในเทเบิล/คิวรี่ที่นำมาสร้างเป็นรายงานตัวนี้อีกที ส่วนรูปแบบที่ผมตอบไปนั้น ค่า 123 มาจากฟอร์มที่เรียกรายงานนี้ครับ

แล้วที่คุณบอกว่า "ลองเช็คกับตัวเลขใน Form, Table ที่สร้างขึ้นกับในรายงาน เป็นคนละเลขกัน" นั้น อยากทราบว่าบนฟอร์มเป็นเลขอะไร ชื่อเท็กซ์บ็อกส์ชื่ออะไร และค่าในเทเบิลมีค่าเป็นเท่าไหร่ และชื่อฟิลด์นั้นชื่อว่าอะไรด้วย ?

4 @R08775
ปล. มีผู้หญิงในประเทศไทย ณ ปัจจุบันนี้น้อยเหลือเกินที่ใช้คำว่า คะ กับ ค่ะ ถูกต้อง โดยเฉพาะเด็กสมัยใหม่ใช้กันมั่วไปหมด ผมไม่รู้ว่าเกิดอะไรขึ้นจริงๆกับการศึกษาของไทย ขอชมว่าคุณเป็นหนึ่งในคนที่ใช้ถูกต้อง และเป็นหนึ่งในไม่กี่คนในนี้ที่เขียนถูกต้อง

จะหาว่าผมบ้าก็ได้ แต่คนที่ใช้ไม่ถูก ผมไม่ค่อยอยากตอบสักเท่าไหร่ เห็นแล้วมันขัดลูกตาครับ
5 @R08776
ตอนแรกหนูสร้างฟอร์มมาชื่อ "autorun" ชื่อ text box "start" แล้ว ในรายงานตรงcontrol source ก็ทำตามตัวอย่างของอาจารย์แต่เปลี่ยนชื่อ ฟอร์ม เป็น autorun และชื่อ text box เป็น start ค่ะ ก็ขึ้น error ค่ะ
เลยทดลองสร้างตารางขึ้นมา แล้วเอามาสร้างฟอร์ม ชื่อเหมือนเดิม ก็ยังไม่ได้
ทดลองสร้าง query จากตารางด้วยก็ยังไม่ได้ค่ะ

ตอนนี้หนูลองทำกับรายงานอีกฉบับนึง โดยไม่สร้างตาราง, ฟอร์ม หรือ query เลย ก็ได้ผลตามต้องการเหมือนกันค่ะ แต่เวลาจะออกรายงาน จะมี pop up ให้กรอก start ซึ่งก็โอเคค่ะ

ขอบคุณค่ะ
6 @R08777
ไม่เข้าใจว่าทำไมไม่ได้ ผมทดลองแล้วก็ได้

ตอนจะเปิดรายงานนั้น ฟอร์ม autorun ต้องเปิดอยู่นะครับ ไม่ทราบว่าเปิดอยู่หรือไม่ ? ถ้าเปิดอยู่ คุณลองป้อนตัวเลขหน้าเริ่มต้นเข้าไป แล้วกด Ctrl-G ซึ่งจะไปเปิด Immediate Windows ขึ้น แล้วป้อนคำสั่งว่า ? Forms("autorun").start ดูครับว่า error หรือไม่ ถ้า error มันแจ้งข้อความเต็มๆว่าอย่างไร ?

ส่วนที่มัน popup ให้ป้อนค่า start นั้น ก็เพราะ Access มันหาค่าไม่เจอว่า start นั้นคืออะไรครับ พอคุณป้อนค่าเข้าไป มันก็ใช้ค่านั้นสำหรับพารามิเตอร์ start ครับ
7 @R08811
ขอบคุณสำหรับคำชมค่ะ ตัวหนูเองก็ไม่ชอบอ่านข้อเขียนที่ผิดเพี้ยน เลยพยายามเขียนให้ถูกค่ะ รักเมืองไทย และรักภาษาไทยค่ะ
...
อ๋อ ใช่อย่างที่อาจารย์บอกจริงๆ ด้วยค่ะ หนูไม่ได้เปิดฟอร์ม ตอนเปิดรายงาน ก็เลยขึ้น #error? บ้าง # name?บ้าง

แต่ถ้าหากว่าตัวเลขที่คีย์ใส่ในฟอร์มไม่ได้ไปเก็บไว้ที่ตาราง และไม่สามารถดึงไปทำรายงานฉบับที่ 2 ได้ อย่างนั้นเราก็ทำแบบที่ให้ขึ้น popup มาถามแต่ละครั้งน่าจะดีกว่า ..

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