Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Sub Form tự động điền các record
#1
Mình có 1 chương trình Quản lý Lệnh sản xuất gồm 1 Main Form và Sub Form. Sau khi nhập các thông tin như : Số lệnh, ngày tháng, ca, Tổ, sản lượng ...v.v trên Main Form thì xuống Sub Form tiếp tục nhập tên các cá nhân trong Tổ tham gia sản xuất ca đấy đồng thời sản lượng làm được chia đều cho tất cả công nhân của Tổ. Mình thiết kế được và Form chạy bình thường nhưng khó khăn ở đây là :

Tổ sản xuất gồm nhiều công nhân (gần 70 người) nên mỗi lần nhập trong Sub Form phải nhập gần 70 record và phải dùng máy tính tay chia trước sản lượng cho số công nhân trong Tổ do đó mất nhiều thời gian và không chuyên nghiệp lắm.

Việc chia đều sản lượng dù chưa làm nhưng mình nghĩ có thể làm được thông qua cú pháp SetValue nhưng việc điền các công nhân của Tổ vào Sub Form thì gặp khó khăn. Mình có thử dùng Append Query để mỗi khi nhập từ Main Form nhảy xuống Sub Form thì query tự động chép toàn bộ công nhân của Tổ vào Sub Form nhưng không khả quan. 


Mong các bác có cao kiến gì giúp đỡ dùm mình. Cảm ơn tất cả các bác đã đọc bài. 
File demo của mình đây https://www.fshare.vn/file/CTUIQVZ2XAEU
Chữ ký của haidc Xin chào, mình là haidc, Tham gia http://thuthuataccess.com/forum từ ngày 16-07 -12.
Reply
Những người đã cảm ơn
#2
Mình có góp ý như sau:
Bạn làm 1 bảng tính Excel gồm 70 dòng có 5 cột tương ứng với 5 field: Sopphieu (để liên kết với mainform), Congnhan, Ten, Sanluong_ct, Ghichu. Nhập từ Excel và cài công thức để chia sản lượng cho từng người trước (cái này thì Excel làm nhanh và hay hơn Access nhiều) lưu bảng tính này thành 1 file. Sau đó dùng lệnh DoCmd.TransferSpreadsheet để nhập bảng tính Excel vào subform frm_Lenh boc xep_ctiet
Chữ ký của lmthu Xin chào, mình là lmthu, Tham gia http://thuthuataccess.com/forum từ ngày 04-07 -14.
Reply
Những người đã cảm ơn haidc
#3
(02-12-17, 03:16 PM)lmthu Đã viết: Mình có góp ý như sau:
Bạn làm 1 bảng tính Excel gồm 70 dòng có 5 cột tương ứng với 5 field: Sopphieu (để liên kết với mainform), Congnhan, Ten, Sanluong_ct, Ghichu. Nhập từ Excel và cài công thức để chia sản lượng cho từng người trước (cái này thì Excel làm nhanh và hay hơn Access nhiều) lưu bảng tính này thành 1 file. Sau đó dùng lệnh DoCmd.TransferSpreadsheet để nhập bảng tính Excel vào subform frm_Lenh boc xep_ctiet

