ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

08 พ.ค. 61 , 19:39:37
อ่าน 1200 ครั้ง

royaltool



จากรูปคือผมอยากให้พอกดปุ่มแล้วสามารถสั่งพิมพ์ Report จาก Filter ในแบบฟอร์มนี้ได้ครับ
ไม่ทราบว่าต้องใช้คำสั่ง VBA ว่าอย่างไรบ้างครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: Talosang

08 พ.ค. 61 , 20:14:43
ตอบกลับ #1

ปิ่นณรงค์

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #1 เมื่อ: 08 พ.ค. 61 , 20:14:43 »
ที่ CommandBotton Event On Click
โค๊ด: [Select]
Private Sub Command15_Click()
  Dim strWhere As String
    If Me.Dirty Then
        Me.Dirty = False
    End If
    If Me.NewRecord Then
        MsgBox "Select a record to print"
    Else
        strWhere = Me.Form.Filter
        DoCmd.OpenReport "Report1", acViewPreview, , strWhere
    End If
    End Sub
หมายเหตุ Report1 คือชื่อ ของรายงานที่จะแสดง
ถ้าไม่ต้องการดูตัวอย่าง อยากให้กดปุ่มแล้ว print เลยให้แก้เป็น
DoCmd.OpenReport "Report1", acViewNormal, , strWhere

ถ้าอยากให้สะดวกในการ ล้าง Filter เพื่อกำหนดใหม่อาจจะสร้าง ปุ่มขึ้นมาอีก 1 อันใส่คำสั่งไปว่า

Me.Form.FilterOn = False

เท่านี้ค่าที่ Filter ไว้ก็จะหายไปแล้วครับ
« แก้ไขครั้งสุดท้าย: 08 พ.ค. 61 , 22:34:57 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

08 พ.ค. 61 , 22:41:41
ตอบกลับ #2

royaltool

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #2 เมื่อ: 08 พ.ค. 61 , 22:41:41 »
ก่อนอื่นผมต้องขอขอบคุณมาก ๆ นะครับ ที่เข้ามาช่วยตอบผม

ผมขอสอบถามเพิ่มเติมหน่อยครับ
Dim strWhere As String หรือ Dim strTemp หรือ Dim I As Integer มันคืออะไรหรอครับ ( 2อันหลังนี้ผมเอามาจาก Youtube ครับ )
แล้วถ้าหากว่าผมต้องการศึกษาเรื่องการเขียนโค๊ดพวกนี้เอง ผมต้องใช้ Keyword ใน Youtube ว่าอะไรหรอครับ

 

08 พ.ค. 61 , 22:49:16
ตอบกลับ #3

ปิ่นณรงค์

> > ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #3 เมื่อ: 08 พ.ค. 61 , 22:49:16 »
ก่อนอื่นผมต้องขอขอบคุณมาก ๆ นะครับ ที่เข้ามาช่วยตอบผม

ผมขอสอบถามเพิ่มเติมหน่อยครับ
Dim strWhere As String หรือ Dim strTemp หรือ Dim I As Integer มันคืออะไรหรอครับ ( 2อันหลังนี้ผมเอามาจาก Youtube ครับ )
แล้วถ้าหากว่าผมต้องการศึกษาเรื่องการเขียนโค๊ดพวกนี้เอง ผมต้องใช้ Keyword ใน Youtube ว่าอะไรหรอครับ

จากตัวอย่าง
Dim. คือ คำสั่ง ( statements) สำหรับประกาศตัวแปร ครับ
strWhere  คือ  ชื่อของตัวแปรที่ต้องการประกาศ
ส่วน As .... date  , Integer , string , อื่นๆๆ เป็นส่วนที่บอกให้ Visual Basic ทราบว่าต้องการกำหนดชนิดของข้อมูลเป็นแบบไหน.
date วันที่
integer ตัวเลข จำนวนเต็ม
String ข้ออมูลชนิดchar หลายๆตัวนํามาเชื่อมต่อกันเป็นstring
ยังมีชนิดข้อมูลอื่นๆอีกครับ

ส่วนการศึกษาเรื่องพวกนี้ เราควรจะมีการตั้งโจทย์ไว้ก่อนว่าเราต้องการอะไร อยากให้แสดงผลอะไรก่อนเหมือนที่คุณกำลังคิดว่าเราจะพิมพ์หน้าผ่าน Filter Form ต้องทำอย่างไร เมื่อได้โจทย์แล้ว เราก็ไปหาตามโจทย์นั้นเลย แต่มือใหม่ยังไม่เข้าใจเกี่ยวกับ Syntax เลย ก็สอบถามผมได้ครับผมยินดีให้คำปรึกษา
« แก้ไขครั้งสุดท้าย: 08 พ.ค. 61 , 22:55:08 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

08 พ.ค. 61 , 22:54:12
ตอบกลับ #4

