• Phương thức set focus
  • 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.
  • RE: Phương thức set focus

    Alias90 > 25-07-12, 03:37 PM

    027 Tiếp tục ngồi hóng...