|  | 
	                
  
    |  |  
    | 
        
        แสดงข้อมูลย้อนหลังตามเดือนค่ะ ส่วนนี้โค๊ดนะค่ะ อยากให้มันออกมาแบบการยืมนะค่ะ เลือกเช็คคืนแต่ล่ะอย่างได้     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | Code (VB.NET) 
 เราอยู่วันที่ 11/03/2010 ข้อมูลที่แสดงออกมาก็จะเป็นข้อมูลของวันที่ 1/02/2010 ถึง 28/02/2010
ควรจะเป็น 
===================================================
                                     RANGE
                           =====================
Date                          Begin      Terminated
===================================================
11/03/2010                    1/03/2010  30/03/2010
11/02/2010                    1/02/2010  28/03/2010
แบบนี้หรือเปล่าคะ ถ้าใช่ จำได้ว่าเคยเขียน function หาวันสุดท้ายของเดือนให้คุณส้มโอดูมาครั้งนึงแล้วค่ะ
เรื่อง รันโปรแกรมอัตโนมัติน่ะค่ะ ลองไปดัดแปลงดูนะคะ
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-11 12:32:54 | By :
                            blurEye |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เอ่อ คือ คิวรี่นี้มันอยู่ในวิวอะค่ะ เลยอยากทราบว่า คำสั่ง sql มีคำสั่งตัวไหนที่สามารถทำงานได้ตามที่ส้มโอต้องการบ้างอะค่ะ ถ้าใส่ฟังชั่นของคุณ blureye ก็คงต้องเอาคิวรี่ไปใส่ใน .net เลย รบกวนหน่อยค่ะ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-11 17:39:18 | By :
                            somooo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | Code (VB.NET) 
 SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ======================================================
-- Author:        <PROUD ,PRANAKHON RAJABHUTNUNIVERSITY>
-- Create date:   <12 DEC 2009>
-- Description:   <CREATE DATETIME WITH EXACTLY FORMAT>
-- ======================================================
CREATE FUNCTION [dbo].[DATE_SERIAL](@VAR_YEARPART INT ,@VAR_MONTHPART INT ,@VAR_DAYPART INT)
RETURNS DATETIME
AS
BEGIN	
	DECLARE 
		
		@TEMP_STR			VARCHAR(20) ,
		@RET_DATE			DATETIME;
		
		-- BEGIN CALCULATION 
		
		SET @TEMP_STR = CONVERT(VARCHAR ,@VAR_DAYPART) + '-'
			+ CONVERT(VARCHAR ,@VAR_MONTHPART) + '-'
			+ CONVERT(VARCHAR ,@VAR_YEARPART) ;
		SET @RET_DATE = CONVERT(DATETIME ,@TEMP_STR ,105) ;	
	
	RETURN @RET_DATE  ;
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
 
 
 Code (VB.NET)
 
 -- =============================================
-- Author:       <PROUD ,PRANAKHON RAJABHUT UNIVERSITY>
-- Create date:  <11 MARCH 2010>
-- Description:  <AS FUNCTION NAME>
-- =============================================
CREATE FUNCTION [dbo].[GET_LAST_DAY_OF_MONTH](@VAR_DATE DATETIME)
RETURNS DATETIME
AS
BEGIN
	-- Declare the return variable here
	DECLARE 
		@RET_DATE					DATETIME ;
		
		SET @RET_DATE = dbo.DATE_SERIAL(YEAR(@VAR_DATE),MONTH(@VAR_DATE),1 );
		SET @RET_DATE = DATEADD( MONTH ,1 ,@RET_DATE );
		SET @RET_DATE = DATEADD( DAY ,-1 ,@RET_DATE );
	
	RETURN @RET_DATE
END
GO
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-11 21:01:15 | By :
                            blurEye |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              |  
 ^^ SESSION EXPIRE ไปสะงั้น
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-11 21:03:02 | By :
                            blurEye |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เอ่อคือย้อนกลับไปดูที่คุณ blureye ตอบ No. 1 ไว้ จิงๆมันไม่ใช่อย่างนั้นนะค่ะ จะเอาย้อนหลัง ===================================================
 04.                                     RANGE
 05.                           =====================
 06.Date                          Begin      Terminated
 07.===================================================
 08.11/03/2010                    1/02/2010  28/02/2010
 09.11/02/2010                    1/01/2010  31/01/2010
 
 มันจะต้องเป็นอย่างนี้ค่ะ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-11 21:28:33 | By :
                            somooo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ^^ ก็แก้เป็นแบบนี้ปะคะ 
 Code (VB.NET)
 
 DECLARE  
   @SOM_OOO_DATE     DATETIME, 
   @MASK_DATE        DATETIME;
   
SET @SOM_OOO_DATE = dbo.DATE_SERIAL(2010,03,08) ;
SET @MASK_DATE = DATEADD(MONTH ,-1 ,@SOM_OOO_DATE) ;
SELECT  @SOM_OOO_DATE  AS DATE_ENTRY
   , dbo.DATE_SERIAL(YEAR(@MASK_DATE),MONTH(@MASK_DATE),01) AS BEGIN_QUERY_DATE
   , dbo.GET_LAST_DAY_OF_MONTH(@MASK_DATE) AS TERMINATED_QUERY_DATE ;
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-11 21:37:37 | By :
                            blurEye |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |