Access+SQL Cách sử lý tìm kiếm trong 1 khoảng thời gian
Cuong Servenet > 09-08-18, 11:34 AM
e xin phép chia sẻ 1 cách xử lý tìm kiếm thông tin trong list khách hàng vào khoảng thời gian
※ Nếu anh chị nào có cách nào xử lý hay hơn thì chỉ em với nhé. hiện tại em chỉ nghĩ ra như vậy
①Code VBA thì em nghĩ 1 2 dòng là đủ như Me.requery ....
②Code trên Sql như sau :
CREATE PROCEDURE [dbo].[LIST_KhachHang]
(
@TK_TenKH NVARCHAR(30),
@TK_NgayDatHang01 DATETIME,
@TK_NgayDatHang02 DATETIME,
)
AS
DECLARE @STRWHERE NVARCHAR(1000)
DECLARE @CONDATE01 NVARCHAR(10),@CONDATE02 NVARCHAR(10)
SET @STRWHERE = ''
SET @CONDATE01 = ''
SET @CONDATE02 = ''
IF @TK_NgayDatHang01 IS NOT NULL OR @TK_NgayDatHang02 IS NOT NULL
BEGIN
IF @TK_NgayDatHang01 IS NULL
SET @TK_NgayDatHang01 = '1900-4-1'
IF @TK_NgayDatHang02 IS NULL
SET @TK_NgayDatHang02 = '3000-4-1'
SET @CONDATE01 = DATENAME( yy, @TK_NgayDatHang01 ) + '-' + DATENAME( mm, @TK_NgayDatHang01 ) + '-' + DATENAME( dd, @TK_NgayDatHang01 )
SET @TK_NgayDatHang02 = DATEADD( D, 1, @TK_NgayDatHang02 )
SET @CONDATE02 = DATENAME( yy, @TK_NgayDatHang02 ) + '-' + DATENAME( mm, @TK_NgayDatHang02 ) + '-' + DATENAME( dd, @TK_NgayDatHang02)
IF @STRWHERE <> ''
SET @STRWHERE = @STRWHERE + ' AND'
SET @STRWHERE = @STRWHERE + ' ( DBkhachhang.NgayDatHang >= CONVERT(DATETIME, ''' + @CONDATE01+
''') AND DBkhachhang.NgayDatHang < CONVERT(DATETIME,''' + @CONDATE02+ ''' ))'
END
IF @STRWHERE <> ''
BEGIN
SET @STRWHERE = ' WHERE ' + @STRWHERE
END
-----------------------------------------------------------------------------------------------------
EXEC('
SELECT *
FROM DBkhachhang
' + @STRWHERE + '
ORDER BY DBkhachhang.NgayDatHang DESC
')
GO