• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Giúp Em lọc ra những nhân viên đến hạn ký họp đồng

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Điều hành viên: tungblt

nguyenanhtuan79
Thành viên chính thức
Thành viên chính thức
Bài viết: 20
Ngày tham gia: T.Tư 17/09/2008 3:15 pm
Has thanked: 5 time

Giúp Em lọc ra những nhân viên đến hạn ký họp đồng

Gửi bàigửi bởi nguyenanhtuan79 » T.Bảy 21/03/2015 9:32 am

  1. Set Conn = New Connection
  2.     Set rs = New Recordset
  3.     Dim MANV As Integer
  4.     'Dim LayNgayVLV As Data
  5.    Dim songay As Integer
  6.    
  7.     ConStr = "Provider=MSDASQL.1;Password=4980366;Persist Security Info=True;User ID=sa;Data Source=NHANSU_ST;Initial Catalog=NHANSU_ST"
  8.     Conn.Open ConStr
  9.     rs.Open "SELECT * FROM NHANVIEN ", Conn, adOpenStatic, adLockOptimistic
  10.     rs.MoveFirst
  11.     Do Until rs.EOF
  12.         layngayvlv = Trim(rs("NGAYVLV"))
  13.         laymaso = Trim(rs("maso_nv"))
  14.         layten = Trim(rs("hoten"))
  15.         LoaiNhanVien = Trim(rs("loainhanvien"))
  16.         TRANGTHAI = Trim(rs("STATUS"))
  17.         'MANV = Trim(rs("MANV"))
  18.        'frmLuong.txtMANV = Trim(rs("MANV"))
  19.        'frmLuong.cmbNhanVien.AddItem (LayTenNhanVien)
  20.        'frmThongKeNhanVien.cmbNhanVien.AddItem (LayTenNhanVien_ThongKe)
  21.        'frmNhanVien.cmbNoiSinh.AddItem (LayNoiSinh)
  22.        songay = DateDiff("d", layngayvlv, Now)
  23.         If songay >= frmThongKeNhanVienDenHanKyHopDong.txtSoNgay And LoaiNhanVien = "TV" And TRANGTHAI = 1 Then
  24.                  
  25.            
  26.         'Set Conn = New Connection
  27.        'ConStr = "Provider=MSDASQL.1;Password=4980366;Persist Security Info=True;User ID=sa;Data Source=NHANSU_ST;Initial          Catalog=NHANSU_ST"
  28.        'Conn.Open ConStr
  29.        'Adodc1.ConnectionString = ConStr
  30.        'CONSQL = "SELECT * FROM NHANVIEN WHERE LOAINHANVIEN='TV'AND STATUS='1' NGAYVLV >= '60'"
  31.        'Adodc1.RecordSource = CONSQL
  32.        Adodc1.Refresh
  33.         DataGrid1.Refresh
  34.         'Conn.Close
  35.        'Set Conn = Nothing
  36.        End If
  37.         rs.MoveNext
  38.     Loop
  39.     'Adodc1.Refresh
  40.    'DataGrid1.Refresh
  41.    Adodc1.Refresh
  42.     DataGrid1.Refresh
  43.     lblTongCong.Caption = "Toång Soá Nhaân Vieân Ñeán Haïn Kyù Hôïp Ñoàng Laø: " + CStr(Adodc1.Recordset.RecordCount)
  44.     rs.Close
  45.     Conn.Close
  46.     Set rs = Nothing
  47.     Set Conn = Nothing

Em đã làm mấy ngày rồi mà chưa ra xin các Anh giúp
Em cảm ơn Em dùng VB 6 với sql 2000. Em muốn lọc ra những nhân viên đến hạn họp đồng là 60 ngày hay 120 tùy mình gõ vào



Hình đại diện của người dùng
xuanha
Guru
Guru
Bài viết: 1230
Ngày tham gia: T.Năm 19/08/2010 4:25 pm
Đến từ: Ban Tổ chức Thành uỷ Hưng Yên, tỉnh Hưng Yên
Has thanked: 13 time
Been thanked: 380 time
Liên hệ:

Re: Giúp Em lọc ra những nhân viên đến hạn ký họp đồng

Gửi bàigửi bởi xuanha » T.Hai 23/03/2015 10:01 am

Để tính số ngày giữa 2 khoảng thời gian là ngày và tháng thì bạn nên sử dụng hàm DateDiff để thực hiện.
Theo như yêu cầu của bạn thì sử dụng hàm này như sau:

Mã: Chọn hết

SELECT * FROM NHANVIEN Where DateDiff("d", Ngày ký hợp đồng, Ngày hiện tại)=60 or DateDiff("d", Ngày ký hợp đồng, Ngày hiện tại) = 120", Conn, adOpenStatic, adLockOptimistic
Kiểm phiếu Đại hội Đoàn, Đại hội Đảng
http://caulacbovb.com/forum/viewtopic.php?t=23599

nguyenanhtuan79
Thành viên chính thức
Thành viên chính thức
Bài viết: 20
Ngày tham gia: T.Tư 17/09/2008 3:15 pm
Has thanked: 5 time

Re: Giúp Em lọc ra những nhân viên đến hạn ký họp đồng

Gửi bàigửi bởi nguyenanhtuan79 » T.Hai 23/03/2015 10:15 am

Set Conn = New Connection
ConStr = "Provider=MSDASQL.1;Password=123456;Persist Security Info=True;User ID=sa;Data Source=NHANSU_ST;Initial Catalog=NHANSU_ST"
Conn.Open ConStr
Adodc1.ConnectionString = ConStr
CONSQL = "SELECT * FROM NHANVIEN WHERE datediff("d",NGAYVLV,DTPNGAY)=60", Conn, adOpenStatic, adLockOptimistic
Adodc1.RecordSource = CONSQL
Adodc1.Refresh
DataGrid1.Refresh
Conn.Close
Set Conn = Nothing

Nó báo lỗi Anh Nguyễn Xuân Hà ơi, ngay chổ câu lệnh Select * From ......datediff("d"...

Hình đại diện của người dùng
xuanha
Guru
Guru
Bài viết: 1230
Ngày tham gia: T.Năm 19/08/2010 4:25 pm
Đến từ: Ban Tổ chức Thành uỷ Hưng Yên, tỉnh Hưng Yên
Has thanked: 13 time
Been thanked: 380 time
Liên hệ:

Re: Giúp Em lọc ra những nhân viên đến hạn ký họp đồng

Gửi bàigửi bởi xuanha » T.Hai 23/03/2015 1:20 pm

Mã: Chọn hết

CONSQL = "SELECT * FROM NHANVIEN WHERE datediff('d',NGAYVLV,DTPNGAY)=60", Conn, adOpenStatic, adLockOptimistic


Thay "d" thành 'd'
Kiểm phiếu Đại hội Đoàn, Đại hội Đảng
http://caulacbovb.com/forum/viewtopic.php?t=23599

nguyenanhtuan79
Thành viên chính thức
Thành viên chính thức
Bài viết: 20
Ngày tham gia: T.Tư 17/09/2008 3:15 pm
Has thanked: 5 time

Re: Giúp Em lọc ra những nhân viên đến hạn ký họp đồng

Gửi bàigửi bởi nguyenanhtuan79 » T.Ba 24/03/2015 9:50 am

Em cảm ơn Anh xuanha rất nhiều


Quay về “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Đang trực tuyến

Đang xem chuyên mục này: Bing [Bot]3 khách