อยากให้ข้อมูลสองข้างเท่ากันค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 3,843   23
URL.หัวข้อ / URL
อยากให้ข้อมูลสองข้างเท่ากันค่ะ



ข้อมูลตามภาพนี้เลยค่ะ
อยากให้ข้อมูลแสดง 2 ข้างเท่ากัน
ข้อมูลที่เกิน ให้แสดงที่กึ่งกลางหน้ากระดาษค่ะ

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

1 @R16124
นี่ทำอะไร ฟอร์ม หรือรายงาน
น่าจะเป็นรายงานนะ
ต้องเขียนโค้ด ครับ อาจเขียนเป็นฟังก์ชั่น แล้วฝังในเหตุการ on print หรือ on format ครับ

จะแนะนำเพิ่ม หรือจะยกตัวอย่างโค้ด ก็ลำบาก มันไม่มีข้อมูลอ้างอิงครับ
2 @R16125
ภาพที่ให้ดูเป็นหน้ารายงานค่ะ
ข้อมูลอ้างอิงหมายถึงอะไรคะ
คุณ yeadram ช่วยยกตัวอย่างหน่อยค่ะ
ขอบคุณมากค่ะ
3 @R16126
อันนี้เป็นหน้าออกแบบรายงานค่ะ
4 @R16127


อันนี้เป็นหน้าที่ออกแบบรายงานค่ะ
5 @R18303
เจ้าของกระทู้ทำได้หรือยังครับ รบกวนขอคำปรึกษาด้วยครับ พอดีต้องการทำ report รุปแบบเดียวกัน
6 @R18556
ยังทำไม่ได้เลยค่ะ ท่านใด พอให้ความรู้ได้ ช่วยด้วยนะคะ
7 @R18557
คือผมงงกับคำถาม ส่งไฟล์(เฉพาะส่วนที่มีปัญหา) มาให้ดูได้ไหมครับ พร้อมคำอธิบายถึงปัญหา
8 @R18562
คิดว่ารูปกับคำถามน่าจะไม่ตรงกันแล้วนะครับ
(ปัญหาของ web นี้)
9 @R18618


ภาพนี้ค่ะ

อยากให้ข้อมูลทั้ง 2 ข้าง แสดงเท่ากัน
หากไม่ครบคู่ ให้ข้อมูลที่เป็นเศษแสดงที่กึ่งกลางหน้ากระดาษค่ะ

รบกวนทุกท่านด้วยนะคะ
10 @R18623
ทำให้ข้อมูล 2 ข้างแสดงเท่ากันน่ะคิดวิธีการออก

แต่เศษให้อยู่กึ่งกลางเนี่ยคิดไม่ออกจริงๆ
11 @R18948
มีแนวคิดอย่างไรลองแนะนำก่อนได้นะคะ
จะได้ทำไปลองปรับใช้ดูก่อนค่ะ
ขอบคุณทุกท่านค่ะ
12 @R18950
หายไปนานเลย

แนวคิดคือให้ออกรายงายในรูปแบบ Label ครับ เพียงเท่านี้เราก็จะได้ข้อมูลออกมาเป็นจำนวนคอลัมน์แล้วครับ
13 @R18952
ใช่คนเดียวกันกับที่ถามผมเรื่องสมุดธนาคารหรือเปล่าครับ

การพิมพ์เป็นแบบ ซ้ายคนที่ 1   ต่อไปคนที่ 2 ก็พิมพ์ทางขวา   แล้วคนที่ 3 ก็ขึ้นบรรทัดใหม่พิมพ์ทางซ้าย   ไปอย่างนี้เรื่อยๆจนถ้าเหลือคนสุดท้ายคนเดียว ก็ให้พิมพ์กึ่งกลางกระดาษ ? หรือ ลำดับเรียงลำดับจากบนลงล่างก่อน เมื่อเต็มหน้าค่อยเปลี่ยนไปทางคอลัมน์ขวา
14 @R19000
ถูกต้องค่ะ อ. สันติสุข คนเดียวกันค่ะ

การพิมพ์เป็นแบบ ซ้าย คนที่ 1 - 50 ขวา คนที่ 51 - 100 ค่ะ ถ้าไม่ครบคู่ก็จะเป็นเศษกึ่งกลางหน้ากระดาษค่ะ

รบกวนด้วยนะคะ
15 @R19001
ถ้าพิมพ์ซ้าย-ขวา ซ้าย-ขวา ยังมีทาง แต่บนลงล่างก่อน ไม่น่าเป็นไปได้ครับ ถ้าเป็นผม ผมคงไปพิมพ์ออก Excel แทนครับ
16 @R19002
ถ้าพิมพ์ซ้าย-ขวา มีวิธีอย่างไรคะ
17 @R19004
แนวคิดคือ ไปกำหนดจำนวนคอลัมน์ที่จะพิมพ์ที่ Page Setup เป็น 3 (ย้ำอีกทีว่า 3 ไม่ใช่ 2) แล้วกำหนด Column Width เป็น หนึ่งในสาม ของความกว้างกระดาษ เลือก Column Layout เป็น Cross, Then Down ดังนั้นเวลาพิมพ์มันก็จะพิมพ์ 3 เรคอร์ดในบรรทัดเดียว แต่เราจะควบคุมไม่ให้พิมพ์คอลัมน์กลาง ยกเว้นกรณีเป็นเศษเหลือ ซึ่งจะกลับกันคือไม่ให้พิมพ์คอลัมน์แรก



เราใช้ Me.NextRecord = False และ Me.เท็กซ์บ็อกซ์.Visible = False สำหรับลำดับที่ 2, 5, 8, ... ซึ่งอยู่ในคอลัมน์กลาง (ตย.ในคำถามที่เคยถามผมนั่นแหล่ะ http://www.thai-access.com/yeadram_view.php?topic_id=487) ดังนั้นคอลัมน์กลางจะไม่แสดงออกมา แต่เราจะเช็คลำดับจากเท็กซ์บ็อกซ์ SEQ ไม่ได้ เพราะเมื่อ Me.NextRecord = False ค่า SEQ มันก็จะไม่เปลี่ยนไปด้วย เราต้องสร้างตัวแปรเพื่อนับลำดับเอาเอง พอถ้ามีเศษเหลือสุดท้าย เราก็ต้องสั่งเหมือนข้างต้น แต่สั่งที่เรคอร์ดที่แสดงในคอลัมน์แรกแทน

ส่วนจะรู้ได้ยังไงว่าเป็นเรคอร์ดลำดับสุดท้าย ก็ใช้การเก็บเลขลำดับสูงสุดที่นับได้ในลูปแรกของรายงานไว้ก่อน (วิธีการทดสอบลูปแรกของรายงาน ดูได้จาก http://www.thai-access.com/yeadram_view.php?topic_id=3981&page=2 คำตอบ (R18132) ตรงบรรทัดที่เริ่มด้วย If Me.Pages = 0 Then) พอลูปจริงก็นำมาเปรียบเทียบครับ

18 @R19027
ขอบคุณ อ.สันติสุข นะคะ จะลองนำวิธีการไปปรับใช้ ได้ผลอย่างไร จะมาแจ้งให้ทราบค่ะ
19 @R19034
เพิ่งสังเกตุเห็นว่าเป็นกระทู้ข้ามปีแล้ว เจ้าของกระทู้ยังพยามอยู่เลย ผมมีไฟล์เก่าเคยทำไว้แบบ Down Then Across 2 คอลัมน์เท่ากัน แต่ถ้ามีเศษจะอยู่คอลัมน์ขวาหรือซ้ายก็ได้ แต่แบบตรงกลางไม่มีอ่ะครับ พอได้ไม๊ครับ ถ้าสนใจก็ตอบกลับมานะครับ เดี๋ยวส่งไฟล์ตัวอย่างไปให้ดู

20 @R19051
จากแนวคิดของ อ.สันติสุข ผมลองปรับแก้ไฟล์ผมดู สามารถทำได้ประมาณนี้ครับ


ลองโหลดไฟล์ไปปรับใช้ดูครับ

https://www.dropbox.com/s/adz6b1bi3r77w8w/Down%20then%20across%28Mid%29.mdb
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3146s