Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Nov 2015
    Bài viết
    0

    Update dữ liệu từ bảng 2 qua bảng 1

    Tôi có 2 bảng dữ liệu như hình đính kèm:
    Tôi muốn sử dụng câu lệnh để Update cột số lượng từ bảng 2 qua bảng 1 theo đúng mã của nó và sum cột số lượng.
    Hy vọng được mọi người giúp tôi. Xin chân thành cảm ơn.

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Hi,
    Theo cách viết code nông dân của tôi thì như bên dưới: file mdb đính kèm (access 2007)
    ------------------------------------------
    Private Sub cmdSum_Click()

    Dim db As DAO.Database
    Dim rs1 As DAO.Recordset
    Dim rs2 As DAO.Recordset
    Dim strRS2 As String

    Set db = CurrentDb
    Set rs1 = db.OpenRecordset("Table1", dbOpenDynaset)

    'Query group mahang, soluong
    strRS2 = "SELECT Table2.Ma, Sum(Table2.SoLuong) AS SumOfSoLuong FROM Table2 " & _
    "GROUP BY Table2.Ma;"
    Set rs2 = db.OpenRecordset(strRS2, dbOpenDynaset)


    rs1.MoveFirst
    Do Until rs1.EOF
    Do Until rs2.EOF
    rs1.FindFirst "[Ma]='" & rs2!Ma & "'"
    If Not rs1.NoMatch Then
    rs1.Edit
    rs1!SoLuong = Nz(rs1!SoLuong) + Nz(rs2!SumOfSoLuong) 'nz de tranh loi cong Null value o cot Soluong
    rs1.Update
    rs2.MoveNext
    Else
    rs2.MoveNext
    End If
    Loop
    rs1.MoveNext
    Loop

    End Sub

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi ongke0711
    Hi,
    Theo cách viết code nông dân của tôi thì như bên dưới: file mdb đính kèm (access 2007)
    ------------------------------------------
    Private Sub cmdSum_Click()

    Dim db As DAO.Database
    Dim rs1 As DAO.Recordset
    Dim rs2 As DAO.Recordset
    Dim strRS2 As String

    Set db = CurrentDb
    Set rs1 = db.OpenRecordset("Table1", dbOpenDynaset)

    'Query group mahang, soluong
    strRS2 = "SELECT Table2.Ma, Sum(Table2.SoLuong) AS SumOfSoLuong FROM Table2 " & _
    "GROUP BY Table2.Ma;"
    Set rs2 = db.OpenRecordset(strRS2, dbOpenDynaset)


    rs1.MoveFirst
    Do Until rs1.EOF
    Do Until rs2.EOF
    rs1.FindFirst "[Ma]='" & rs2!Ma & "'"
    If Not rs1.NoMatch Then
    rs1.Edit
    rs1!SoLuong = Nz(rs1!SoLuong) + Nz(rs2!SumOfSoLuong) 'nz de tranh loi cong Null value o cot Soluong
    rs1.Update
    rs2.MoveNext
    Else
    rs2.MoveNext
    End If
    Loop
    rs1.MoveNext
    Loop

    End Sub
    Chân thành cảm ơn bác đã giúp đỡ.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •