Form : รบกวน เรื่อง การคำนวณ ปีไทย (ชวด ฉลู ...กุน) กับการอ้างอิง ปีปฎิทิน
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 266   8
URL.หัวข้อ / URL
Form : รบกวน เรื่อง การคำนวณ ปีไทย (ชวด ฉลู ...กุน) กับการอ้างอิง ปีปฎิทิน

รบกวน อ.สุภาพ และคุณ Badman ดังนี้ครับ 
คือ ผมอ้างอิง Object Calendar ตามปีปฎิทิน (ไทย/อังกฤษ) 
เมื่อผม Click Calendar (Year Month Day) 
ให้ TextBox โชว์แจ้งว่าเป็นปีอะไของไทย (เช่น ชวด ฉลู ...กุน) เมื่อเทียบ กับปีปฎิทิน (พ.ศ. หรือ ค.ศ.) 
รบกวนด้วยครับ 
ขอบพระคุณมากๆ ครับ 
Suchat 
ชลบุรี 

8 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R00692
ต้องขอข้อมูลเพิ่มอีกนิดหนึ่งครับว่าปีนี้ตรงกับปีไทยอะไรครับ แล้วค่อยใช้ Array() หรือสูตรเทียบได้ครับ
2 @R00696
อ.สุภาพ ครับ ปีนี้เป็นปี มะเมียครับ รบกวน อาจาร์ย ด้วยครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
3 @R00701
ลองฟังก์ชันนี้ดูครับ Function GetThaiYr(intYear As Integer) As String Dim I As Integer, J As Integer Dim ThaiYr As Variant, Yr As Variant J = Abs(intYear - 2503) Mod 12 Yr = Array("ชวด", "ฉลู", "ขาล", "เถาะ", "มะเร็ง", "มะเส็ง", "มะเมีย", "มะแม", "วอ", "ระกา", "จอ", "กุน") ThaiYr = Yr(J) GetThaiYr = ThaiYr End Function จะต้องใส่ค่าลงไปเป็น พ.ศ. นะครับ เช่น ? GetThaiYr(2545) มะเมีย ผมเลือกเอาปี 2503 เป็นปีแรกที่เป็นปีชวด จะเปลี่ยนเป็นปีอื่นๆ ที่ตรงกับปีชวดก็ได้ครับ ลองดูว่าผมใส่ปีไทยถูกทุกอันหรือเปล่าไม่รู้
4 @R00705
อ.สุภาพ ครับ จากที่ผมลองดู Funtion ที่ อ.สุภาพ แนะนำมาสามารถคำนวณออกมาได้ถูกต้องครับ ที่ Funtion นี้ เราสามารถอ้างอิงชื่อ Control ได้ หรือไม่ครับ เนื่องจาก Text Box (Txt1) ที่ผมนำมาโชว์ ผม Format เป็น yyyy ซึ่งอ้างอิงจาก Calendar 9.0 ทีนี้เมื่อผม เลือกจาก วัน เดือน ปี ใน Carlendar ที่ Text Box (Txt1) ก็จะโชว์ 2545 และเมื่อผมเพิ่ม Text Box (Txt2) อีกอันหนึ่ง ขึ้นมาเพื่อใส่ Funtion ดังนี้ =GetThaiYr([ชื่อ Control ของ Text Box ที่มี Format yyyy]) จะได้ผลลัพท์ เป็น error รบกวน อ.สุภาพ แนะนำด้วยครับ ขอบพระคุณมากๆ ครับ Suchat
5 @R00706
ผมใช้อย่างงี้ครับ Private Sub Calendar_Click() Me.Text1 = GetThaiYr(DatePart("yyyy", Me.Calendar)) End Sub
6 @R00707
อ.สุภาพ ครับ จาก Funtion ของ อาจาร์ย ที่แนะนำมา ผมลองแก้ไขเป็น Dim I As Integer, J As Integer Dim ThaiYr As Variant, Yr As Variant J = Abs(intYear - 2499) Mod 12 Yr = Array("กุน", "จอ", "ระกา", "วอก", "มะแม", "มะเมีย", "มะเส็ง", "มะโรง", "เถาะ", "ขาล", "ฉลู", "ชวด") ThaiYr = Yr(J) GetThaiYr = ThaiYr End Function แล้วลอง Test ดู ก็สามารถคำนวณ ได้ถูกต้องแล้วครับ ขอบพระคุณ อาจาร์ย มากๆ ครับ Suchat ชลบุรี
7 @R00717
คุณสุชาติ ครับ มีวิธีเขียนโค๊ดอย่างไร มีหลักไหม น่าจะสอนเป็นคอลัมภ์นะ เห็นเขียนโต้ตอบกับอาจารย์สุภาพเก่งจังครับ
8 @R00722
คุณวิโรจน์ ครับ ผมเขียน Code ไม่เป็นนะครับ เขียนได้แบบพื้นๆ เท่านั้น ส่วนใหญ่ ผมได้ อ.สุภาพ ครับ ที่ช่วยแนะนำ ในยามผมมีปัญหา ท่านเก่งมากๆ ครับ ผมยอมรับในฝีมือเลย ในเรื่องการเขียน Code ถ้าผมเก่ง ประมาณ 10-20% จากของท่าน ผมก็พอแล้วครับ คุณวิโรจน์ ลองศึกษาจากที่นี่แหละครับ แล้วจะกระจ่าง ขอบพระคุณ อ.สุภาพ อีกครั้งครับ สำหรับความกรุณาตลอดมา ขอบพระคุณ ครับ Suchat ชลบุรี อ้อ อ.สุภาพ ครับ Project Program ดูดวง ผมเสร็จแล้วครับ ขอบพระคุณครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0491s