แสดงกระทู้

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 - พิชญะ ชัยชนะ

หน้า: [1]
2
ตัวแปรที่เก็บชื่อและID ควรกำหนดไว้เป็นตัวแปร Public (Public strfullname As String) อยู่ใน Access Module ต่างหาก และเขียนโค้ดใน Form_Load event procedure ของแต่ละฟอร์ม เพื่อนำค่าในตัวแปรไปแสดงออกเท็กซ์บ็อกซ์บนฟอร์มนั้นๆ
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

3
ใช้การกำหนด  SourceObject เช่น
crosstabquery คือชื่อคิวรี่ที่เป็น crosstabquery
ชื่อฟอร์มหลักชื่อ Main
ชื่อฟอร์มย่อย Subform

Dim QueryName As String
QueryName = "Query." & "crosstabquery"
Forms("Main").Form.Subform.SourceObject = QueryName

ข้อดีวิธีนี้คือ ฟอร์มจะไม่ได้เจาะจงกับคิวรี่ใดๆ เมื่อคิวรี่มีการเปลี่ยนแปลงใดๆ ก็สามารถใช้การเรียกคิวรี่ที่ต้องการมาแสดงใหม่ในซัพฟอร์มได้ตลอด


โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

4
ห้อง MS Access / : ไฮไลท์ row ที่โฟกัส
« เมื่อ: 19 มิ.ย. 63 , 16:48:52 »

การสร้าง Highlight ให้กับ Current Record ลองดูตัวอย่างนี้ครับ

1.สร้าง textbox unbound ขึ้นมา 1 อันชื่อ txtHighlight แล้วซ่อนไว้ ไม่ต้องแสดง

2.เลือก textbox ตรง Detail ทั้งหมด แล้วเลือกไปที่ี การจัดรูปแบบตามเงื่อนไข ดังภาพด้านล่าง


3.กำหนดเงื่อนไข นิพจน์ โดยสร้างเงื่อนไขเช็คว่า ถ้าเรคคอร์ดปัจจุบัน = txtHighlight ก็จะแสดง สีตามที่เรากำหนด ดังรูป


4.กำหนดโค้ด Event Form_Current()

Private Sub Form_Current()
Me.txtHighlight = Me.[ID]
End Sub

หมายเหตุ

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

5
Criteria ที่อยู่บรรทัดเดียวกันใน Query Design View จะเชื่อมแต่ละเงื่อนไขด้วย AND ซึ่งหมายความว่าทุกเงื่อนไขต้องเป็นจริงพร้อมกันเท่านั้นจึงจะนำเรคอร์ดนั้นออกมาให้ แต่สิ่งที่คุณต้องการคือ เงื่อนไขใดๆก็ได้ที่เป็นจริง ซึ่งหมายถึงเชื่อมแต่ละเงื่อนไขด้วย OR   วิธีการที่จะบอก Query Design View ว่าเป็น OR ก็คือ ใส่แต่ละเงื่อนไขให้อยู่กันคนละบรรทัดของ Criteria เท่านั้นเองครับ
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

6
ตามรูปนะครับ


โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

7
เกิดจากไม่มีฟิลด์นี้ในคิวรีครับ

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

8
แวะมาโพสรูปเทียบไฟล์เดียวกันเครื่องเดียวกันแต่เปิด-ปิด Visual effects ของ Windows ต่างกัน
ผลคือถ้าปุ่มตั้งค่า Use Theme = Yes ใว้ Visual effects ไม่มีผล  :question:
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

9
ให้คลิก File > Account > About Access

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

10
เกิดได้จากหลายสาเหตุครับ
เช่นการกำหนดภาษาให้ Office มีผล

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

11
รบกวนสอบถามการแปลงวันที่ใดๆก็ตามให้เป็นวันแรกของเดือนครับ เท่าที่หาเจอแต่ของ Excel จะได้สูตรประมาณนี้
=DATE(YEAR(A1),MONTH(A1),1)
ก็จะได้ว่า 12-2-2020 กลายเป็น 1-2-2020 คือเป็นวันแรกของเดือน
ต้องการผลลัพทธ์แบบนี้กับ access ใครทราบวิธีการรบกวนชี้แนะครับ

สมมุติฟิลล์วันที่ชื่อ Dates นะครับ

FirstDate: DateSerial(Year([Dates]),Month([Dates]),1)
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

