แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - mtaccess

หน้า: 1 ... 7 8 9 [10]
145
ใช้การ Running Number Query มาช่วยก็ได้คับ
วิธีทำ 1 สร้างคิวรี่ชื่อ QryID ใส่โค้ดนี้
โค๊ด: [Select]
SELECT (Select count(*) From Table1 as a Where a.ID <= Table1.ID) AS [Running No], Table1.ID AS RID
FROM Table1;
2.ที่ RecordSource ของ Report ใส่โค้ดนี้เข้าไป
โค๊ด: [Select]
SELECT Table1.ID, Table1.[Product Name], Table1.Quantity, QryID.[Running No], *
FROM Table1 INNER JOIN QryID ON Table1.ID = QryID.RID;


3.สร้าง Textbox ขึ้นมาอีกอัน เอา Field RunningNo ใส่เข้าไปแล้วซ่อน textbox นี้ไว้นะครับ


4.ที่ textbox txtID ใส่โค้ดเป็นแบบนี้
โค๊ด: [Select]
=IIf([Running No] Mod 40=0,40,[Running No] Mod 40)
เท่านี้ก็จะรันลำดับอย่างถูกต้องแล้วคับ   :grin:


เดี๋ยวจะลองดูนะคะ ได้ผลยังไงจะมารายงานนะคะ ขอบคุณมากๆนะคะ

146
เรื่องการทำเส้นให้เต็มในรายงานลองอ่านกระทู้นี้ดูนะครับ
https://www.thai-access.com/yeadram_view.php?topic_id=3065&PagePosition=1
ส่วนเรื่องเลขที่ตัดทุก 40 ใช้การเขียนคำสั่งหารสั้นเอาแต่เศษด้วยทำสั่ง Mod ที่เลขลำดับของเรา โดยใช้เงื่อนไข
=IIf([ID] Mod 40=0,40,[ID] Mod 40)
คือหารสั้นเอาแต่เศษด้วย 40 แต่ถ้าเศษเป็น 0 ให้เท่ากัย 40 วิธีนี้ ID ต้องเรียงเลขกันห้ามข้ามนะครับ
ไฟล์ตัวอย่าง link

หลังจากทดสอบแล้วติดปัญหาในกรณีที่ถ้ามีการลบข้อมูล ID ใน Table หมายเลขที่รันหายไปเลยค่ะ ตามรูปที่ส่งมา ซึ่งในการใช้งานจริง ID ต้องมีการลบอยู่แล้วค่ะ และข้อมูลจริงมีเยอะ 5000 กว่า Record ขึ้น และก่อนจะปริ้นรายงาน มีการค้นหาด้วยวันที่ด้วยค่ะ





147
เรื่องการทำเส้นให้เต็มในรายงานลองอ่านกระทู้นี้ดูนะครับ
https://www.thai-access.com/yeadram_view.php?topic_id=3065&PagePosition=1
ส่วนเรื่องเลขที่ตัดทุก 40 ใช้การเขียนคำสั่งหารสั้นเอาแต่เศษด้วยทำสั่ง Mod ที่เลขลำดับของเรา โดยใช้เงื่อนไข
=IIf([ID] Mod 40=0,40,[ID] Mod 40)
คือหารสั้นเอาแต่เศษด้วย 40 แต่ถ้าเศษเป็น 0 ให้เท่ากัย 40 วิธีนี้ ID ต้องเรียงเลขกันห้ามข้ามนะครับ
ไฟล์ตัวอย่าง link

ขอบคุณมากๆนะคะ จะลองทำตามแนวทางที่แนะนำมา ได้ผลอย่างไรจะแจ้งให้อาจารย์ทราบนะคะ

148
รบกวนสอบถามเกี่ยวกับการรันหมายเลขลำดับใน Report ใน Access
1.ต้องการให้รายงานแสดงหน้าละ 20 record ถ้าไม่ครบ 20 record ให้แสดงช่องว่างให้ครบ 20 record เช่น ถ้ามีข้อมูล 7 record ให้แสดงข้อมูล อันดับที่ 8-20 แสดงช่องว่างสำหรับสามารถปริ้นแล้วเขียนข้อมูลลงในนั้นได้ค่ะ
2.ต้องการให้รายงานรันหมายเลขลำดับที่ 1-40 ถ้ามีลำดับในข้อมูล 41 เป็นต้นไปให้เริ่มรันหมายเลขลำดับเป็น 1 ใหม่
รบกวนแนะนำด้วยค่ะ
ขอบคุณค่ะ

ตัวอย่างรายงาน
แสดงข้อมูลลำดับที่ 1-40 หน้าละ 20 แถว




ในกรณีที่มีข้อมลลำดับที่ 41 เป็นต้นไปให้รันหมายเลขลำดับใหม่ค่ะ และให้แสดงแถวให้ครบ 20 แถว ในกรณีไม่มีข้อมูลตามรูปนี้ค่ะ





149
สมมุติ Field ที่เก็บคำนำหน้าชื่อว่า TitleName
ใช้ Replace Function
โค๊ด: [Select]
Replace([TitleName],".","")


ทีนี้ในคำนำหน้าชื่อมา . กี่อันมันลบหมดเลยคับ


ขอบคุณค่ะ ทำได้แล้วค่ะ

150
สอบถามเรื่องการตัดจุดออกหลังคำนำหน้าใน Query Access ค่ะ เช่น Mr. และ Mrs. ใช้คำสั่งยังไงคะ ถ้าข้อมูลที่มีการบันทึกไม่มี . ก็ให้แสดงข้อมูล Mr และ Mrs ปรกติ ต้องการตัด . ออก รบกวนแนะนำด้วยค่ะ ขอบคุณค่ะ

หน้า: 1 ... 7 8 9 [10]