กระทู้เก่าบอร์ด อ.Yeadram
        
           3,510   3		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        Option Compare Database & Option Explicit      
    
      Option Compare Database
Option Explicit
ที่อยู่ด้านบนสุดของการเขียนโปรแกรม vba ในaccess มีมาเพื่ออะไรหรอคะ
เห็นบ้างทีมีแค่ Option Compare Database บรรดทัดเดียว มันหมายความว่าอะไรหรอคะ
    
  Option Explicit
ที่อยู่ด้านบนสุดของการเขียนโปรแกรม vba ในaccess มีมาเพื่ออะไรหรอคะ
เห็นบ้างทีมีแค่ Option Compare Database บรรดทัดเดียว มันหมายความว่าอะไรหรอคะ
				3 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R08804    
        
  
      ขอบคุณมากค่ะ
แล้ว Option Compare Database ล่ะคะ
*ยังไม่ค่อยเข้าใจเลยค่ะ
    
    
  แล้ว Option Compare Database ล่ะคะ
*ยังไม่ค่อยเข้าใจเลยค่ะ
        
    3 @R08815    
        
    
      Option Compare {Binary | Text | Database}
ใช้สำหรับการเปรียบเทียบ String ว่าจะใช้การเปรียบเทียบแบบไหน
ซึ่งถ้าใช้เปรียบเทียบแบบ Binary ถ้าเขียนโค้ดว่า "A"="a" จะได้ค่าเป็น False เพราะการเปรียบเทียบแบบ Binary จะตรวจสอบตัวใหญ่ตัวเล็กด้วย ถ้าเปรียบเทียบแบบ Text จะได้ค่า True
โดยถ้า Option Compare Database จะใช้ค่าการเปรียบเทียบจากค่าที่ระบุไว้ใน Sort Order ของฐานข้อมูลที่เปิดใช้อยู่ (เข้าไปตั้งใน Options)
ที่เขาตั้งค่าให้เป็นแบบ Database ก็เพื่อความสะดวกที่จะให้การเปรียบเทียบ String ตามโค้ดเพจของภาษาที่เป็นค่าตั้งต้นของฐานข้อมูลปัจจุบัน
ลองดูข้อมูลเพิ่มเติมข้างล่างประกอบความเข้าใจครับ
http://msdn.microsoft.com/en-us/library/aa266181(v=vs.60).aspx
http://support.microsoft.com/kb/98227
ถ้าต้องการให้มีการเปรียบเทียบในโค้ดบางส่วนให้แตกต่างไปจากที่ที่ประกาศไว้ที่ด้านบนสุดของ module ก็สามารถใช้ StrComp() ช่วยได้
http://office.microsoft.com/en-us/access-help/strcomp-function-HA001228914.aspx
    
    
  ใช้สำหรับการเปรียบเทียบ String ว่าจะใช้การเปรียบเทียบแบบไหน
ซึ่งถ้าใช้เปรียบเทียบแบบ Binary ถ้าเขียนโค้ดว่า "A"="a" จะได้ค่าเป็น False เพราะการเปรียบเทียบแบบ Binary จะตรวจสอบตัวใหญ่ตัวเล็กด้วย ถ้าเปรียบเทียบแบบ Text จะได้ค่า True
โดยถ้า Option Compare Database จะใช้ค่าการเปรียบเทียบจากค่าที่ระบุไว้ใน Sort Order ของฐานข้อมูลที่เปิดใช้อยู่ (เข้าไปตั้งใน Options)
ที่เขาตั้งค่าให้เป็นแบบ Database ก็เพื่อความสะดวกที่จะให้การเปรียบเทียบ String ตามโค้ดเพจของภาษาที่เป็นค่าตั้งต้นของฐานข้อมูลปัจจุบัน
ลองดูข้อมูลเพิ่มเติมข้างล่างประกอบความเข้าใจครับ
http://msdn.microsoft.com/en-us/library/aa266181(v=vs.60).aspx
http://support.microsoft.com/kb/98227
ถ้าต้องการให้มีการเปรียบเทียบในโค้ดบางส่วนให้แตกต่างไปจากที่ที่ประกาศไว้ที่ด้านบนสุดของ module ก็สามารถใช้ StrComp() ช่วยได้
http://office.microsoft.com/en-us/access-help/strcomp-function-HA001228914.aspx
      Time: 0.2844s
    
      
		
บางครั้งในการเขียนโปรแกรม ก็หนีไม่พ้นที่จะต้องนำตัวแปรมาใช้งาน การเลือกใช้ Option นี้ จะต้องมีการประกาศตัวแปรก่อน จะนำ ตัวแปรมาใช้งานทุกครั้งครับ
ซึ่งหากไม่ต้องการก็สามารถยกเลิกคำสั่งนี้ได้โดยไปที่เมนู Options และที่คำสั่ง Require Variable Declaration ให้เอาเครื่องหมายถูกออก แต่โดยปกติแล้ว จะ Default มาอยู่แล้วครับหากเราต้องการให้ VBA Editor บังคับให้เราต้องประกาศตัวแปรก่อนนำมาใช้งานทุกครั้ง ก็ให้ เลือกคำสั่ง Require Variable Declaration นี้ครับ