• Code gán giá trị textbox vào field Table
  • Code gán giá trị textbox vào field Table

    Nikkie > 11-05-21, 10:48 AM

    Hiện tại em đang vướng mắc vấn đề này rất mong các bác xem xét.
    Em có 1 file back_end chứa table T_Intend, có 1 field là "Intend_Month". Em tạo 1 query "Q_Intend" từ cái table này.
    Có 1 form "F_Intend" chứa "Q_Intend" ở dạng subform. Trong form này có 1 textbox "search_Month" và e tạo 1 button. Em muốn khi bấm vào nút thì record nào có field "Intend_Month" đang trống thì sẽ cập nhật giá trị trong textbox "search_Month" vào.
    Code em viết:

    Private Sub Command13_Click()
    Dim db As DAO.Database

    Dim rs As DAO.Recordset



    Set db = CurrentDb

    Set rs = db.OpenRecordset("T_Intend", dbOpenDynaset)



    If rs.RecordCount > 0 Then

    rs.MoveFirst

        If rs![Intend_Month] = "" Then

            rs![Intend_Month] = Me.search_Month.Value

            rs.Update

        End If

    End If

    Me.Refresh


    End Sub



    Cơ mà vẫn không được ạ crying( Mong các bác chỉnh code giúp em. Em cảm ơn nhìu!!!
  • RE: Code gán giá trị textbox vào field Table

    ongke0711 > 11-05-21, 12:57 PM

    - Muốn cập nhật Recordset thì phải có cặp code:
         rs.Edit/ rs.AddNew
      ...
      ...
      rs.Update
     

    - Muốn cập nhật hết các record trong Table thì phải đưa vô vòng lặp duyệt qua từng record.
            rs.MoveFirst
       Do Unitl rs.EOF
           ...
           
           rs.MoveNext
       Loop
  • RE: Code gán giá trị textbox vào field Table

    Nikkie > 11-05-21, 01:42 PM

    (11-05-21, 12:57 PM)ongke0711 Đã viết: - Muốn cập nhật Recordset thì phải có cặp code:
         rs.Edit/ rs.AddNew
      ...
      ...
      rs.Update
     

    - Muốn cập nhật hết các record trong Table thì phải đưa vô vòng lặp duyệt qua từng record.
            rs.MoveFirst
       Do Unitl rs.EOF
           ...
           
           rs.MoveNext
       Loop
    Private Sub Command13_Click()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = CurrentDb
    Set rs = db.OpenRecordset("T_Intend", dbOpenDynaset)

    rs.MoveFirst
    Do Until rs.EOF
        rs.Edit
        If rs![Intend_Month] = "" Then
            rs![Intend_Month] = Me.search_Month.Value
        End If
        rs.Update
        rs.MoveNext
    Loop
    rs.Close
    Me.Refresh

    End Sub

    Em đã sửa lại như này mà vẫn ko được crying(
  • RE: Code gán giá trị textbox vào field Table

    ongke0711 > 11-05-21, 02:59 PM

    - Có báo lỗi gì không? Bạn chụp hình lên xem. Luôn dòng code báo lỗi.
    - Field [Intend_Month] có dataType kiểu gì? Number, Date...? Có đúng chính tả không?
    - textbox [search Month] có đúng Name của nó không?
    - Muốn Refesh SubForm thì phải: Me.SubForm.Requery
  • RE: Code gán giá trị textbox vào field Table

    Xuân Thanh > 11-05-21, 03:03 PM

    (11-05-21, 01:42 PM)Nikkie Đã viết: Private Sub Command13_Click()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = CurrentDb
    Set rs = db.OpenRecordset("T_Intend", dbOpenDynaset)

    rs.MoveFirst
    Do Until rs.EOF
        rs.Edit
        If rs![Intend_Month] = "" Then
            rs![Intend_Month] = Me.search_Month.Value
        End If
        rs.Update
        rs.MoveNext
    Loop
    rs.Close
    Me.Refresh

    End Sub

    Em đã sửa lại như này mà vẫn ko được crying(

    Sai câu lệnh trong vòng lặp. Phải xét đk trước rồi mới Edit Recordset

    Mã:
    Do Until rs.EOF
         If rs![Intend_Month] = "" Then
              rs.Edit
              rs![Intend_Month] = Me.search_Month.Value
              rs.Update
         End If
         rs.MoveNext
    Loop