-
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é -
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é
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