-
04-21-2008, 05:45 AM #1Silver member
- Ngày tham gia
- Sep 2015
- Bài viết
- 1,053
Muốn làm Report có Record source động
Mình có 12 bảng lương trong 12 tháng có cấu trúc giống nhau nhưng tên gọi được qui định là luong01, luong02, luong03...
Thiết kế 1 form cho phép chọn tháng cần in bảg luong, nếu đồng ý in bảng lương, nó sẽ cho phép in bảng lương có dữ liệu nguồn là bảng lương tháng đang chọn.
- Nếu tạo 12 report in 12 bảng trên thì không có gì phải bàn.
- Còn nếu muốn chỉ tạo 1 report thôi, rồi thay đổi record source, liệu access có thực hiện được không?
Rất cám ơn sự quan tâm thảo luận của các anh chịView more random threads:
- down access
- canh bằng trong report
- Lấy dự liệu từ Query này sang Query khác mà không có liên kết
- Những tính năng mới được coi là thú vị nhất của Access 2000.
- Anh chị giúp em với, em k biết bắt đầ từ đâu. IN HÓA ĐƠN ĐỎ BẰNG MÁY
- Làm sao để tính tổng của column trong Child Form
- làm sao đễ thông tin tự động cập nhập trong form
- Lỗi này ko biết xử lý thế nào
- Sao In ra thì thấy trống mà Access báo vươttj quá chiều rộng
- Anh/chị giúp em bài tập Access này với.
-
04-21-2008, 06:38 AM #2Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Muốn làm Report có Record source động
Bạn đưa file Access của bạn đây, tui làm rồi gởi lại cho...Nhanh mờ...suyngamdi@gmail.com
-
04-21-2008, 03:45 PM #3Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Muốn làm Report có Record source động
Gửi bởi thuydhpy
-
04-21-2008, 05:57 PM #4Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Muốn làm Report có Record source động
Có tài liệu riêng về combo box đây nhưng suynghidi hổng có quyền gửi đính kèm file. Để đưa lên Online Share rồi gửi link vậy
-
04-23-2008, 05:40 AM #5Silver member
- Ngày tham gia
- Aug 2015
- Bài viết
- 25
Ðề: Muốn làm Report có Record source động
Mình cũng không biết up file ở chỗ nào nữa
-
04-23-2008, 03:06 PM #6Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Muốn làm Report có Record source động
Gửi bởi thuydhpy
-
04-24-2008, 05:10 AM #7Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Muốn làm Report có Record source động
Mình up file lên nè
http://uploadcool.com/download.php?file=b1569688e576843d69b1bd6ca5c44384
-
04-24-2008, 02:59 PM #8Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Muốn làm Report có Record source động
Mình nghĩ bạn đã tạo được report bảng lương của 1 tháng rồi đúng không? Để report đấy có thể in được bảng lương cho cả 12 tháng thì đơn giản thôi. Bạn thực hiện như sau (Giả sử report bảng lương bạn đã tạo có tên là rpt_BangLuong):
1. Bạn tạo một Query đặt tên là qry_BangLuong với câu lệnh SQL như sau: SELECT * FROM LUONG01;
2. Mở rpt_BangLuong ở chế độ Design, đặt lại thuộc tính Record Souce là qry_BangLuong
3. Tạo 1 form chọn điều kiện báo cáo có tên là frm_InBangLuong, trên form này gồm có các điều khiển:
- 1 Combobox hoặc 1 text box để cho người sử dụng nhập tháng cần in bảng lương (bạn nên tạo bằng combobox vừa có thể nhập từ bàn phím hoặc có thể chọn từ danh sách từ 1 đến 12). Ở đây tôi giả sử sẽ tạo combobox có tên là cbo_Thang
- 1 Command Button có tên là cmd_OK để in bảng lương và 1 Command Button cmd_Cancel để đóng form lại.
Trong sự kiện On Click của Command cmd_OK bạn đánh các lệnh sau:
Private Sub cmd_OK_Click()
On Error GoTo loi
Dim st, TenBang
Dim db As Database, Qr As QueryDef
TenBang = "LUONG" & trim(cbo_Thang)
st = "SELECT * FROM " & TenBang & ";"
Set db = CurrentDb
Set Qr = db.QueryDefs("qry_BangLuong")
Qr.SQL = st
Qr.Close
Set db = Nothing
DoCmd.OpenReport "rpt_BangLuong", acViewPreview
DoCmd.Maximize
Exit Sub
loi:
Select Case Err.Number
Case Else
MsgBox "Lỗi: " & Err.Number & " - " & Err.Description
End Select
Để tiêu đề bảng lương thể hiện đúng bảng lương đang in, VD: bạn chọn tháng 03 thì sẽ hiện là: "BẢNG THANH TOÁN LƯƠNG THÁNG 03" thì bạn làm như sau:
Giả sử tiêu đề trong rpt_BangLuong bạn tạo bằng 1 label có tên là lbl_TieuDe thì ở sự kiện Report_Open bạn thêm vào lệnh sau:
lbl_TieuDe.Caption = "Bảng thanh toán lương thang " & forms("frm_InBangLuong")!cbo_Thang
Lưu ý: khi nhập tháng từ 1-9 phải thêm số 0 vào trước (01-09) để chương trình xác đinh được đúng tên bảng bạn đặt.
Nếu có trục trặc gì bạn vui lòng liên hệ tôi sẽ giúp bạn
Chúc thành công!
-
04-24-2008, 05:30 PM #9Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Muốn làm Report có Record source động
Gửi bởi dongnamnb
1/ Như dongnamnb nói: Ta đã có form frm_InBangLuong, với combobox với name là cbo_Thang, Nguồn dữ liệu của Report In bảng lương rpt_bangLuong là qry_bangluong.
2/ Ta cần lấy nguồn dữ liệu cho Combo box sổ xuống: Trong frm_inBangLuong, ở chế độ Design, chọn cbo_Thang, Mở property (Alt + Enter nó), bạn chuyển qua tab All, làm như sau:
Control Source: Để trống
Rowsource Type:
Cách 1: Chọn Table/Query (Chọn cái này có tính năng động, rất hay...sẽ giải thích sau), Và mục Row source: bạn kích vào nút ba chấm để tạo Group query, với nguồn dữ liệu là table Lương, chỉ lấy 1 trường là THÁNG.
cách 2: Chọn value list, Trong Row Source: gõ "Tháng 1"; "Tháng 2";...."Tháng 12". (chú ý gõ "Tháng xx" phải đúng hoàn toàn (font chữ, số ký tự..) với dữ liệu trong cột tháng của Table Lương).
NHững thuộc tính khác để mặc định cũng được.
3/ Trong qry_bangluong, cột tháng, dòng criteria, bạn gõ: "forms!frm_InBangLuong!cbo_thang"
4/ chuyển frm_InBangLuong sang chế độ xem, chọn tháng cần in, bấm nút in sẽ cho bạn kết quả như ý (sau này làm những cái khác cũng tương tự).
5/ Làm Theo dongnamnb phần này: "Để tiêu đề bảng lương thể hiện đúng bảng lương đang in, VD: bạn chọn tháng 03 thì sẽ hiện là: "BẢNG THANH TOÁN LƯƠNG THÁNG 03" thì bạn làm như sau:
Giả sử tiêu đề trong rpt_BangLuong bạn tạo bằng 1 label có tên là lbl_TieuDe thì ở sự kiện Report_Open bạn thêm vào lệnh sau:
lbl_TieuDe.Caption = "Bảng thanh toán lương thang " & forms("frm_InBangLuong")!cbo_Thang"
Mình sẽ gửi cho bạn sớm tool mẫu để bạn dễ hiểu.
Có gì chưa rõ bạn liên hệ với dongnamnb hay suynghidi nhé, chúng tôi sẽ hỗ trợ. chúc thành công:happy3:
Link down phần mềm mình làm mẫu để thõa mãn nhu cầu của bạn nè: http://**************/forum/showthread.php?p=134933#post134933
Note: nếu bạn ở Miền Trung mà đang làm việc ở Đà Nẵng thì gia nhập hội DanKetoan Miền Trung nhé: http://**************/forum/showthread.php?goto=newpost&t=78987
:ibbanana::ibbanana::ibbanana:
-
04-25-2008, 12:10 AM #10Silver member
- Ngày tham gia
- Apr 2016
- Bài viết
- 64
Ðề: Muốn làm Report có Record source động
Tôi thấy các bạn làm cực quá, nên tôi góp một tay coi.
Các bạn có 12 table lương có cấu trúc giống nhau, vậy là khoẻ rồi.
Bây giờ các bạn cứ tạo một report dựa trên một table lương nào đó: luong01 chăng hạn.
Ở form điều khiển, bạn chọn tháng bằng một combo tháng.
Combo này có thuộc tính như sau:
Name: cbothang
Row Source type: Value
Row Source: 1;2;3;4;5;6;7;8;9;10;11;12
Một nút lệnh. Trong thủ tục sự kiện Click của nút lệnh này, bạn vào code như sau:
On Error Resume Next
DoCmd.OpenReport "tên report",acViewNormal, , , , cbothang
On Error Goto 0
Ở report, bạn sẽ làm một số công việc sau:
Ở design view, bạn cho một textbox ẩn, có tên là thang
Một text box khác chứa tiêu đề, control source của nó là:
="BẢNG LƯƠNG THÁNG " & thang
Vào thủ tục nè:
Private Sub Report_NoData (Cancel As Integer)
MsgBox "khong co du lieu de in"
Cancel = True
End Sub
Private Sub Report_Open(Cancel As Integer)
thang = RIGHT("0" & OpenArgs, 2)
RecordSource = "SELECT * FROM LUONG" & thang
Requery
End Sub
Xong rồi đó.
:thumbup:
Volkswagen Touareg được nhập cảng từ nhà máy Bratislava ở Slovakia, nơi duy nhất lắp ráp mẫu xe này, cùng với sản phẩm hạng sang Audi Q7 và Porsche Cayenne. Bộ ba sản phẩm lovense lush "anh em" là...
SUV "khủng bố" chiếm thế phân khúc xe sang cho phái mạnh