royaltool

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #4 เมื่อ: 08 พ.ค. 61 , 22:54:12 »
ผมขออนุญาตหลังไมค์ไปถามหน่อยได้ไหมครับ
ผมอยากทราบแนวทางการศึกษาต่อด้วยตัวเองนะครับ เพื่อจะได้ไม่เป็นการรบกวนสมาชิกท่านอื่นด้วยครับ

 

08 พ.ค. 61 , 22:58:33
ตอบกลับ #5

ปิ่นณรงค์

> > ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #5 เมื่อ: 08 พ.ค. 61 , 22:58:33 »
ผมขออนุญาตหลังไมค์ไปถามหน่อยได้ไหมครับ
ผมอยากทราบแนวทางการศึกษาต่อด้วยตัวเองนะครับ เพื่อจะได้ไม่เป็นการรบกวนสมาชิกท่านอื่นด้วยครับ
แอดไอดีไลน์ได้ทางข้อความคร้บ
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

08 พ.ค. 61 , 23:28:49
ตอบกลับ #6

UnKnown

> > ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #6 เมื่อ: 08 พ.ค. 61 , 23:28:49 »
ผมขออนุญาตหลังไมค์ไปถามหน่อยได้ไหมครับ
ผมอยากทราบแนวทางการศึกษาต่อด้วยตัวเองนะครับ เพื่อจะได้ไม่เป็นการรบกวนสมาชิกท่านอื่นด้วยครับ

เว็บบอร์ดแห่งนี้มีใว้เพื่อแบ่งปันความรู้,แนวความคิด,ปัญหา,แนวทางแก้ปัญหา,ฯลฯ โพสต์ได้ไม่ต้องเกรงใจครับ :grin:
แค่ว่าโพสต์แล้วคำตอบตรงปัญหา,แก้ปัญหาได้ขนาดไหน ตรงใจหรือเปล่านั้นค่อยว่ากันครับ :shout: :shout: :shout:


@ เขียนคำถามให้ผู้ตอบเข้าใจ จะช่วยให้ผู้ถามได้คำตอบที่ชัดเจน และรวดเร็ว / @ คุณได้คำตอบที่ต้องการแล้วหรือยัง กลับมาอีกสักครั้งเพื่อแจ้ง ผู้ตอบ

 
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์, royaltool

08 พ.ค. 61 , 23:56:45
ตอบกลับ #7

ปิ่นณรงค์

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #7 เมื่อ: 08 พ.ค. 61 , 23:56:45 »
ใช่ครับถามมาหลายๆหัวข้อหลายๆแบบผมก็จะได้ทดลองทำไปด้วยครับ ได้เรียนรู้ไปในตัว โดนใจหรือไม่ หรือไม่ตอบโจทย์ หรือต้องเพิ่มเติมยังไง เราจะได้มาทำกันผมก็เริ่มต้นจากบอร์ดนี้ตั้งแต่ 0 เหมือนกันครับ ได้เจออาจารย์ TTT (FC แกเลย) และอาจารย์ท่านอื่นๆ ได้ศึกษา Code VBA  หลายๆแบบ และอาจารย์ที่ทำให้ผมสามารถทำโปรแกรมตัวแรกได้เลยก็คืออาจารย์วรพจน์ครับ ถ้าท่านไม่เป็นเลยเข้ามาถามผมว่าก็ดีแล้วเผื่อคนอื่นจะได้เข้ามาศึกษาจากโจทย์ที่เราทำกันไว้ได้ครับ
« แก้ไขครั้งสุดท้าย: 09 พ.ค. 61 , 00:02:31 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown, royaltool

09 พ.ค. 61 , 09:49:04
ตอบกลับ #8

royaltool

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #8 เมื่อ: 09 พ.ค. 61 , 09:49:04 »
รับทราบครับผม
ขอขอบพระคุณอีกครั้งครับผม ขอบคุณครับ

 

09 พ.ค. 61 , 12:10:51
ตอบกลับ #9

prajak

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #9 เมื่อ: 09 พ.ค. 61 , 12:10:51 »
เจอกระทู้ที่ตรงกับปัญหาที่เจอพอดีเลย ไม่คิดว่าจะเจอคุณ Newbies อีกแล้ว
ผมก็เจอปัญหาเดียวกับคุณroyaltool คือ ทำไม Split form ที่สร้างจาก query ไม่สามารถสั่งพิมพ์ report จาก filter ใน split form ได้ แต่ split form ที่สร้างจาก table สามารถ filter แล้วสั่งพิมพ์ได้ครับ
ใช้คำสั่งตามที่คุณ Newbies แนะนำ
Private Sub Command220_Click()
Dim strWhere As String
    If Me.Dirty Then
        Me.Dirty = False
    End If
    If Me.NewRecord Then
        MsgBox "Select a record to print"
    Else
        strWhere = Me.Form.Filter
        DoCmd.OpenReport "Production »Õ»Ñ¨¨ØºÑ¹", acViewPreview, , strWhere
    End If
