แสดงกระทู้

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 - royaltool

หน้า: [1]
1
รับทราบครับ

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

2
ผมสงสัยครับว่าไฟล์ที่คุณ Newbies แนบมา
ทำไมเวลากดที่รูปสามเหลี่ยม เพื่อดู filter ของ Query แล้วไม่มีขึ้นอะไรมาให้เลือกเลยอ่ะครับ



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

3
ตกม้าตายครับ ใช่จริงๆด้วย report กับ form มาจากคนละQueryกัน ขอบคุณมากๆครับ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

4
เจอกระทู้ที่ตรงกับปัญหาที่เจอพอดีเลย ไม่คิดว่าจะเจอคุณ 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 ตัวเดียวกันไหมครับ เพราะลองเทส ใช้คิวรี่ก็ได้เหมือนกัน
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

5
เจอกระทู้ที่ตรงกับปัญหาที่เจอพอดีเลย ไม่คิดว่าจะเจอคุณ 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
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

6
ใช่ครับถามมาหลายๆหัวข้อหลายๆแบบผมก็จะได้ทดลองทำไปด้วยครับ ได้เรียนรู้ไปในตัว โดนใจหรือไม่ หรือไม่ตอบโจทย์ หรือต้องเพิ่มเติมยังไง เราจะได้มาทำกันผมก็เริ่มต้นจากบอร์ดนี้ตั้งแต่ 0 เหมือนกันครับ ได้เจออาจารย์ TTT (FC แกเลย) และอาจารย์ท่านอื่นๆ ได้ศึกษา Code VBA  หลายๆแบบ และอาจารย์ที่ทำให้ผมสามารถทำโปรแกรมตัวแรกได้เลยก็คืออาจารย์วรพจน์ครับ ถ้าท่านไม่เป็นเลยเข้ามาถามผมว่าก็ดีแล้วเผื่อคนอื่นจะได้เข้ามาศึกษาจากโจทย์ที่เราทำกันไว้ได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

7
ผมขออนุญาตหลังไมค์ไปถามหน่อยได้ไหมครับ
ผมอยากทราบแนวทางการศึกษาต่อด้วยตัวเองนะครับ เพื่อจะได้ไม่เป็นการรบกวนสมาชิกท่านอื่นด้วยครับ

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


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

8
ผมขออนุญาตหลังไมค์ไปถามหน่อยได้ไหมครับ
ผมอยากทราบแนวทางการศึกษาต่อด้วยตัวเองนะครับ เพื่อจะได้ไม่เป็นการรบกวนสมาชิกท่านอื่นด้วยครับ
แอดไอดีไลน์ได้ทางข้อความคร้บ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

9
ก่อนอื่นผมต้องขอขอบคุณมาก ๆ นะครับ ที่เข้ามาช่วยตอบผม

ผมขอสอบถามเพิ่มเติมหน่อยครับ
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 เลย ก็สอบถามผมได้ครับผมยินดีให้คำปรึกษา
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

10
ที่ 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 ไว้ก็จะหายไปแล้วครับ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

11
ห้อง MS Access / Error "The database engine could not lock table"
« เมื่อ: 08 พ.ค. 61 , 15:43:53 »
ตอนรัน Queryขึ้นแจ้งเตือนดังรูปด้านล่าง ซึ่งไม่ได้เปิด Tableดังกล่าว หรือTableใด รวมถึงไม่มีการเปิดฟอร์ม Reportใดๆไว้เลยค่ะ
ในแต่ตอนรันครั้งแรก ระบบเอาข้อมูลจากตารางMonthly_FG ไปใช้ต่ออีกหลายQuery
คิดว่าน่าจะมีProcess ค้างอยู่ แต่ไม่รู้ตรงไหน
เวลาจะรันครั้งที่สอง จึงต้องปิดและเปิดโปรแกรมใหม่ถึงจะสามารถรันได้ปกติ

อยากทราบว่ามีวิธีไหนที่จะเขียนโค้ดดักก่อนว่า ให้เคลียร์หรือปิดProcessทั้งหมดก่อน หรือปิดและเปิดโปรแกรมใหม่ไหมคะ
เพื่อจะได้ไม่มีErrorแบบนี้เกิดขึ้น


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

