กระทู้เก่าบอร์ด อ.Yeadram
2,284 11
URL.หัวข้อ /
URL
สอบถามเรื่องกำหนดให้มองเห็น Record supFromที่เรากำ
สวัสดีครับอาจารย์ และสมาชิกทุกท่านครับ
กระผมอยากสอบถามเกี่ยวกับ การกำหนดให้มองเห็น Sup-Form แบบ แผ่นข้อมูล
ให้เห็นแค่ 10 Reccord พอมีตัวที่ 11 ก็ให้เป็นหน้าต่อไป
พอจะมีวิธีคิด หรือวิธีทำแบบไหนช่วยแนะนำบ้างครับ
จากรูปครับพอเป็นตัวที่ 11 อยากให้มันเป็นอีกหน้าหนึ่งครับ และRecord 21 ก็เป็นหน้าต่อไปประมาณนี้ครับ พอจะมีวิธีไหนที่จะทำได้บ้างครับ
หรือพอจะมีตัวอย่างให้ดูบ้างไหมครับ
ขอบคุณมากครับ
กระผมอยากสอบถามเกี่ยวกับ การกำหนดให้มองเห็น Sup-Form แบบ แผ่นข้อมูล
ให้เห็นแค่ 10 Reccord พอมีตัวที่ 11 ก็ให้เป็นหน้าต่อไป
พอจะมีวิธีคิด หรือวิธีทำแบบไหนช่วยแนะนำบ้างครับ
จากรูปครับพอเป็นตัวที่ 11 อยากให้มันเป็นอีกหน้าหนึ่งครับ และRecord 21 ก็เป็นหน้าต่อไปประมาณนี้ครับ พอจะมีวิธีไหนที่จะทำได้บ้างครับ
หรือพอจะมีตัวอย่างให้ดูบ้างไหมครับ
ขอบคุณมากครับ
11 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R16400
ผมลองเอา Code ใส่ใน Form เพื่อจะได้ปรับใช้ดูแต่
ลองเอาไปใส่แล้วมัน Error
รบกวนคุณ TTT ดูให้ทีครับ
ลองเอาไปใส่แล้วมัน Error
รบกวนคุณ TTT ดูให้ทีครับ
3 @R16403
คงประมาณแทนค่าชื่อตาราง ฟิลด์ ฟอร์ม ผิด ก็แทนให้ถูกครับ ลองแก้ไขดูครับ
ปล. ลิ้งค์ประเภทนี้ผมไม่โหลดนะครับ เครื่องผมเอาไว้ใช้งานไม่ขอเสี่ยง และผมก็ไม่มีเวลาดูให้ด้วย ต่อไปผมจะช่วยแนะนำแค่แนวคิดนะครับ
ปล. ลิ้งค์ประเภทนี้ผมไม่โหลดนะครับ เครื่องผมเอาไว้ใช้งานไม่ขอเสี่ยง และผมก็ไม่มีเวลาดูให้ด้วย ต่อไปผมจะช่วยแนะนำแค่แนวคิดนะครับ
4 @R16404
ได้ครับ ขอบคุณครับ
เดี๋ยวหากผมติดผมส่งเป็นรูปให้ชี้แนะนะครับ
ขอบคุณครับ
เดี๋ยวหากผมติดผมส่งเป็นรูปให้ชี้แนะนะครับ
ขอบคุณครับ
5 @R16405
เรียนคุณ TTT
ขึ้น Error ตามภาพครับ
ผมก็ลองเช็ค ชื่อตาราง ฟิลด์ ฟอร์ม ผมได้ตั้งแบบคุณ TTT ทุกอย่างเลยนะครับ
แต่ก็ไม่ผ่านครับ มันขึ้นแบบในรูปครับ
ขึ้น Error ตามภาพครับ
ผมก็ลองเช็ค ชื่อตาราง ฟิลด์ ฟอร์ม ผมได้ตั้งแบบคุณ TTT ทุกอย่างเลยนะครับ
แต่ก็ไม่ผ่านครับ มันขึ้นแบบในรูปครับ
6 @R16406
อื่ม! อ่านแล้วผมว่าโจทย์ที่คุณตั้งขึ้นมามันลอยๆนะครับ แสดงว่าคุณไม่เคยมีการคิดมาก่อนหน้านี้เลย
สิ่งคุณอยากได้คือ เมื่อ Main Form อยู่ที่หน้า 1 ให้แสดงเรคคอร์ดที่ SubForm ลำดับ ID ที่ 1-10 Main Form อยู่ทหน้า 2 ก็จะแสดงเรคคอร์ดใน Sub Form ลำดับ ID ที่ 11-20
ฉนั้นใน Main Form คุณต้องมีการดึงข้อมูลจากตารางหรือคิวรี่ด้วยซิครับ แต่ที่มัน Error ฟ้องแบบนี้ แสดงว่า MainForm น่าจะเป็น Unbound ทำให้ไม่มีค่า CurrentRecord แล้วคุณจะเลื่อนหน้า MainForm โดยใช้ฐานข้อมูลอะไรหรือครับ
ผมว่าคุณควรออกแบบรูปร่างหน้าตา การใช้ฐานข้อมูลจาก MainForm SubForm ให้ได้เสียก่อน แล้วค่อยมาลงเรื่องรายละเอียดประเภทคัดแยกข้อมูลจะดีกว่านะครับ
สิ่งคุณอยากได้คือ เมื่อ Main Form อยู่ที่หน้า 1 ให้แสดงเรคคอร์ดที่ SubForm ลำดับ ID ที่ 1-10 Main Form อยู่ทหน้า 2 ก็จะแสดงเรคคอร์ดใน Sub Form ลำดับ ID ที่ 11-20
ฉนั้นใน Main Form คุณต้องมีการดึงข้อมูลจากตารางหรือคิวรี่ด้วยซิครับ แต่ที่มัน Error ฟ้องแบบนี้ แสดงว่า MainForm น่าจะเป็น Unbound ทำให้ไม่มีค่า CurrentRecord แล้วคุณจะเลื่อนหน้า MainForm โดยใช้ฐานข้อมูลอะไรหรือครับ
ผมว่าคุณควรออกแบบรูปร่างหน้าตา การใช้ฐานข้อมูลจาก MainForm SubForm ให้ได้เสียก่อน แล้วค่อยมาลงเรื่องรายละเอียดประเภทคัดแยกข้อมูลจะดีกว่านะครับ
7 @R16407
ขอบคุณมากครับ
กระจ่างเลยครับ คือผมอาจจะเข้าใจยากหน่อยครับ
แต่จากการที่คุณ TTT อะธิบายผมเข้าใจแล้วครับ
ผมจะทำตามดูครับ
เดี๋ยวมาแจ้งผลครับ
ขอบคุณครับ
กระจ่างเลยครับ คือผมอาจจะเข้าใจยากหน่อยครับ
แต่จากการที่คุณ TTT อะธิบายผมเข้าใจแล้วครับ
ผมจะทำตามดูครับ
เดี๋ยวมาแจ้งผลครับ
ขอบคุณครับ
8 @R16408
ได้แล้วครับ ตามนี้ครับ
Form_Form2.Filter = "Table1!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Table1!ID < " & Me.CurrentRecord * 10 + 1
Form_Form2.FilterOn = True
ขอบคุณ คุณ TTT ครับ
ได้แล้วครับ ตามนี้ครับ
Form_Form2.Filter = "Table1!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Table1!ID < " & Me.CurrentRecord * 10 + 1
Form_Form2.FilterOn = True
ขอบคุณ คุณ TTT ครับ
9 @R16460
สอบถามคุณ TTT อีกครั้งครับ หรือท่านอื่นๆที่เข้าใจเรื่อง นี้ครับ
พอดีพมมี Form คล้ายๆกันนี้ประมาณ 3 Form ครับ
ทุกๆ Form จะมี Form หลักของตัวเองอยู่ครับ อย่างเช่น Form2 เป็น formย่อยของ A1 เป็นต้นครับ ผมใส่ Code ทุกFormหลัก A1,A2,A3 ที่Form_Current()
Formที่ 1
Form_Form2.Filter = "Query1!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Query1!ID < " & Me.CurrentRecord * 10 + 1
Form_Form2.FilterOn = True
Formที่ 2
Form_Form3.Filter = "Query2!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Query2!ID < " & Me.CurrentRecord * 10 + 1
Form_Form3.FilterOn = True
Formที่ 3
Form_Form4.Filter = "Query3!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Query3!ID < " & Me.CurrentRecord * 10 + 1
Form_Form4.FilterOn = True
ต่อพอผลลัพที่ได้คือ
Formที่ 1 ได้ 10 Reccord แล้วเปลี่ยนหน้าตามต้องการ
แต่
Formที่ 2 ได้หน้าว่าง 1 หน้าแล้วเป็นข้อมูลครับ
Formที่ 3 ได้หน้าว่าง 2 หน้าแล้วเป็นข้อมูลครับ
คืออยากทราบว่าทำไม่มันเป็นค่าว่าง 1 หน้าก่อนแล้วค่อยมีข้อมูลครับ
ทั้งๆที่มันเรียกใช้ Query คนละตัวครับ แต่ Query ทุกตัวมาจาก Teble เดียวกันนะครับ
ขอบคุณครับ
พอดีพมมี Form คล้ายๆกันนี้ประมาณ 3 Form ครับ
ทุกๆ Form จะมี Form หลักของตัวเองอยู่ครับ อย่างเช่น Form2 เป็น formย่อยของ A1 เป็นต้นครับ ผมใส่ Code ทุกFormหลัก A1,A2,A3 ที่Form_Current()
Formที่ 1
Form_Form2.Filter = "Query1!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Query1!ID < " & Me.CurrentRecord * 10 + 1
Form_Form2.FilterOn = True
Formที่ 2
Form_Form3.Filter = "Query2!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Query2!ID < " & Me.CurrentRecord * 10 + 1
Form_Form3.FilterOn = True
Formที่ 3
Form_Form4.Filter = "Query3!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Query3!ID < " & Me.CurrentRecord * 10 + 1
Form_Form4.FilterOn = True
ต่อพอผลลัพที่ได้คือ
Formที่ 1 ได้ 10 Reccord แล้วเปลี่ยนหน้าตามต้องการ
แต่
Formที่ 2 ได้หน้าว่าง 1 หน้าแล้วเป็นข้อมูลครับ
Formที่ 3 ได้หน้าว่าง 2 หน้าแล้วเป็นข้อมูลครับ
คืออยากทราบว่าทำไม่มันเป็นค่าว่าง 1 หน้าก่อนแล้วค่อยมีข้อมูลครับ
ทั้งๆที่มันเรียกใช้ Query คนละตัวครับ แต่ Query ทุกตัวมาจาก Teble เดียวกันนะครับ
ขอบคุณครับ
10 @R16461
ลองเอา code ทั้งหมดมาวางใน Form1 ดูสิครับ
11 @R16462
ครับจาก Cord ผมวาง Form หลัก ทั้ง 3 ตัวครับ
แล้ว Form หลักที่ 2 และ3 มันจะมีหน้าว่างก่อน1 และ2 หน้า ครับ
ก็เลยงงว่ามันเกิกจากตัวไหนได้บ้างครับ
ขอบคุณครับ
แล้ว Form หลักที่ 2 และ3 มันจะมีหน้าว่างก่อน1 และ2 หน้า ครับ
ก็เลยงงว่ามันเกิกจากตัวไหนได้บ้างครับ
ขอบคุณครับ
Time: 0.2406s
Main Form ชื่อ Form1
Sub Form ชื่อ Form2
Sub Form ดึงข้อมูลมาจากตารางชื่อ Table1
ฟิลด์ AutoNumber ใน Form2 ชื่อ ID
- ใน Main Form เขียนคำสั่งใน Event > On Current ดังนี้:
Forms!Form1.Form2.Form.Filter = "Table1!ID > " & (Me.CurrentRecord - 1) * 10 & " AND Table1!ID < " & Me.CurrentRecord * 10 + 1
Forms!Form1.Form2.Form.FilterOn = True
ปรับใช้ดูครับ