กระทู้เก่าบอร์ด อ.Yeadram
        
           1,625   5		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        รบกวนช่วยที มือใหม่ค่ะ      
     
ฉันต้องการจะแยกบ้านเลขที่ 1 ฟิลด์
หมู่ ถ. และ ซ. อีก 1 ฟิลด์
ต. อีก 1 ฟิลด์
จะใช้คำสั่งในการแยกฟิลด์ยังไงดีค่ะ ตามรูปอ่ะค่ะ
รบกวนผู้รู้ช่วยทีค่ะ
				5 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R11947    
        
  
      ใจจริงอยากให้ลองศึกษาเองดูนะครับ เพราะใช้บ่อยและไม่ยากมากนัก อย่างที่คุณ ugetproject ว่าอ่ะครับ
แต่การเก็บข้อมูลคุณ ถือว่าเงื่อนไขเยอะมาก ผมช่วยให้ก่อนแล้วกันนะครับ และลองศึกษาดู อาจไม่ต้องเขียนยาวอย่างผมก็ได้
- ในคิวรี่ สร้างฟิลด์ใหม่แสดงเลขที่บ้าน
บ้านเลขที่: IIf([address] Like "*หมู่*",Left([address],InStr([address],"หมู่")-2),IIf([address] Like "*ถ.*",Left([address],InStr([address],"ถ.")-2),IIf([address] Like "*ซ.*",Left([address],InStr([address],"ซ.")-2),IIf([address] Like "*ต.*",Left([address],InStr([address],"ต.")-2),"-"))))
    
  แต่การเก็บข้อมูลคุณ ถือว่าเงื่อนไขเยอะมาก ผมช่วยให้ก่อนแล้วกันนะครับ และลองศึกษาดู อาจไม่ต้องเขียนยาวอย่างผมก็ได้
- ในคิวรี่ สร้างฟิลด์ใหม่แสดงเลขที่บ้าน
บ้านเลขที่: IIf([address] Like "*หมู่*",Left([address],InStr([address],"หมู่")-2),IIf([address] Like "*ถ.*",Left([address],InStr([address],"ถ.")-2),IIf([address] Like "*ซ.*",Left([address],InStr([address],"ซ.")-2),IIf([address] Like "*ต.*",Left([address],InStr([address],"ต.")-2),"-"))))
        
    3 @R11948    
        
  
      - ฟิลด์สอง หมู่-ถ.-ซ.
หมู่-ถนน-ซอย: IIf([address] Like "*หมู่*",Mid([address],InStr([address],"หมู่"),InStr([address],"ต.")-(InStr([address],"หมู่")+1)),IIf([address] Like "*ถ.*",Mid([address],InStr([address],"ถ."),InStr([address],"ต.")-(InStr([address],"ถ.")+1)),IIf([address] Like "*ซ.*",Mid([address],InStr([address],"ซ."),InStr([address],"ต.")-(InStr([address],"ซ.")+1)),"-")))
    
  หมู่-ถนน-ซอย: IIf([address] Like "*หมู่*",Mid([address],InStr([address],"หมู่"),InStr([address],"ต.")-(InStr([address],"หมู่")+1)),IIf([address] Like "*ถ.*",Mid([address],InStr([address],"ถ."),InStr([address],"ต.")-(InStr([address],"ถ.")+1)),IIf([address] Like "*ซ.*",Mid([address],InStr([address],"ซ."),InStr([address],"ต.")-(InStr([address],"ซ.")+1)),"-")))
        
    4 @R11949    
        
  
      - ฟิลด์สาม ตำบล
ตำบล: IIf([address] Like "*ต.*",Right([address],Len([address])-(InStr([address],"ต.")-1)),"-")
    
  ตำบล: IIf([address] Like "*ต.*",Right([address],Len([address])-(InStr([address],"ต.")-1)),"-")
        
    5 @R11963    
        
    
      ขอบคุณ ผู้รู้ทุกท่านค่ะ    
    
  
      Time: 0.6014s
    
      
		
iif() เอาไว้กำหนดเงื่อนไขleft() ตัดตัวอักษรจากด้านซ้าย
mid() ตัดตัวอักษรแบบกำหนดจุดเริ่มและกำหนดจำนวนคำที่ตัด
instr() หาตำแหน่งตัวอักษรที่กำหนด ในข้อความนั้นๆ
แค่นี้ก็น่าจะเพียงพอครับ ลองเปิดหาคำอธิบายใน Help ของโปรแกรม หรือ ใน google ก็ได้
หรือจะลองศึกษาอันนี้ก็ได้ครับ แนวคิดคล้ายกัน ๆ แต่ไม่เหมือนกัน
link
อาร์ม
ีสอน access แบบง่าย ๆ