12
ขอปรึกษาและสอบถามท่านผู้รู้ครับ

ผมได้รับโจทย์จากทางนาย ให้เขียนโปรแกรมเพื่อเก็บข้อมูลพนง.รับเหมาในโรงงาน โดยเก็บข้อมูลดังนี้
1. ชื่อสกุลพนักงาน
2. ที่อยู่พนักงาน
3. สังกัด(ตำแหน่ง แผนก ส่วน ฝ่าย โรงงาน บริษัทต้นสังกัดของพนง.รับเหมา รูปแบบการจ้างเหมา ฯลฯ)
4. ประวัติการถูกลงโทษ
5. ประวัติการอบรม

โดยทั้งหมด ผมได้ออกแบบ Databased ตาม ER Diagram ตามภาพที่ 1 แบ่งเป็นฝั่งซ้ายและฝั่งขวา

ข้อ 1-4 ผมได้ออกแบบ Databsed เพื่อใช้เก็บข้อมูลในฝั่งซ้าย(ตารางพื้นที่สีเขียวเก็บข้อ 1-3 ส่วนตารางพื้นที่สีน้ำเงินเก็บข้อมูลข้อ 4)
ซึ่งผมทำ Databased ให้ออกมาเป็นรูปแบบที่ตั้งใจ นำไปออกแบบฟอร์มกรอกข้อมูลเพิ่มเข้าได้ ตามที่ตั้งใจไว้แล้วครับ
แต่ที่ติดปัญหาคือข้อ 5 คือ เรื่องประวัติการฝึกอบรมนั้น ซึ่ง Databased จะอยู่ทางขวามือ(ตารางพื้นที่สีแดง)ของ ER Diagram

โจทย์ในการจัดทำ
1. ต้องการทำฟอร์มบันทึกข้อมูลการฝึกอบรมให้ได้ตามแบบรูปภาพที่ 2 คือ มี Form ที่มี tblSession (เก็บข้อมูลSessionID, ชื่อหลักสูตร, Description, Objectiveหลักสูตร, ระยะเวลาการฝึกอบรม,
ผู้สอน, บริษัทที่มาสอน ฯลฯ)เป็น Record Source และมี Subform ที่บันทึกชื่อผู้เข้าอบรม ในแต่ละ SessionID (Dropdown เลือก NationalID หรือชื่อ-สกุลปุ๊บ ขึ้น WorkID, ตำแหน่ง, สังกัดพนง.ปั๊ปทันที)
2. Subform ในข้อ 1 นั้น ต้องบันทึกข้อมูลไว้ด้วยว่า พนง.ที่มาอบรมนั้น ขณะนั้น มีตำแหน่งอะไร สังกัดอะไร เพื่อจะนำข้อมูลไปใช้ต่อในข้อ 3
3. ต้องรู้ให้ได้ว่าตำแหน่งงานทั้งหมดใน Databased นั้น จะต้องอบรมอะไรบ้าง เพื่อให้เป็นไปตามที่กฎหมายกำหนด แล้วพนง.ที่อยู่ในตำแหน่งนั้น ๆ
ได้อบรมครบตามกฎหมายกำหนดแล้วหรือยัง


การแก้โจทย์
ข้อ 1-2: ผมจัดทำ
- Form ขึ้นมาโดยใช้ tblSession เป็น Record Source ได้
- Subform โดยให้เป็น Unbound SubForm ซึ่งผมเขียน Expression ที่ txtWorkID โดยเมื่อ Dropdown เลือก NationalID เมื่อไหร่ ระบบจะไปดึง Last WorkID ของพนง.คนนั้น ๆ มาจาก
tblWork(Transaction Table) มาโชว์ จากนั้น ก็เขียน VBA on click ที่ปุ่ม Save ให้ Save ข้อมูล Subform ลง tblTrainingRec
ข้อ 3: ผมยังไม่รู้แนวทางจะทำอย่างไรดี ทั้งการออกแบบ Databased, การทำแบบฟอร์มเพื่อคีย์หลักสูตรที่แต่ละตำแหน่งต้องอบรมให้ครบตามกฎหมาย, การทำ Report

