กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
346 8
URL.หัวข้อ /
URL
Form : รบกวน เรื่อง การคำนวณ ปีไทย (ชวด ฉลู ...กุน) กับการอ้างอิง ปีปฎิทิน
รบกวน อ.สุภาพ และคุณ Badman ดังนี้ครับ
คือ ผมอ้างอิง Object Calendar ตามปีปฎิทิน (ไทย/อังกฤษ)
เมื่อผม Click Calendar (Year Month Day)
ให้ TextBox โชว์แจ้งว่าเป็นปีอะไของไทย (เช่น ชวด ฉลู ...กุน) เมื่อเทียบ กับปีปฎิทิน (พ.ศ. หรือ ค.ศ.)
รบกวนด้วยครับ
ขอบพระคุณมากๆ ครับ
Suchat
ชลบุรี
คือ ผมอ้างอิง 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 ดูดวง ผมเสร็จแล้วครับ
ขอบพระคุณครับ
Time: 0.0926s