Phương thức set focus
Alias90 > 24-07-12, 06:36 PM
Chào mọi người,
Em có thắc mắc muốn nhờ mọi người chỉ dùm về set focus.
Em có 1 textbox(txtkanban). Trong sự kiện txtkanban_AfterUpdate() dữ liệu sẽ được insert vào database.Và con trỏ sẽ trỏ về lại trong txtkanban
Private Sub txtkanban_AfterUpdate()
Dim db As DAO.Database
Dim kb As String
Dim count As Integer
Dim strSQL, str As String
Dim tail As String
Set db = CurrentDb
'DoCmd.OpenQuery "qry_tv"
Me.tseibango = Trim(Left(Me.txtkanban, 5))
Me.tsphlt = Trim(Mid(Me.txtkanban, 6, 4))
tail = Trim(Right(Me.txtkanban, 4))
Me.txtktra = tseibango & tsphlt & tail
Me.tDay = DLookup("[DAY]", "qry_tv", "[SEIBANGO]='" & tseibango & "' AND [SPHLT]='" & tsphlt & "'")
If IsNull(Me.txtkanban.Value) = True Then
MsgBox "Sao khong scan Kanban vao ??"
DoCmd.Close acForm, "frm_kanbantv"
DoCmd.OpenForm "frm_login"
ElseIf Len(Me.txtkanban) < 13 Then
MsgBox "Khong co Kanban nao kieu nay nha!!", vbCritical, "Da phat sinh loi"
DoCmd.Close acForm, "frm_kanbantv"
DoCmd.OpenForm "frm_login"
ElseIf IsNull(DLookup("[DAY]", "qry_tv", "[SEIBANGO]='" & tseibango & "' and [SPHLT]='" & tsphlt & "'")) Then
MsgBox "Kiem o dau ra cai Kanban nay vay? Lien He Nguoi Quan Ly!!!", vbCritical, "Chu y : Da Phat Sinh Loi"
DoCmd.Close acForm, "frm_kanbantv"
DoCmd.OpenForm "frm_login"
ElseIf Me.txtktra <> Me.tDay Then
MsgBox "Kanban nay khong dung theo dinh dang"
DoCmd.Close acForm, "frm_kanbantv"
DoCmd.OpenForm "frm_login"
ElseIf DCount("[DAY]", "tbl_kanbantv", "[DAY] = tDay") Then
MsgBox " Da scan roi !! Bay gio con scan lai nua ha??", vbCritical, "Phat Sinh loi roi kia"
DoCmd.Close acForm, "frm_kanbantv"
DoCmd.OpenForm "frm_login"
Else
Me.tDay = DLookup("[DAY]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tLoaiMay = DLookup("[LOAI_MAY]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tSoMay = DLookup("[SO_MAY]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tTtgc = DLookup("[TTGC]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tKindN = DLookup("[KIND_N]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tSizeN = DLookup("[SIZE_N]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tColorN = DLookup("[COLOR_N]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tMaeA = DLookup("[MAE_A]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tMaeB = DLookup("[MAE_B]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tMayXoan = DLookup("[MAY_XOAN]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
Me.tSoLuong = DLookup("[SOLUONG]", "qry_tv", "[SEIBANGO]=tseibango AND [SPHLT]=tsphlt")
DoCmd.SetWarnings False
strSQL = "insert into tbl_kanbantv(SEIBANGO,DAY,LOAI_MAY,SO_MAY,TTGC,KIND_N,SIZE_N,COLOR_N,MAE_A,MAE_B,MAY_XOAN,SOLUONG,SPHLT)" _
& "select SEIBANGO,DAY,LOAI_MAY,SO_MAY,TTGC,KIND_N,SIZE_N,COLOR_N,MAE_A,MAE_B,MAY_XOAN,SOLUONG,SPHLT from qry_tv where qry_tv.SEIBANGO='" & tseibango & "' and qry_tv.SPHLT='" & tsphlt & "'"
' & "values( '" & tseibango & "','" & tDay & "','" & tLoaiMay & "','" & tSoMay & "','" & tTtgc & " ','" & tKindN & "'," & tSizeN.Value & ",'" & tColorN & " ','" & tMaeA & "','" & tMaeB & "','" & tMayXoan & "'," & tSoLuong.Value & ",'" & tsphlt & "');"
DoCmd.RunSQL strSQL
str = "Update tbl_kanbantv set TENNV='" & txtnhanvien & "',MNV=" & txtmanv.Value & ",CA='" & txtshift & "',NGAY='" & txtngay & "',GIO='" & txtgio & "' , COMPNAME='" & txtcompname & "',NOISCAN ='" & txtnoiscan & "' where tbl_kanbantv.SEIBANGO=tseibango And tbl_kanbantv.SPHLT=tsphlt"
DoCmd.RunSQL str
'Me.lstkanban.RowSource = strSQL & str
Me.lstkanban.Requery
Me.lstkanban.Visible = True
Me.txttong.Visible = True
Me.txtshift.Requery
Me.txtkanban = ""
Me.txtkanban.SetFocus
End If
End Sub
Tuy nhiên,(đã debug loi) sau khi đã insert dữ lieu xong thì khi nhấn f8 qua 2 dòng nay` chương trình vẫn chạy bình thường không báo lỗi .Nhưng bên phần giao diện thì con trỏ không trỏ tới txtkanban mà trỏ tới 1 nút button khác(cmdEdit).(Trong tab order em chọn ưu tiên là 1.txtkanban, 2.cmdEdit).
Em thử chỉnh lại tab oder nhưng vẫn không có kết quả.
Mong mọi người có ý kiến gì thì chỉ giúp em.