MTNQ > 10-06-18, 12:01 AM
mrsiro > 10-06-18, 12:47 PM
MTNQ > 11-06-18, 12:17 PM
Private Sub t1()
Dim strCtls As String, str As String
strCtls = "txtID,txtHoTen,txtNamSinh,txtDiachi,txtGioiTinh"
str = "Me.@.Value = .Fields(?).Value"
Call BuildString1(strCtls, str)
End Sub
With rst
Me.txtID.Value = .Fields("ID").Value
Me.txtHoTen.Value = .Fields("HoTen").Value
Me.txtNamSinh.Value = .Fields("NamSinh").Value
Me.txtDiachi.Value = .Fields("Diachi").Value
Me.txtGioiTinh.Value = .Fields("GioiTinh").Value
End With
Private Sub t1()
Dim strCtls As String, str As String
strCtls = "txtHoTen,txtNamSinh,txtDiachi,txtGioiTinh"
str = ".Fields(?).Value = Me.@.Value"
Call BuildString1(strCtls, str, True)
End Sub
With rst
.Edit
.Fields("HoTen").Value = Me.txtHoTen.Value
.Fields("NamSinh").Value = Me.txtNamSinh.Value
.Fields("Diachi").Value = Me.txtDiachi.Value
.Fields("GioiTinh").Value = Me.txtGioiTinh.Value
.Update
End With
DooHoaangPhuuc > 11-06-18, 11:26 PM
(11-06-18, 12:17 PM)MTNQ Đã viết: Đây:
FindRecord5.rar
Trong file trên:
-MTNQ sử dụng hàm AddFormatConditions để tô màu cho Current Record trên 2 sub
mrsiro > 12-06-18, 10:32 AM
MTNQ > 16-06-18, 10:27 AM
(11-06-18, 11:26 PM)DooHoaangPhuuc Đã viết: Cháu xin hỏi hàm AddFormatCondition để tô màu cho Current Record trong continuous form như thế nào ạ.
Cháu xin cảm ơn
MTNQ > 16-06-18, 10:58 AM
(12-06-18, 10:32 AM)mrsiro Đã viết: 1/Thủ tục listallcontrol và t1 phải sửa lại public đằng trước thì mới chạy đươc MTNQ à, với lại mình chỉ chạy listallcontrol rồi chạy tiếp t1 là nó ra luôn chứ đâu cần phải chạy 2 lần t1:
2/ Hình như trong vba của formdanhsach không có dùng đến các thủ tục này thì phải. Tại mình thấy hình như dùng thủ tục savedata rồi. Còn cái Savevalueofctl nó tương tự như cái buildstring1 phải không. Không biết mình có hiểu đúng không, các thủ tục trong module mtdtool là để dùng khi cần gọi cho nhiều form khác nhau, muốn ứng dụng cho nhiều form thì dùng các thủ tục trong này. Còn trong demo thì hoàn toàn chưa dùng tới, mà dùng trực tiếp các thủ tục loaddata, savedata với savevalueofctl ( 3 cái này cũng tương tự 3 cái thủ tục trong mdltool).
Private Sub BuildInsertString(strCtls As String, Optional strTableName As String)
Dim arr, i As Integer, strTemp As String, strTemp1 As String
arr = Split(strCtls, ",")
If strTableName = "" Then strTableName = "Table1"
strTemp = """" & "INSERT INTO " & strTableName & " "" _" & vbCrLf & vbTab & "& ""("
For i = LBound(arr) To UBound(arr)
strTemp = strTemp & Mid(arr(i), 4) & ","
strTemp1 = strTemp1 & vbCrLf & vbTab & "& ""'""" & " & " & arr(i) & " & " & """'," & """ _"
Next
strTemp = Left(strTemp, Len(strTemp) - 1) & ")" & """ _" & vbCrLf & vbTab
strTemp1 = Left(strTemp1, Len(strTemp1) - 4) & ")"""
strTemp = strTemp & "& "" VALUES " & "("" _" & "" & strTemp1
Debug.Print strTemp
End Sub
Sub t3()
Dim strCtls As String, str As String
strCtls = "txtHoTen,txtNamSinh,txtGioiTinh,txtDiachi"
Call BuildInsertString(strCtls, "tblDanhSach")
End Sub
"INSERT INTO tblDanhSach " _
& "(HoTen,NamSinh,GioiTinh,Diachi)" _
& " VALUES (" _
& "'" & txtHoTen & "'," _
& "'" & txtNamSinh & "'," _
& "'" & txtGioiTinh & "'," _
& "'" & txtDiachi & "')"
Private Sub cmdSave_Click()
If Nz(Me.txtHoTen.Value, "") = "" Then Exit Sub
Dim strSQL As String
strSQL = "INSERT INTO tblDanhSach " _
& "(HoTen,NamSinh,GioiTinh,Diachi)" _
& " VALUES (" _
& "'" & txtHoTen & "'," _
& txtNamSinh & "," _
& "'" & txtGioiTinh & "'," _
& "'" & txtDiachi & "')"
CurrentDb.Execute strSQL, dbFailOnError
End Sub
MTNQ > 16-06-18, 11:21 AM
Public Sub SaveValueOfCtl(frm As Form, ByRef varCtls As Variant, strCtls As String)
Dim arr, i As Integer
arr = Split(strCtls, ",")
ReDim varCtls(1, UBound(arr))
With frm
For i = LBound(arr) To UBound(arr)
varCtls(0, i) = arr(i)
varCtls(1, i) = .Controls(arr(i)).Value
Next
End With
End Sub
Private Const strCtls = "txtHoTen,txtNamSinh,txtGioiTinh,txtDiachi"
Dim varCtls As Variant
Call SaveValueOfCtl(Me, varCtls, strCtls)
For i = LBound(varCtls) To UBound(varCtls)
For i = LBound(varCtls, 2) To UBound(varCtls, 2)
mrsiro > 17-06-18, 11:05 AM
.Edit
field("hoten") = me.hoten
field("gioitinh")= me.gioitinh
field("diachi") = me.diachi
.Update
MTNQ > 17-06-18, 02:43 PM
Private Sub cmdSave_Click()
...
If WriteChanges2(Me, varCtls, Me.txtID.Value) = True Then
Call SaveData
...
End If
End Sub
Private Sub cmdSave_Click()
LockCtl True
Call WriteChanges2(Me, varCtls, Me.txtID.Value)
Call SaveData
End Sub
For i = LBound(varCtls, 2) To UBound(varCtls, 2)
Private Const strCtls = "txtHoTen,txtNamSinh,txtGioiTinh,txtDiachi"
Dim arr As Variant
arr = Split(strCtls, ",")
With Me
.txtID.Value = .frmDanhSach_sub.Form.txtID.Value
For i = LBound(arr) To UBound(arr)
.Controls(arr(i)).Value = .frmDanhSach_sub.Form.Controls(arr(i)).Value
Next
End With
Dim arr As Variant
arr = Split(strCtls, ",")
With Me
For i = LBound(arr) To UBound(arr)
.frmDanhSach_sub.Form.Controls(arr(i)).Value = .Controls(arr(i)).Value
Next
End With