Cảm ơn bạn nhiều nhưng mình thực hiện thử thì nó import dữ liệu từ file Excel soạn sẵn vào table nhưng nó không cập nhật ngay mà phải chuyển record trên Main Form sang record khác rồi quay lại nó mới có hiệu lực. Chưa kể là ô nhập "Sản lượng" là trên Main Form, nếu mình chia sản lượng trước trên Excel rồi lưu file Excel lại xong mở Access lên chạy Form nhập liệu đâm ra làm 2 thao tác.
Dù sao ý tưởng của bạn cũng hay.
Chữ ký của haidc Xin chào, mình là haidc, Tham gia http://thuthuataccess.com/forum từ ngày 16-07 -12.
Reply
Những người đã cảm ơn
#4
(02-12-17, 03:16 PM)lmthu Đã viết: Mình có góp ý như sau:
Bạn làm 1 bảng tính Excel gồm 70 dòng có 5 cột tương ứng với 5 field: Sopphieu (để liên kết với mainform), Congnhan, Ten, Sanluong_ct, Ghichu. Nhập từ Excel và cài công thức để chia sản lượng cho từng người trước (cái này thì Excel làm nhanh và hay hơn Access nhiều) lưu bảng tính này thành 1 file. Sau đó dùng lệnh DoCmd.TransferSpreadsheet để nhập bảng tính Excel vào subform frm_Lenh boc xep_ctiet
Hì hì! Hướng dẫn access sau mà lạng qua excel nữa bạn.
Hỗ trợ cho bạn haidc:[url=http://thuthuataccess.com/forum/user-8562.html][/url]
1/Tạo một select query tbl_So lieu boc xep_ctiet_Tam, query này có đầy đủ field của tbl_So lieu boc xep_ctiet. và nguồn query là table tbl_Nhanvien (để lấy toàn bộ danh sách nhân viên.
2/Không sử dụng form frm_Lenh boc xep_Ctrl để tao danh sách mà dùng form frm_Lenh boc xep để tạo danh sách nhằm mục đích lấy giá trị textbox Sophieu từ form frm_Lenh boc xep gán cho field Sophieu trên query tbl_So lieu boc xep_ctiet_Tam.
3/Tạo SQL append query lấy dữ liệu từ query tbl_So lieu boc xep_ctiet_Tam append vào table tbl_Số liệu bốc xếp_ctiet.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
Mình cũng đã thử giải pháp Append Query và kết quả cũng như trên. Mình đặt sự kiện LostFocus cho field cuối cùng trên MainForm là chạy AppendQuery nhưng nó ko nối vào. Nhưng qua Lệnh kế rồi quay lại thì khi LostFocus nó nối vào. Mình đoán là do chưa đủ các thông tin nên AppendQuery ko biết nối record nào. Khi chuyển qua Lệnh khác rồi quay lại các thông tin trên MainForm đã hoàn chỉnh nên AppendQuery chạy được.
Chữ ký của haidc Xin chào, mình là haidc, Tham gia http://thuthuataccess.com/forum từ ngày 16-07 -12.
Reply
Những người đã cảm ơn
#6
(02-12-17, 07:39 PM)haidc Đã viết: Mình cũng đã thử giải pháp Append Query và kết quả cũng như trên. Mình đặt sự kiện LostFocus cho field cuối cùng trên MainForm là chạy AppendQuery nhưng nó ko nối vào. Nhưng qua Lệnh kế rồi quay lại thì khi LostFocus nó nối vào. Mình đoán là do chưa đủ các thông tin nên AppendQuery ko biết nối record nào. Khi chuyển qua Lệnh khác rồi quay lại các thông tin trên MainForm đã hoàn chỉnh nên AppendQuery chạy được.

Cách làm thì cũng giống như anh tranthanhan1962 đã hướng dẫn tức là dùng Append Query để thêm danh sách công nhân hàng loạt nhưng bạn vấn đề là đặt ở sự kiện nào để nó thực thi mà không bị lỗi gì.
Theo cách tôi làm:
- Sẽ thêm 1 nút [Phân bổ], khi bấm nút này sẽ chạy lệnh nối danh sách, cập nhật [Sophieu], [Sanluong_ct] cho table của Sub form và tất nhiên trước khi chạy sẽ kiểm tra các thông tin trên Main form bắt buộc phải có như: [Sopieu], [Ngày], [Tổ BX], [Soluong], v.v… Sau đó lưu thông tin Main form xuống Table rồi mới nối dữ liệu cho Sub form được.
- Nếu bạn không muốn tạo thêm nút [Phân bổ] thì dùng sự kiện On Lost Forcus của textbox [Soluong] để chạy code của nút [Phân bổ].

Tôi chỉ làm demo những code cơ bản để ra kết quả như bạn yêu cầu, chưa có bẫy lỗi gì cả nhé.

Link demo: http://www.mediafire.com/file/gv676ic9m9...sua%29.mdb
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haidc
#7
(03-12-17, 08:19 PM)ongke0711 Đã viết:
(02-12-17, 07:39 PM)haidc Đã viết: Mình cũng đã thử giải pháp Append Query và kết quả cũng như trên. Mình đặt sự kiện LostFocus cho field cuối cùng trên MainForm là chạy AppendQuery nhưng nó ko nối vào. Nhưng qua Lệnh kế rồi quay lại thì khi LostFocus nó nối vào. Mình đoán là do chưa đủ các thông tin nên AppendQuery ko biết nối record nào. Khi chuyển qua Lệnh khác rồi quay lại các thông tin trên MainForm đã hoàn chỉnh nên AppendQuery chạy được.

Cách làm thì cũng giống như anh tranthanhan1962 đã hướng dẫn tức là dùng Append Query để thêm danh sách công nhân hàng loạt nhưng bạn vấn đề là đặt ở sự kiện nào để nó thực thi mà không bị lỗi gì.....
www.mediafire.com/file/gv676ic9m9fydh3/Boc_xep%28sua%29.mdb

Biết lấy gì mà đền ơn bác bây giờ. Bác hơi lộn 1 chỗ, thay vì chia Sản lượng bác làm chia Số lượng laughing))). Nhưng ko sao mình đã sửa lại. Chỉ 1 đoạn code của bác đã giải quyết sạch sẽ vấn đề. Thú thật là viết code thì mình chỉ làm được mấy đoạn nhỏ, chủ yếu là cho chạy thử thấy sai thì mày mò thử các kiểu xem có được hay không. Bác có ở SG ko để mình mời bác 1 chầu cafe.

