AnNguyen > 19-12-19, 09:27 AM
Sub Load_ThongTin()
STT = ""
If cbTrangThai = "Completed" Then
STT = "AND t.trangthai_congno=1"
ElseIf cbTrangThai = "Pending" Then
STT = "AND t.trangthai_congno=0"
End If
'============ Ma HOC SINH=============
MaHS = ""
If Trim(txtMaHS) <> "" Then
Ma = m_chuoi.Tach_MaHS_Text(txtMaHS)
MaHS = " AND t.mahs IN (" & Ma & ")"
End If
Truong = " AND H.MATRUONG IN (SELECT MATRUONG FROM TBPHANQUYEN WHERE MANV='" & Manv_Log & "' )"
If cbMaTruong <> "" Then
Truong = " AND h.matruong='" & cbMaTruong & "'"
End If
If cbLoaiHinh.ListIndex = 0 Then
name_query = "Query_PhatSinhNo" & Time
sql = " Select t.mahs , h.tenhs , h.lophoc , " & _
"FROM tbPhatSinhNo t INNER JOIN tbHocSinh h ON t.mahs=h.mahs WHERE 1=1 " & STT & MaHS & Truong
ten_qr = m_Query.Tao_Query("ThongTin", sql)
sfThuChi.SourceObject = "QUERY." & ten_qr
End If
End Sub
Sub Load_Data_Combobox(MaHS,MaTBP) '
Dim cnn As New ADODB.Connection
cnn.ConnectionString = "Provider=SQLOLEDB;Data Source=" & stServer & ";Initial Catalog=" & stDatabase & ";UID=" & stUser & ";PWD=" & stPass & ";"
cnn.Open
Dim cmd1 As New ADODB.Command
Set cmd1.ActiveConnection = cnn
cmd1.CommandText = "dbo.lst_Load_MaHS"
cmd1.CommandType = adCmdStoredProc
Set rst = New ADODB.Recordset
With rst
.CursorLocation = adUseClient ' cai nay gan cho combox, neu k co no se k nhan
.LockType = adLockOptimistic
End With
cmd1.Parameters.Append cmd1.CreateParameter("mahs", adVarChar, adParamInput, 15, MaHS) ' gan ma hs
cmd1.Parameters.Append cmd1.CreateParameter("matbp", adVarChar, adParamInput, 6, matbp) ' gan ma hs
rst.Open cmd1
rst.Close
cnn.Close
End Sub
Sub Xem_Tong_Hs()
Call lst_ThongTin(txtMaHS,MaTBP)
While Not rst.EOF
txtTongPhatSinhNo = rst.Fields("tongno").Value
txtTongPhatSinhCo = rst.Fields("tongco").Value
tong = txtTongPhatSinhNo - txtTongPhatSinhCo
txtTongDu = tong
rst.MoveNext
Wend
End Sub
tranthanhan1962 > 19-12-19, 10:49 AM
(19-12-19, 09:13 AM)AnNguyen Đã viết: Cảm ơn bác Tranthanhan1962 ạ.Tất nhiên, mua máy thì kinh tế hơn thuê máy. Nếu bạn chưa có kinh nghiệm thì có thể làm quen với các phòng game, nhờ người giới thiệu một anh IT giỏi xử lý bootroom. Tìm được thì nhờ người đó tư vấn phần cứng hoặc lắp ráp + bảo hành luôn (tiện tay có thể đánh cắp được nghề ). Server dùng cho CSDL không đòi hỏi cao như phòng game.
Thật ra em phân vân là thuê 1 máy chủ hoặc là mua 1 máy vừa dùng được vừa làm server mà chi phí thuê 1 năm là có thể mua được 1 con máy ổn tí ạ.
Dữ liệu thì đúng là càng ngày sẽ càng nhiều thêm và người dùng cũng sẽ tăng nhẹ ạ. Và khi đó cũng được đôi năm thì lúc đó thuê sau và mình lại có 1 con máy ổn để sử dụng. Sếp thì để mình tự chọn rồi ạ nhưng muốn làm sao sau khi chọn rồi nó phải phù hợp được 2 3 năm chứ được ít bữa mà kêu lên thì không ổn ạ.
ongke0711 > 23-12-19, 01:28 AM
(18-12-19, 08:36 PM)mrsiro Đã viết:(18-12-19, 02:02 PM)ongke0711 Đã viết: - Đối với Table có nhiều người dùng, một kỹ thuật khác quan trọng giúp tăng tốc độ thực thi các Action query (Delete, Update, Insert) là tạo thêm field [TIMESTAMP] cho những Table nào có dữ liệu nhiều, số Field nhiều, thường xuyên cập nhật. Khi bạn tạo một cột có Datatype dạng "TimeStamp", nó phải có tên trùng tên kiểu dữ liệu luôn là [TIMESTAMP]. Nó giống như cột dữ liệu dạng AutoNumber trong table Access vậy. Mỗi khi một record được cập nhật (insert, updatte), hệ thống tự động lưu một giá trị Binary (8 bytes) vào Field này. Khi người dùng A cập nhật record, Access sẽ kiểm tra cột TimeStamp xem có thay đổi giá trị chưa, nếu đã thay đổi tức là có người dùng B đã cập nhật trước thì nó sẽ báo lỗi từ chối không cho A cập nhật, phải Refresh lại dữ liệu để xem cập nhật mới và ngược lại. Nếu table trên SQL Server không có cột TimeStamp, Access sẽ phải duyệt qua tất cả các Field, đối chiếu từng giá trị xem có thay đổi gì không rồi mới cập nhật -> tốn tài nguyên.
Chào bạn ongke, bạn có thể nói thêm về cột timestamp này không.