-
Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 27-06-17, 12:41 PM
Xin chào Các Anh Chị trong diễn đàn.
Em xin hỏi vài vấn đề về Form và report và nhờ Các Anh Chị giúp đở hướng dẫn :
Em lập File Access gồm :
- Table : Table_Dulieu;
- Form :
Form_Nhaplieu (nhập dữ liệu vào nguồn Table_Dulieu)
Form_Locdanhsach (lấy nguồn từ Query_Locdanhsach)
- Query : Query_Locdanhsach (Lọc danh sách trong Table_Dulieu theo điều kiện nhất định)
- Report : theo dang Single view cho từng mẩu record từ nguồn lấy Query_Locdanhsach.
Ví dụ :
Sau khi lọc từ Query_locdanhsach có Form_locdanhsach như sau :
MS-Hocsinh Tenhocsinh MonToan MonVan MonAnhVan Ketqua
--------------------------------------------------------------------------------------------------------------
MS001 Nguyen Van A 9.24 8.90 9.40 Gioi
MS014 Le Van B 9.24 8.90 9.40 Gioi
MS022 Tran Van C 9.24 8.90 9.40 Gioi
MS040 Pham Van D 9.24 8.90 9.40 Gioi
Nút lệnh : Button_Xemchitiet (xem điểm của từng record trong danh sách trên)
Xin hỏi các Anh Chị hướng dẫn giúp em tạo nút lệnh chỉ view report chỉ cho 1 mẩu record thôi.
Ví dụ khi đưa chuột nhấp vào dòng record MS001 và nhấn nút lệnh Button_Xemchitiet thì chỉ thể hiện report theo dạng single view chỉ cho record MS001 này thôi.
Hoặc dùng chuột chọn MS040 và nhấn Button_xemchitiet thì chỉ thể hiện report cho record MS040.
Minh hoạ: chuột chon trên Form_locdanhsach
(chuột chọn)-----> MS0001 Nguyen Van A 9.24 8.90 9.40 Gioi
(trên dòng MS001)
Nhấn ------> Button_xemchitiet
Report chỉ ở dạng Single view:
+ MS-Hocsinh : MS001
+ Tenhocsinh : Nguyen Van A
+ Mon Toan : 9.24
+ Mon Van : 8.90
+ Mon Anh van : 9.40
+ Thanh tich : Gioi
Nếu thường theo nút lệnh report sẽ lặp tuần tự từ MS001 rồi đến MS014, MS022 cho đếb cuối MS040.
Như vậy thì rất dài và khó xem.
Ở đây em chỉ cần xem từng MS-Hocsinh khi chọn nhấn chuột vào mà thôi.
Cảm ơn Các Anh Chị tận tình giúp đỡ.
Do Hoang Phuc -
RE: Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 27-06-17, 12:42 PM
(27-06-17, 12:41 PM)DooHoaangPhuuc Đã viết: Xin chào Các Anh Chị trong diễn đàn.
Em xin hỏi vài vấn đề về Form và report và nhờ Các Anh Chị giúp đở hướng dẫn :
Em lập File Access gồm :
- Table : Table_Dulieu;
- Form :
Form_Nhaplieu (nhập dữ liệu vào nguồn Table_Dulieu)
Form_Locdanhsach (lấy nguồn từ Query_Locdanhsach)
- Query : Query_Locdanhsach (Lọc danh sách trong Table_Dulieu theo điều kiện nhất định)
- Report : theo dang Single view cho từng mẩu record từ nguồn lấy Query_Locdanhsach.
Ví dụ :
Sau khi lọc từ Query_locdanhsach có Form_locdanhsach như sau :
MS-Hocsinh Tenhocsinh MonToan MonVan MonAnhVan Ketqua
--------------------------------------------------------------------------------------------------------------
MS001 Nguyen Van A 9.24 8.90 9.40 Gioi
MS014 Le Van B 9.24 8.90 9.40 Gioi
MS022 Tran Van C 9.24 8.90 9.40 Gioi
MS040 Pham Van D 9.24 8.90 9.40 Gioi
Nút lệnh : Button_Xemchitiet (xem điểm của từng record trong danh sách trên)
Xin hỏi các Anh Chị hướng dẫn giúp em tạo nút lệnh chỉ view report chỉ cho 1 mẩu record thôi.
Ví dụ khi đưa chuột nhấp vào dòng record MS001 và nhấn nút lệnh Button_Xemchitiet thì chỉ thể hiện report theo dạng single view chỉ cho record MS001 này thôi.
Hoặc dùng chuột chọn MS040 và nhấn Button_xemchitiet thì chỉ thể hiện report cho record MS040.
Minh hoạ: chuột chon trên Form_locdanhsach
(chuột chọn)-----> MS0001 Nguyen Van A 9.24 8.90 9.40 Gioi
(trên dòng MS001)
Nhấn ------> Button_xemchitiet
Report chỉ ở dạng Single view:
+ MS-Hocsinh : MS001
+ Tenhocsinh : Nguyen Van A
+ Mon Toan : 9.24
+ Mon Van : 8.90
+ Mon Anh van : 9.40
+ Thanh tich : Gioi
Nếu thường theo nút lệnh report sẽ lặp tuần tự từ MS001 rồi đến MS014, MS022 cho đến cuối MS040.
Như vậy thì rất dài và khó xem.
Ở đây em chỉ cần xem từng MS-Hocsinh khi chọn nhấn chuột vào mà thôi.
Cảm ơn Các Anh Chị tận tình giúp đỡ.
Do Hoang Phuc -
RE: Tạo nút lệnh trên Form để view report (Single view)
tranthanhan1962 > 27-06-17, 01:34 PM
Tạo criteria cho query Query_locdanhsach là texbox MS-Hocsinh trên form. -
RE: Tạo nút lệnh trên Form để view report (Single view)
advnamk > 27-06-17, 10:13 PM
Bạn dùng lệnh này coi.
DoCmd.OpenReport "...", acViewNormal, , "MS-Hocsinh=[Forms]![Form_Locdanhsach]![MS-Hocsinh]" -
RE: Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 28-06-17, 12:49 PM
Chào Bác TranThanhAn1962 và Bác Advnamk,
Cháu xin cảm ơn Bác ThanhAn và Bác Namk đã hướng dẫn.
+ Cháu theo hướng dẫn của Bác ThanhAn lập điều kiện trong Query_locdanhsach:
[Form]![F_locdanhsach]![MS-Hocsinh] và đã thự hiện được.
+ Với cách của Bác Namk, cháu cũng thử câu lệnh, nhưng không biết phần mềm trong máy tính của cháu như thế nào, mà khi viết lệnh :
DoCmd.OpenReport ....... máy chỉ thực thi lệnh in thôi. Tinh trạng này cũng bị lâu rồi. Cháu cũng đang xem xét cài lại chương trình Access mới cho máy.
Cảm ơn Hai Bác thật nhiều
Chúc Hai Bác thật nhiều sức khoẻ.
Cháu
Đỗ Hoàng Phúc -
RE: Tạo nút lệnh trên Form để view report (Single view)
tranthanhan1962 > 28-06-17, 01:05 PM
Không phải cài lại máy tính đâu:
DoCmd.OpenReport "Tên report", acPreview (lệnh mở trang report để xem trước khi in)
DoCmd.OpenReport "Tên report",acViewNormal (lệnh in report mà không cần mở report để xem) -
RE: Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 30-06-17, 01:27 AM
Thank Bác TrabThanhAn rất nhiều.
Nhân đây Cháu cũng xin hỏi cách viết code cho textbox như sau :
+ Khi thoả điều kiện : Chữ trong textbox sẽ chuyển sang màu khác so với không thoả thoả điều kiện.
Ví dụ : Khi thoả điều kiện A : Chữ textbox sẽ chuyển thành màu đỏ. Không thoả A chữ màu đen.
Cảm ơn Các Bác, các Anh Chị rất nhiều. -
RE: Tạo nút lệnh trên Form để view report (Single view)
tranthanhan1962 > 30-06-17, 03:02 AM
Đề xác định màu một control trong code dùng code propeties
Màu nền: Control.BackColor
Màu chữ: Control.ForeColor
Màu viền: Control.BorderColor
Để xác định màu muốn chọn. Vào Properties format chọn màu để xác định được giá trị màu của nó.
Đối với access 2003, sau khi chọn màu giá trị của nó trên bảng properties được xác định bằng RGB value, khi viết code cứ điền thẳng số này vào.
Ví dụ màu đen là 0, màu đỏ là 255 => Control.ForeColor =0, Control.ForeColor = 255
Đối với access 2007 trở lên trên bảng propertier thể hiện bằng mã Hex nên phải xử lý lại: trên mã hex có dấu # và 6 ký tự mã màu. Ví dụ: #0072BC khi viết mã chuyển thành RGB(&H00, &H72, &HBC). (6 ký tự có 3 cặp mã thêm &H trước mỗi cặp mã để xác định giá trị cho function RGB)
Ví dụ: màu đen là #000000, màu đỏ là #FF0000 => Control.ForeColor =RGB(&H00, &H00, &H00), Control.ForeColor = RGB(&HFF, &H00, &H00) -
RE: Tạo nút lệnh trên Form để view report (Single view)
DooHoaangPhuuc > 30-06-17, 11:21 AM
Cảm ơn Bác TranThanhAn,
Ở đây ý cháu muốn hỏi là tuỳ điều kiện thì Font chữ trong textbox sẽ chuyển sang màu khác.
Như ví dụ trên :
Nếu thiết kế Textbox
[Xephanghocky]= IIf(([Thanhtich]="Gioi","HOC SINH GIỎi"),IIf([Thanhtich]="Kha","Học SINH TIÊN TIẾN", "")).
+ Nếu thoả điều kiện ="Gioi" thì ô Textbox sẽ đỗi màu font chữ sang đỏ
Xếp hạng học kỳ : HỌC SINH GIỎI
+ Còn không thoả thì : ô textbox sẽ có font chữ đen
Xếp hạng học kỳ : HỌC SINH TIÊN TIẾN
Như vậy sẽ có sự khác biệt trong ô textbox.
Cảm ơn Bác.
-
RE: Tạo nút lệnh trên Form để view report (Single view)
tranthanhan1962 > 30-06-17, 11:42 AM
Để xử lý trường hợp này phải biết được cháu dùng form dạng gì: Single Form, Continuous Forms, Datasheet vì mỗi form có cách giải quyết khác nhau.