กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
        
           488   4		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        ในรายงาน  รายการที่ไม่ได้ขายให้  salesamt เป็น  0  ทำอย่างไรครับ  ช่วยหน่อย      
		
    
      มีสินค้าอยู่หลายรายการ  มีบางรายการที่ไม่มีการขาย   อยากให้ report รายการสิ้นค้าทั้งหมดทั้งที่ขายและที่ไม่ได้ขายให้ saleamt มีค่าเป็น 0  ทำไง  ครับ  ลองหลายหนแล้วมันแสดงเฉพาะรายการที่ขายเท่านั้น   
 
ขอบคุณครับ
    
  ขอบคุณครับ
				4 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R04276    
        
  
      ยังไม่ได้ลองที่อาจารย์บอกนะครับ แต่ดูแล้วน่าจะ OK ครับ เข้าใจง่ายดี   
แล้วถ้าจะแสดงข้อมูลการขายเป็นช่วงเวลาที่ต้องการด้วยละครับ จะต้องทำอย่างไร พอดีจะต้องรายงายยอดทุกเดือนครับ...
 
ขอบคุณครับ
    
    
  แล้วถ้าจะแสดงข้อมูลการขายเป็นช่วงเวลาที่ต้องการด้วยละครับ จะต้องทำอย่างไร พอดีจะต้องรายงายยอดทุกเดือนครับ...
ขอบคุณครับ
        
    3 @R04277    
        
  
      ก็เพิ่ม Where clause เข้าไปด้วยครับ 
 
คิดว่า Query ในข้อ 1 คงจะมี Where clause แบบกรองวันที่แล้ว ก็ปรับใช้ตรงนี้ได้เลย
 
สำหรับ Query ในข้อ 2 จะได้เป็น
 
Select Field1, Field2, ... From ตารางเป้าหมาย Where รหัสสินค้า Not In (Select Distinct รหัสสินค้า From ตารางที่มีข้อมูลการขาย) AND Format([ฟีลด์วันที่], "myy") = Format(Now(), "myy");
 
นี่จะเป็นการแสดงข้อมูลการขายประจำเดือนปัจจุบัน
 
ตรงส่วน Format(Now(), "myy") สามารถที่จะให้ผู้ใช้เป็นผู้กรอกเลือกเดือนเองได้ โดยแก้เป็น
 
[ใส่เลขเดือน (1 หลัก เช่น 1 แทนเดือนมกราคม) และปี 2 หลักสุดท้าย (46 แทน 2546)]
 
 
 
 
 
    
    
  คิดว่า Query ในข้อ 1 คงจะมี Where clause แบบกรองวันที่แล้ว ก็ปรับใช้ตรงนี้ได้เลย
สำหรับ Query ในข้อ 2 จะได้เป็น
Select Field1, Field2, ... From ตารางเป้าหมาย Where รหัสสินค้า Not In (Select Distinct รหัสสินค้า From ตารางที่มีข้อมูลการขาย) AND Format([ฟีลด์วันที่], "myy") = Format(Now(), "myy");
นี่จะเป็นการแสดงข้อมูลการขายประจำเดือนปัจจุบัน
ตรงส่วน Format(Now(), "myy") สามารถที่จะให้ผู้ใช้เป็นผู้กรอกเลือกเดือนเองได้ โดยแก้เป็น
[ใส่เลขเดือน (1 หลัก เช่น 1 แทนเดือนมกราคม) และปี 2 หลักสุดท้าย (46 แทน 2546)]
        
    4 @R04278    
        
    
      ทำ  qry 2 ไม่ได้ครับอาจารย์มันไม่มีข้อมูล show เลยครับ      
    
  
      Time: 0.0593s
    
      
		
แต่ลองใช้ Union Query ช่วย ก็คงได้ครับ
แล้วแต่ว่าจะแสดงข้อมูลการขายเป็นช่วงเวลาที่ต้องการด้วยหรือไม่
หลักการเป็นอย่างนี้ครับ
1. ใช้ Select Query ตัวเดิมที่มีการขายเกิดขึ้น
2. สร้างอีก Query ขึ้นมา โดยให้อันเดียวกันกับข้อ 1 แต่เพิ่มเงื่อนไข Where Not In เพื่อให้เลือกเฉพาะข้อมูลที่ไม่มีการขายออกมา
จะได้คล้ายๆ นี้
Select Field1, Field2, ... From ตารางเป้าหมาย Where รหัสสินค้า Not In (Select Distinct รหัสสินค้า From ตารางที่มีข้อมูลการขาย)
ทดสอบ Query ตัวนี้ว่าให้ผลลัพธ์ตรงกับที่ต้องการหรือไม่
3. นำ Query ทั้ง 2 ไปสร้างเป็น Union Query ดังนี้
SQL statement ของ Query ในข้อ 1
๊Union All
SQL statement ของ Query ในข้อ 2
4. นำ Query ในข้อ 3 ไปสร้างเป็น Report แทนของเดิม
ลองดูครับ