ปัญหาที่เกิดขึ้น
ข้อ 1-2: เกิด Error ใน Subform ตามภาพที่ 2
ข้อ 3: ผมยังไม่รู้แนวทางจะไปต่ออย่างไรดี ทั้งการออกแบบ Databased, การทำแบบฟอร์มเพื่อคีย์หลักสูตรที่แต่ละตำแหน่งต้องอบรมให้ครบตามกฎหมาย, การทำ Report

คำถาม: เพื่อให้ได้ตามโจทย์ที่กำหนด
1. แนวทางการออกแบบ Databased ที่ผมทำมานี้ เหมาะสมแล้วหรือไม่? ถ้าไม่ ผมควรจะออกแบบอย่างไรเพื่อให้ได้ตามโจทย์ที่ผมต้องการ?
2. ถ้าผมออกแบบ Databased มาถูกทางแล้ว จะทำอย่างไรให้ Subform ไม่ Error ครับ? แล้วจะไปต่อกับเรื่องการกำหนดหลักสูตรที่แต่ละตำแหน่งต้องอบรมให้ครบตามกฎหมายอย่างไรดีครับ?

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




โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

13
ปัญหานี้เป็นเพราะการซบเซาจากธุรกิจหนังสือในช่วงไม่กี่ปีที่ผ่านมา

การเสนอต้นฉบับการใช้งานโปรแกรมระดับสูงต่างๆ มักจะโดนดันตกไป (จริงๆ ไม่ใช่ "มักจะ" หรอก แต่แค่อ้าปากก็ไม่เอาแล้ว)

ทั้งที่จริงๆ แล้วเรื่องของ VBA นี่น่ะยังมีคนสนใจใช้งานกันอีกมาก

ช่วงนี้ภาวะธุรกิจหนังสือเริ่มดีขึ้น

เร็วๆ นี้ผมว่าจะลองผลักดันหนังสือ VBA Access/Excel อีกซักครั้ง หวังว่าจะสำเร็จ
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

14
 ร้านซีเอ็ดมีนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

15
ผมไปเดินตามห้างร้านขายหนังสือต่างๆ หาไม่ค่อยเจอหนังสือสอนเกี่ยวกับ Access เลย แล้วถ้าผมอยากเรียนรู้ตั้งแต่พื้นฐานเลยควรหาอ่านจากไหนได้ครับ ช่วยแนะนำหน่อยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

16
บอร์ดเรียนรู้ Access สำหรับคนไทย
เราเป็นเว็บสีขาว ดังนั้นอะไรที่คิดว่าทำแล้วสังคมในบอร์ดจะเสียหาย อย่าทำ!

กฎกติกา
เว้นจากสิ่งต่อไปนี้
X การเมือง
> ขอแบน User ที่ Post เรื่องการเมืองทุกกรณี

X เว็บหมิ่น
> งดโพสต์หรือนำเว็บหมิ่นสถาบันมาโพสต์นะครับ

X สิ่งผิดกฎหมาย เช่น อนาจาร, การพนัน, การระดมทุน, ฯลฯ เป็นต้น
> ไม่อนุญาตให้โพสต์หรือทำ Link ออกไปยังเว็บเหล่านี้ (ลบโพสต์ & แบนทันที)

X Spam
> สมัคร user ใหม่ เพื่อมา spam จะขอลบ user ทิ้งทันทีครับ
> ปัมพ์โพสต์ตอบแต่ emoticon ต่อเนื่อง รับสิทธิ์โดนแบนนะครับ
> งดตั้งกระทู้เพื่อชักจูงแบบคลุมเครือ หรือ spam ทาง pm

X งดหาDownline ธุรกิจเครือข่าย

X งดโพสต์,ตั้งกระทู้เพื่อการโฆษณา

X ลายเซ็นต์ที่เกินกำหนด
> ห้ามติดพวกแนว sign-profit
> ไม่ขัดกับกฎหลักฉบับนี้

บทลงโทษ
แล้วแต่ลักษณะผู้ดูแลแต่ละท่านจะเลือกใช้
ผู้ดูแลขอสงวนสิทธิ์ในการลบหรือแก้ไขทุกความคิดเห็น โดยไม่ต้องชี้แจงเหตุผลใดๆ
> แก้ไขโพสต์,ลบโพส,ลบกระทู้
> แบนUserเป็นจำนวนวัน
> ยกเลิกUserนั้นๆ


เครดิต ThaiSEOBoard
โพสต์นี้ได้รับคำขอบคุณจาก: พิชญะ ชัยชนะ

หน้า: [1]