p/s: Mình có gửi mail cho bác nhờ giúp vấn đề này nhưng hình như lâu bác ko check email thì phải. Một lần nữa cảm ơn bác nhiều.
Chữ ký của haidc Xin chào, mình là haidc, Tham gia http://thuthuataccess.com/forum từ ngày 16-07 -12.
Reply
Những người đã cảm ơn
#8
Bác ongke0711 cho phép làm phiền thêm 1 điểm này nữa.  Form frm_Lenh san xuat trong file bác gửi những nút di chuyển các record phía dưới không hiểu sao nút record Next và record Previous nó không tác động lên các record của main form mà lại di chuyển các record ở sun form. Nôm na là khi bấm qua record khác nó nhảy lần lượt qua hết các record ở sub form xong mới qua record kế tiếp ở main form. Trường hợp này cũng hơi lạ, mình tạo nút mới luôn nhưng nó vẫn vậy. Bác có thể xem qua giúp mình được không ?
Cảm ơn bác trước.
Chữ ký của haidc Xin chào, mình là haidc, Tham gia http://thuthuataccess.com/forum từ ngày 16-07 -12.
Reply
Những người đã cảm ơn
#9
Tôi thấy nó vẫn di chuyển theo Record của main form mà bạn. 
Bạn vô Record Source của main form, bỏ table "tbl_SoLieuBocXep_ctiet" đi nhé. Nó không cần thiết cho main Form.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
(05-02-18, 12:09 PM)ongke0711 Đã viết: Tôi thấy nó vẫn di chuyển theo Record của main form mà bạn. 
Bạn vô Record Source của main form, bỏ table "tbl_SoLieuBocXep_ctiet" đi nhé. Nó không cần thiết cho main Form.

Chết thật. Mình không chú ý đến cái table này. Cảm ơn bác nhiều.
Chữ ký của haidc Xin chào, mình là haidc, Tham gia http://thuthuataccess.com/forum từ ngày 16-07 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Ẩn những record theo điều kiện nam8384 4 160 13-11-18, 04:58 PM
Bài mới nhất: nam8384
  [Hỏi] Cách tạo Cbo để lọc các mặt hàng trong Sub Form samacxanh 3 256 17-10-18, 10:33 AM
Bài mới nhất: vulhu06
  [Help] Điều khiển 1 form từ form khác tranthanhan1962 2 191 30-09-18, 05:57 PM
Bài mới nhất: tranthanhan1962
  Tìm kiếm Record ngay khi gõ trong Combobox - Class ongke0711 9 645 25-09-18, 12:00 PM
Bài mới nhất: ledangvan
  Lỗi truyền tham số từ Form vào query cannguyen 2 126 20-09-18, 06:49 PM
Bài mới nhất: cannguyen

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line