Xin hỏi về nhập dữ liệu!

  • Thread starter manhhungcz
  • Ngày gửi
M

manhhungcz

Thành viên sơ cấp
5/2/06
2
0
0
Czech
#1
anh em có biết làm thế nào để trên form nhập dữ liệu, khi nhấn nút ghi thì dữ liệu được ghi đồng thời vào 2 bảng không (2 bảng này có các trương như nhau) giúp tui nhé ^_^
 
C

CMSmember

Thành viên sơ cấp
22/10/04
7
0
0
43
Hanoi
#2
Khi thiết kế, để đảm bảo toàn vẹn dữ liệu thì trong mô hình quan hệ bạn đã phải xây dựng các bảng đảm bảo không dư thừa và xác định được quan hệ của chúng là 1-1 hay 1-n, Thông thường nếu 2 bảng mà có trường giống nhau thì nó thường là các trường khóa- và phải xác định được bảng nào là bảng 1. Khi cập nhật dữ liệu lên bảng 1 thì các bảng nhiều sẽ được tự động cập nhật.
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
3
18
Khánh Hòa
#3
Dear all,
--------
Đây là bài tập của manhhungcz nên chúng ta sẽ không quan tâm đến vấn đề tối ưu Database nữa. Là bài tập thì mục tiêu là kiếm được điểm 10 thôi, manhhungcz nhỉ! Tôi xin đưa ra đây yêu cầu bài toán và Database mẫu mà bạn manhhungcz đã gửi cho tôi:
manhhungcz nói:
Mình có 1 form nhập liệu, khi nhập dữ liệu song, nhấn nút "Nhập Tiếp" thì bản ghi vừa nhập sẽ được nhớ vào 1 bảng, và được hiển thị nội dung ngay ở dưới form nhập (bằng SubForm hay LisBox) đó là "danh mục hàng hóa vừa nhập", cứ như vậy cho đến khi nhấn nút "Ghi" thì toàn bộ dữ liệu này mới được ghi vào 1 bảng khác (bảng này được lưu lại) còn nội dung của bảng danh mục hàng hóa được xóa đi.
Mình cúng muốn làm như vậy để khi in hóa đơ được thuận tiện hơn(Vì với 1 hóa đơn ta có thể nhập nhiều hàng)
Các bạn góp ý và giúp manhhungcz nhé!
Đào Việt Cường nói:
Today, 13/2/2005, at 1:00 PM
------------------------------
Mình góp ý thêm: Bạn manhhungcz nên design lại Tbl_hangnhap cho hợp lý. Field dongia có Data Type = Text liệu có hợp lý không?
 
Sửa lần cuối:
C

CMSmember

Thành viên sơ cấp
22/10/04
7
0
0
43
Hanoi
#4
Mình thấy ví dụ của bạn chưa sát với cấu hỏi nên trả lời như vậy, còn đối với file của Dao Viet Cuong gửi lên mình thấy cách xử lý ở đây là khi kích vào nút " Nhập tiếp" thì chúng ta ghi dữ liệu vào bảng tblnhap_tam. List box hiển thị thông tin ở dưới lấy nguồn dữ liệu từ bảng này (Chỉ dùng để hiển thị thôi). Khi kích vào nút ghi, thì chúng ta lấy thông tin trong tblnhap_tam ghi sang tblnhap ( Dùng câu lệnh insert). Sau đó xóa toàn bộ dữ liệu của bảng tblnhap_tạm là xong.
Mình không có quyền tải file nên chỉ trả lời bạn như vậy thôi,Nhờ các bạn khác giúp đỡ viết code vậy.:dzo:
 
Sửa lần cuối:
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
3
18
Khánh Hòa
#5
Để em trả lời tiếp giúp bác CMSmember vậy,
---------------------------------------
Bạn bổ sung hai thủ tục cmd_nhaptiep_Click()cmd_ghi_Click() vào module Form_frml_hangnhap, hai thủ tục như sau:
Private Sub cmd_nhaptiep_Click()
On Error Resume Next
DoCmd.GoToRecord acDataForm, "frml_hangnhap", acNewRec
List24.Requery ' Làm "tươi" ListBox Danh mục hàng vừa nhập
End Sub
______________________________________________________

Private Sub cmd_ghi_Click()
DoCmd.SetWarnings False 'Tắt cảnh báo của hệ thống MSA
Dim strSQL As String
strSQL = "INSERT INTO Tbl_hangnhap Select * from tbl_hangnhap_tam"
DoCmd.RunSQL strSQL
DoCmd.RunSQL "Delete * from tbl_hangnhap_tam"
Form_frml_hangnhap.Requery
List24.Requery ' Làm "tươi" ListBox Danh mục hàng vừa nhập
DoCmd.SetWarnings True 'Khôi phục cảnh báo của hệ thống MSA
End Sub
Các xử lý trên chỉ mới được điểm 9, còn để được điểm 10 bạn cần phải có các xử lý bẫy lỗi (nhất là Validation của ứng dụng) và thông báo cho người sử dụng biết!
Chúc bạn thành công!
 
Sửa lần cuối:
M

manhhungcz

Thành viên sơ cấp
5/2/06
2
0
0
Czech
#6
cám ơn anh em nhiều lắm cám ơn Đào Việt Cường,CMSmember, được diểm cao nhất định tui sẽ khao mọi người 1 chầu bia. ^_^ (Bia Czech ngon nổi tiếng mà các bác)

ah`, cho tui hỏi thêm 1 câu nhé: khi tạo trường dữ liệu dạng AutoNumber không thấy có định dạng Input Mash, có cách nào định dạng được cho nó không nhỉ? (VD: "QC 12345")
 
Sửa lần cuối:
Secret_grasses

Secret_grasses

Thành viên sơ cấp
#7
manhhungcz nói:
cám ơn anh em nhiều lắm cám ơn Đào Việt Cường,CMSmember, được diểm cao nhất định tui sẽ khao mọi người 1 chầu bia. ^_^ (Bia Czech ngon nổi tiếng mà các bác)
Hihi, cho Secret ké với!!!:dzo:
manhhungcz nói:
ah`, cho tui hỏi thêm 1 câu nhé: khi tạo trường dữ liệu dạng AutoNumber không thấy có định dạng Input Mash, có cách nào định dạng được cho nó không nhỉ? (VD: "QC 12345")
Bạn xem câu trả lời ở đây ha.
 
HongViet

HongViet

Thành viên thân thiết
10/11/05
286
10
18
Đà nẵng
#8
Đây là loại để tham khảo Xin Cho í kiến!

manhhungcz nói:
Cho hỏi thêm 1 câu nhé: khi tạo trường dữ liệu dạng AutoNumber không thấy có định dạng Input Mash, có cách nào định dạng được cho nó không nhỉ? (VD: "QC 12345")
Có cách là tạo song song với nó 1 trường nữa VD tên là [MaKh] thì bạn tha hồ định dạng, này nha:
Khi Nhập vô trường [NgayThang] nào đó xong thì trường [STT] tăng 1 ĐV. Khi đó ta viết hàm gán vô trường [MaHk] giá trị tiếp theo của nó:
Function GanMa ( GiaTriNum as Variant)
Dim Ii As Long
Ii = GiaTriNum + 1
GanMa = "NK" & Right("0000000" & CStr(Ii),10)
End Function
Tất nhiên trường [MaKh] này phải làm mờ đi & thuộc tính TabStop = No
Chúc Vui Vẽ & Mạnh Khoẻ!:dzo:
 

Thành viên trực tuyến

Không có thành viên trực tuyến.

Xem nhiều