• Hỏi cách copy dữ liệu
  • Hỏi cách copy dữ liệu

    ledangvan > 01-05-18, 11:51 AM

    Tôi có một dữ liệu gồm có một bảng Hoadon và một bang Chuyendoi, hai bảng này nối với nhau bằng một khóa chính là HDID, tôi tạo 1 Form là Hoadon có chứa một Subform Chuyendoi

    Khi thực hiện nhập dữ liệu, tôi sẽ nhập ào các trường của Form Hoadon trước rồi nhập vào SubForm Chuyendoi

    Tôi muốn : Sau khi nhập xong một bản ghi, có một nút Copy để copy lại toàn bộ dữ liệu của bản ghi hiện tại (Bao gồm cả dữ liệu ở bảng Hoadon và bảng Chuyendoi (để đỡ phải nhập lại, mà chỉ cần chỉnh sửa một số mục cần thiết)

    Xin mọi người giúp đỡ, xin chân thành cảm ơn.

    http://www.mediafire.com/file/zs3h1jwuc5...euthu3.mdb
  • RE: Hỏi cách copy dữ liệu

    MTNQ > 01-05-18, 03:12 PM

    Thủ tục sao chép dữ liệu trên main form + sub form nó tương tự như sau

    Mã:
    Private Sub SaoChepDL()
    On Error GoTo Err_Handler
       
       Dim strSql As String
       Dim lngID As Long
       
       If Me.Dirty Then
           DoCmd.RunCommand acCmdSaveRecord
       End If
       
       If Me.NewRecord Then
           MsgBox "Chua co du lieu de sao chep."
       Else
           
           With Me.Recordset.Clone
               .AddNew
                   !SoCT = Me.SoCT
                   !NgayCT = Me.NgayCT
                   !Diengiai = Nz(Me.Diengiai, "")
                   !Donvi = Me.Donvi
               .Update
               .Bookmark = .LastModified
               lngID = !HDID
               If Me.[Chuyendoi Subform].Form.Recordset.Clone.RecordCount > 0 Then
                   strSql = "INSERT INTO Chuyendoi(HDID, MSTK,Sotien,NoCo,Nhanvien) " & _
                       "SELECT " & lngID & " As NewID,MSTK,Sotien,NoCo,Nhanvien " & _
                       "FROM [Chuyendoi] WHERE HDID = " & Me.HDID & ";"
                   'MTNQ chi lam vi du vai field thoi, ban them cac truong can sao chep vao nhe
                   CurrentDb.Execute strSql, dbFailOnError
               Else
                   'MsgBox "Chua co du lieu chuyen doi."
               End If
               Me.Bookmark = .LastModified
           End With
       End If

    Exit_Handler:
       Exit Sub

    Err_Handler:
       MsgBox "Error: " & Err.Number & vbCrLf & Err.Description, , "SaoChepDL"
       Resume Exit_Handler
       
    End Sub

    MTNQ chỉ làm ví dụ vài trường thôi, bác nhớ thêm các trường cần sao chép vào nhé  007
  • RE: Hỏi cách copy dữ liệu

    ledangvan > 06-04-22, 10:10 PM

    (01-05-18, 03:12 PM)MTNQ Đã viết: Thủ tục sao chép dữ liệu trên main form + sub form nó tương tự như sau

    Mã:
    Private Sub SaoChepDL()
    On Error GoTo Err_Handler
       
       Dim strSql As String
       Dim lngID As Long
       
       If Me.Dirty Then
           DoCmd.RunCommand acCmdSaveRecord
       End If
       
       If Me.NewRecord Then
           MsgBox "Chua co du lieu de sao chep."
       Else
           
           With Me.Recordset.Clone
               .AddNew
                   !SoCT = Me.SoCT
                   !NgayCT = Me.NgayCT
                   !Diengiai = Nz(Me.Diengiai, "")
                   !Donvi = Me.Donvi
               .Update
               .Bookmark = .LastModified
               lngID = !HDID
               If Me.[Chuyendoi Subform].Form.Recordset.Clone.RecordCount > 0 Then
                   strSql = "INSERT INTO Chuyendoi(HDID, MSTK,Sotien,NoCo,Nhanvien) " & _
                       "SELECT " & lngID & " As NewID,MSTK,Sotien,NoCo,Nhanvien " & _
                       "FROM [Chuyendoi] WHERE HDID = " & Me.HDID & ";"
                   'MTNQ chi lam vi du vai field thoi, ban them cac truong can sao chep vao nhe
                   CurrentDb.Execute strSql, dbFailOnError
               Else
                   'MsgBox "Chua co du lieu chuyen doi."
               End If
               Me.Bookmark = .LastModified
           End With
       End If

    Exit_Handler:
       Exit Sub

    Err_Handler:
       MsgBox "Error: " & Err.Number & vbCrLf & Err.Description, , "SaoChepDL"
       Resume Exit_Handler
       
    End Sub

    MTNQ chỉ làm ví dụ vài trường thôi, bác nhớ thêm các trường cần sao chép vào nhé  007

    Cho mình hỏi cách viết thêm SubForm của SubForm nữa với 
    Tức là mình có bảng Hoadon nối với Chuyendoi bằng HDID ; Bảng Chiphi hoặc bảng Congno nối với bảng Chuyendoi bằng ID theo dạng Một chuyendoi - nhiều Chiphi hoặc nhiều congno

    Khi mình thực hiện ghi Hoadon sẽ có bút toán Nơ TK , Có TK (Bút toán này sẽ ghi vào bảng Chuyendoi như ví dụ trên và đã được MTNQ giải rồi) giờ tương ứng với mỗi TK sẽ có một tính chất tương ứng ví dụ 331 tương ứng với TK công nợ và nó sẽ mở ra bảng Congno để nhập vào, hoặc 6428 là TK chi phí nó sẽ mở tương ứng bảng Chiphi để nhập vào.

    Việc nhập thì coi như mình đã thực hiện xong.
    Mình muốn hỏi lệnh copy Bảng Hoadon, chuyendoi, Congno, Chiphi y hệt như cái vừa nhập xong
    https://www.mediafire.com/file/yuv4cezna...U.mdb/file
    Mong MTNQ và mọi người cùng giúp đỡ, xin chân thành cảm ơn
  • RE: Hỏi cách copy dữ liệu

    ledangvan > 17-04-22, 12:02 AM

    MTNQ (Mặt trời ngủ quên) ơi dậy đi giúp tôi với  014 014 014