End Sub
« แก้ไขครั้งสุดท้าย: 09 พ.ค. 61 , 12:12:36 โดย prajak »

 
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

09 พ.ค. 61 , 12:50:38
ตอบกลับ #10

ปิ่นณรงค์

> > ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #10 เมื่อ: 09 พ.ค. 61 , 12:50:38 »
เจอกระทู้ที่ตรงกับปัญหาที่เจอพอดีเลย ไม่คิดว่าจะเจอคุณ Newbies อีกแล้ว
ผมก็เจอปัญหาเดียวกับคุณroyaltool คือ ทำไม Split form ที่สร้างจาก query ไม่สามารถสั่งพิมพ์ report จาก filter ใน split form ได้ แต่ split form ที่สร้างจาก table สามารถ filter แล้วสั่งพิมพ์ได้ครับ
ใช้คำสั่งตามที่คุณ Newbies แนะนำ
Private Sub Command220_Click()
Dim strWhere As String
    If Me.Dirty Then
        Me.Dirty = False
    End If
    If Me.NewRecord Then
        MsgBox "Select a record to print"
    Else
        strWhere = Me.Form.Filter
        DoCmd.OpenReport "Production »Õ»Ñ¨¨ØºÑ¹", acViewPreview, , strWhere
    End If
End Sub
ที่ตัวรายงาน กับ ฟอร์ม ใช้ Query ตัวเดียวกันไหมครับ เพราะลองเทส ใช้คิวรี่ก็ได้เหมือนกัน
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

09 พ.ค. 61 , 13:19:56
ตอบกลับ #11

prajak

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #11 เมื่อ: 09 พ.ค. 61 , 13:19:56 »
ตกม้าตายครับ ใช่จริงๆด้วย report กับ form มาจากคนละQueryกัน ขอบคุณมากๆครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

09 พ.ค. 61 , 14:03:11
ตอบกลับ #12

royaltool

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #12 เมื่อ: 09 พ.ค. 61 , 14:03:11 »
ผมสงสัยครับว่าไฟล์ที่คุณ Newbies แนบมา
ทำไมเวลากดที่รูปสามเหลี่ยม เพื่อดู filter ของ Query แล้วไม่มีขึ้นอะไรมาให้เลือกเลยอ่ะครับ


 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

09 พ.ค. 61 , 14:25:57
ตอบกลับ #13

ปิ่นณรงค์

> > ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #13 เมื่อ: 09 พ.ค. 61 , 14:25:57 »
ผมสงสัยครับว่าไฟล์ที่คุณ Newbies แนบมา
ทำไมเวลากดที่รูปสามเหลี่ยม เพื่อดู filter ของ Query แล้วไม่มีขึ้นอะไรมาให้เลือกเลยอ่ะครับ



ที่บางรายการมีให้เลือก ติ๊กด้านล่างได้ แต่อีก คอลัมน์ไม่สามารถติ๊กเลือกได้ เพราะ ข้อมูลมีความหลากหลายของข้อมูลในคอลั้มน์นั้นมากเกินไป ถ้าต้องการ Filter ก็กด ไปพิมพ์ Filter เอาได้ครับ แต่แบบติ๊กเลือกไม่มีให้ใช้
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak, royaltool

09 พ.ค. 61 , 15:57:51
ตอบกลับ #14

royaltool

> ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #14 เมื่อ: 09 พ.ค. 61 , 15:57:51 »
รับทราบครับ

ถ้าเป็นอย่างนี้ แสดงว่าต่อไปถ้าข้อมูลในคอลั่มของเรามีความหลากหลายมากเกินไป เราควรจะต้องทำ Filter ขึ้นมาใช้เองหรอครับ
หรือว่าต้องทำอย่างไรให้สามารถ filter ข้อมูลที่มีความหลากหลายได้ครับ

 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

09 พ.ค. 61 , 16:39:19
ตอบกลับ #15

ปิ่นณรงค์

> > ต้องการสั่งพิมพ์ Report จาก Filter ใน Split Form
« ตอบกลับ #15 เมื่อ: 09 พ.ค. 61 , 16:39:19 »
รับทราบครับ

ถ้าเป็นอย่างนี้ แสดงว่าต่อไปถ้าข้อมูลในคอลั่มของเรามีความหลากหลายมากเกินไป เราควรจะต้องทำ Filter ขึ้นมาใช้เองหรอครับ
หรือว่าต้องทำอย่างไรให้สามารถ filter ข้อมูลที่มีความหลากหลายได้ครับ
ใช่ครับ เราสามารถ Filter ข้อมูลโดยใช้ ComboBox หรือ Textbox ค้นหา ข้อมูลที่เราต้องการก่อนได้ครับ
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak, royaltool


บอร์ดเรียนรู้ Access สำหรับคนไทย