12
งงครับ ผมลองเอาไปเปิดที่เครื่องอื่นก็ error เหมือนกัน excel 2010 ครับ
สงสัยต้อง Teamview ไปดูนะครับ แบบนี้ ส่งรหัส ทีมวิวทางข้อความได้เลยนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

13
ไม่ต้อง Join Table ไม่ต้อง อ้างอิงฟอร์ม ให้กำหนด
Criteria ของ Type2 เป็น
Not In (select [Type] from [Not_FG])
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

14
ดับเบิ้ลคลิกที่เส้นเชื่อมโยงระหว่างเทเบิล เลือกตัวเลือกที่บอกว่า "select ALL record from [StockMonthly_Query_2-2]..." แล้วคลิกปุ่ม OK จะเห็นว่าเส้นเชื่อมโยงจะมีหัวลูกศรที่ฝั่งเทเบิล Not_FG จากนั้นให้ดับเบิลคลิกที่ฟิลด์ Type ของ Not_FG มันจะมาแสดงในตารางข้างล่าง ให้ใส่ Criteria ที่คอลัมน์นั้นเป็น Is Null
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

15
ให้ตาราง A ชื่อ TA มีฟิลด์ชื่อ DateA
ให้ตาราง B ชื่อ TB มีฟิลด์ชื่อ DateB และ Output
ให้ตาราง C ชื่อ TC มีฟิลด์ชื่อ DateC และ Output
...

ให้สร้างคิวรี่ชื่อ JoinOutput ซึ่งมี SQL เป็น
SELECT TA.DateA, TB.Output, "OutputB" AS HeadName FROM TA LEFT JOIN TB ON TA.DateA = TB.dateB
UNION ALL
SELECT TA.DateA, TC.Output, "OutputC" AS HeadName FROM TA LEFT JOIN TC ON TA.DateA = TC.dateC
UNION ALL
...

ให้สร้างคิวรี่ชื่อ FinalOutput ซึ่งมี SQL เป็น
TRANSFORM Sum(JoinOutput.Output) AS SumOfOutput
SELECT JoinOutput.DateA
FROM JoinOutput
GROUP BY JoinOutput.DateA
PIVOT JoinOutput.HeadName;

รัน FinalOutput ก็จะได้ผลลัพธ์ที่ต้องการครับ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

16
รบกวนสอบถามครับ ผมจะทำ Query ยังไงเพื่อดึง Output จากตาราง B,C,D ที่วันที่ตรงกับตาราง A ได้ครับ โดย Output ที่มีวันที่เหมือนกันให้นำมารวมกัน ตามรูปครับ
โพสต์นี้ได้รับคำขอบคุณจาก: royaltool

17
ประกาศสำคัญ & ข่าวสารต่างๆของบอร์ดเรียนรู้ Access สำหรับคนไทยแห่งนี้ครับ
:ninja:• กฎกติกาบอร์ดเรียนรู้ Access สำหรับคนไทย •
 :yuush:• โครงการปรับเปลี่ยนเว็บบอร์ดเก่าให้เป็น PHP •

การใช้งานเว็บบอร์ดเบื้องต้น  :nice day:
-> วิธีการเริ่มหัวข้อหรือตั้งกระทู้ใหม่
-> วิธีโพสต์ตอบ,โพสต์ขอบคุณหรือแสดงความคิดเห็นในกระทู้
-> ข้อควรระวังในการพิมพ์ข้อความ,โค้ดหรือสคริปต่างๆ
-> วิธีการอัพรูป / วิธีการแนบไฟล์
-> แนวทางวิธีการพิมพ์หรือโพสต์ลิ้งเว็บไซด์ต่างๆ :meaw:
*ทุกไฟล์แนบเว็บบอร์ดขอไม่รับผิดชอบใดๆเลยนะครับ (ไวรัส,ลิขสิทธิ์,ฯลฯ เป็นต้น)


-> แจ้งปัญหาหรือพูดคุยเกี่ยวกับเว็บบอร์ดแห่งนี้ โพสต์ที่นี้ครับ <-

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

หน้า: [1]