กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
        
           534   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.0637s
    
      
		