HoangManh > 28-04-17, 11:08 AM
(27-04-17, 03:12 PM)tranthanhan1962 Đã viết:(27-04-17, 02:35 PM)HoangManh Đã viết: Anh làm ơn cho em hỏi là. txtbox ngoai locked thì có cái làm để lock mà ngay cả khi click vào cùng không đựoc không ạCái này phải chơi chiêu. Khi thiết kế bạn tạo 1 label không có caption đè lên checkbox (hoặc bất kỳ control nào mà bạn muốn xử lý sau khi click vào nó nó còn nhìn thấy nhưng sẽ bị đơ như cây cơ)
Khi mở form thì cho lable đó ẩn đi.
Chú ý trước khi cho Label hiện lên phải dời con trỏ khỏi Checkbox chỗ khác để phòng ngừa lỗi code.Mã PHP:Private Sub Form_Load()
Label.Visible = False
End Sub
Khi bạn click vào Checkbox code xử lý cho label hiện lên đè checkbox nên sau đó khi bạn tiếp tục click vào checkbox thực ra bạn click vào Label nên thấy checkbox đơ như cây cơ. Chú ý nhớ set Tab Stop của checkbox = No để không cho người dùng sử dụng phím Tab di chuyển đến CheckboxMã:Private Sub checkbox _Click()
DoCmd.GoToControl "ABC"
checkbox.value=true
Label.Visible=True
End Sub
tranthanhan1962 > 28-04-17, 11:53 AM
(28-04-17, 11:08 AM)HoangManh Đã viết: Anh làm ơn cho em hỏi. em muốn làm cái nút cập nhật.khi sửa một field trong 1 record thì cập nhật luôn cái filed đấy vào table tạm ạ. vậy thì viết đoạn update cho action afterupdate ạ
Ví Dụ *
ma tennv tuoi bacluong
1 a 23 4
Em sửa 23 thành 26 chẳng hạn thì sau khi tab hoặc enter mình sẽ code update cho afterupdate của filed tuổi luôn ạ
Private Sub Tuoi_AfterUpdate()
DoCmd.RunSQL "UPDATE tam SET tam.[Tuoi] = [Forms]![nhanvien]![Tuoi] WHERE (((tam.[Ma])=[Forms]![nhanvien]![Ma]));"
End Sub
HoangManh > 28-04-17, 12:09 PM
(28-04-17, 11:53 AM)tranthanhan1962 Đã viết:(28-04-17, 11:08 AM)HoangManh Đã viết: Anh làm ơn cho em hỏi. em muốn làm cái nút cập nhật.khi sửa một field trong 1 record thì cập nhật luôn cái filed đấy vào table tạm ạ. vậy thì viết đoạn update cho action afterupdate ạ
Ví Dụ *
ma tennv tuoi bacluong
1 a 23 4
Em sửa 23 thành 26 chẳng hạn thì sau khi tab hoặc enter mình sẽ code update cho afterupdate của filed tuổi luôn ạ
Vậy là bạn có 2 table. Controlsource của form là table1 và bạn đang có một table Tam cũng có các record giống như table1. Bạn không cần tạo nút cập nhật mà có thể sử dụng texbox của tuổi (Ví tụ: texttuoi) xử lý bằng event Tuoi_AfterUpdate. Nếu bạn chưa quen trong viết SQL có thể tạo update query rồi chuyển sang SQL đưa vào code
Mã:Private Sub Tuoi_AfterUpdate()
DoCmd.RunSQL "UPDATE tam SET tam.[Tuoi] = [Forms]![nhanvien]![Tuoi] WHERE (((tam.[Ma])=[Forms]![nhanvien]![Ma]));"
End Sub
HoangManh > 28-04-17, 12:30 PM
lsSql = "UPDATE WK_G_SEISAN1 SET "
lsSql = lsSql & " SYOHIN_PKEY = '" & fgNullToNum(lRs("SYOHIN_PKEY")) & "'"
lsSql = lsSql & ", SYOHINCD = '" & fgNullToStr(lRs("SYOHINCD")) & "'"
lsSql = lsSql & ", SYOHINNM = '" & fgNullToStr(lRs("SYOHINNM")) & "'"
lsSql = lsSql & ", SYOHINKANA = '" & fgNullToStr(lRs("SYOHINKANA")) & "'"
lsSql = lsSql & ", SAGYOUDT = '" & fgNullToStr(lRs("SAGYOUDT")) & "'"
lsSql = lsSql & ", TANNI = '" & fgNullToStr(lRs("TANNI")) & "'"
lsSql = lsSql & ", TNK = '" & Me.txtTnk & "'"
lsSql = lsSql & ", GROUPCD = '" & fgNullToStr(lRs("GROUPCD")) & "'"
lsSql = lsSql & ", GROUPNM = '" & fgNullToStr(lRs("GROUPNM")) & "'"
lsSql = lsSql & ", SEISANSU = '" & fgNullToNum(lRs("SEISANSU")) & "'"
lsSql = lsSql & ", KINGAKU = '" & fgNullToNum(lRs("KINGAKU")) & "'"
lsSql = lsSql & ", JINNIN = '" & fgNullToNum(lRs("JINNIN")) & "'"
lsSql = lsSql & ", SEISANSTDT = '" & Format(lRs("SEISANSTDT"), "hh:mm") & "'"
lsSql = lsSql & ", SEISANEDDT = '" & Format(lRs("SEISANEDDT"), "hh:mm") & "'"
lsSql = lsSql & ", SEISANTMMIN = '" & fgNullToNum(lRs("SEISANTMMIN")) & "'"
lsSql = lsSql & ", BIKOU = '" & fgNullToStr(lRs("BIKOU")) & "'"
lsSql = lsSql & ", KEIJYOUFLG = '" & lRs("KEIJYOUFLG") & "'"
lsSql = lsSql & ", UPDUSER = '" & fgNullToStr(lRs("UPDUSER")) & "'"
lsSql = lsSql & ", UPDDT = '" & fgNullToStr(lRs("UPDDT")) & "'"
lsSql = lsSql & ", UPDATE = '" & True & "'"
lsSql = lsSql & " WHERE PKEY = '" & lsPkeyBrk & "';"
CurrentDb.Execute lsSql
lRs.MoveNext
HoangManh > 28-04-17, 03:43 PM
Option Compare Database
Option Explicit
Private OKLuu As Boolean
Private Sub Luu_Click()
OKLuu = True
Call DoCmd.RunCommand(acCmdSaveRecord)
OKLuu = False
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim TraLoi As String
If Not OKLuu Then
Cancel = True
TraLoi = "Sudung nut Luu de cap nhat thay doi." & _
vbNewLine & "hoặc Esc de phuc hoi."
Call MsgBox(Prompt:=TraLoi, Title:="Chu y")
End If
End Sub
ongke0711 > 28-04-17, 08:15 PM
(28-04-17, 12:30 PM)HoangManh Đã viết:Em có gõ đoạn update mà không biết sai cú pháp chõ nào. Anh xem hộ em mới ạ.Mã PHP:lsSql = "UPDATE WK_G_SEISAN1 SET "
lsSql = lsSql & " SYOHIN_PKEY = '" & fgNullToNum(lRs("SYOHIN_PKEY")) & "'"
lsSql = lsSql & ", SYOHINCD = '" & fgNullToStr(lRs("SYOHINCD")) & "'"
lsSql = lsSql & ", SYOHINNM = '" & fgNullToStr(lRs("SYOHINNM")) & "'"
lsSql = lsSql & ", SYOHINKANA = '" & fgNullToStr(lRs("SYOHINKANA")) & "'"
lsSql = lsSql & ", SAGYOUDT = '" & fgNullToStr(lRs("SAGYOUDT")) & "'"
lsSql = lsSql & ", TANNI = '" & fgNullToStr(lRs("TANNI")) & "'"
lsSql = lsSql & ", TNK = '" & Me.txtTnk & "'"
lsSql = lsSql & ", GROUPCD = '" & fgNullToStr(lRs("GROUPCD")) & "'"
lsSql = lsSql & ", GROUPNM = '" & fgNullToStr(lRs("GROUPNM")) & "'"
lsSql = lsSql & ", SEISANSU = '" & fgNullToNum(lRs("SEISANSU")) & "'"
lsSql = lsSql & ", KINGAKU = '" & fgNullToNum(lRs("KINGAKU")) & "'"
lsSql = lsSql & ", JINNIN = '" & fgNullToNum(lRs("JINNIN")) & "'"
lsSql = lsSql & ", SEISANSTDT = '" & Format(lRs("SEISANSTDT"), "hh:mm") & "'"
lsSql = lsSql & ", SEISANEDDT = '" & Format(lRs("SEISANEDDT"), "hh:mm") & "'"
lsSql = lsSql & ", SEISANTMMIN = '" & fgNullToNum(lRs("SEISANTMMIN")) & "'"
lsSql = lsSql & ", BIKOU = '" & fgNullToStr(lRs("BIKOU")) & "'"
lsSql = lsSql & ", KEIJYOUFLG = '" & lRs("KEIJYOUFLG") & "'"
lsSql = lsSql & ", UPDUSER = '" & fgNullToStr(lRs("UPDUSER")) & "'"
lsSql = lsSql & ", UPDDT = '" & fgNullToStr(lRs("UPDDT")) & "'"
lsSql = lsSql & ", UPDATE = '" & True & "'"
lsSql = lsSql & " WHERE PKEY = '" & lsPkeyBrk & "';"
CurrentDb.Execute lsSql
lRs.MoveNext