-
Nhờ giúp đỡ
nguyentrunghoadh > 20-08-20, 09:58 AM
Tôi có 1 file access tên "Phan cong 2020", trong đó form "F_phancong". Tôi gặp khó khăn là khi mở phân công tháng 8 thì có 2 field "Kiêm nhiệm" và "Lớp" còn hiện các số 0, in sẽ không đẹp, nhờ các bạn giúp cách nào không hiện số 0 dùm. Đây là file của tôi:
https://drive.google.com/file/d/15FAF6uu...sp=sharing -
RE: Nhờ giúp đỡ
feeling > 20-08-20, 11:18 AM
(20-08-20, 09:58 AM)nguyentrunghoadh Đã viết: Tôi có 1 file access tên "Phan cong 2020", trong đó form "F_phancong". Tôi gặp khó khăn là khi mở phân công tháng 8 thì có 2 field "Kiêm nhiệm" và "Lớp" còn hiện các số 0, in sẽ không đẹp, nhờ các bạn giúp cách nào không hiện số 0 dùm. Đây là file của tôi:
https://drive.google.com/file/d/15FAF6uu...sp=sharing
Mình không mở được file của bạn. Nhưng mình nghĩ việc này bạn dùng Conditional Formating là ok. -
RE: Nhờ giúp đỡ
Xuân Thanh > 20-08-20, 11:50 AM
Lý do duy nhất là do định dạng số trong table. Để khắc phục dùng IIF trong ControlSource của textbox để chuyển số 0 về Null -
RE: Nhờ giúp đỡ
ongke0711 > 20-08-20, 11:52 AM
Sử dụng Format (Sheet property) này thử xem: #.00;-#.00;"";"" -
RE: Nhờ giúp đỡ
ongke0711 > 20-08-20, 12:00 PM
(20-08-20, 11:56 AM)Xuân Thanh Đã viết:
(20-08-20, 11:52 AM)ongke0711 Đã viết: Sử dụng Format (Sheet property) này thử xem: #.00;-#.00;"";""
Ý của chủ thớt là khử số 0 đang hiển thị trên textbox chứ không phải định dạng số thập phân. Chắc là vậy
"";"":cặp này để nó hiển thị chuỗi rỗng đó anh, nếu số 0 sẽ không hiển thị.
==> #,##0;-#,##0;"";""
==> #;-#;"";"" -
RE: Nhờ giúp đỡ
nguyentrunghoadh > 21-08-20, 11:32 AM
Mình xin lỗi vì file không tải được, đây là đường dẫn file mới:
https://drive.google.com/file/d/1gqO_XBJ...sp=sharing
Nhờ các bạn xem giúp, vì mình chưa làm được. Cảm ơn! -
RE: Nhờ giúp đỡ
ongke0711 > 21-08-20, 03:50 PM
(21-08-20, 11:32 AM)nguyentrunghoadh Đã viết: Mình xin lỗi vì file không tải được, đây là đường dẫn file mới:
https://drive.google.com/file/d/1gqO_XBJ...sp=sharing
Nhờ các bạn xem giúp, vì mình chưa làm được. Cảm ơn!
Bạn nói không rõ làm mọi người tưởng là cột dạng Number, muốn loại bỏ số 0.
Cái field hiện một dãy số 0 và phấy là chuỗi tổng hợp từ cái hàm GopDong () của tôi viết lúc trước.
Lỗi này một phần cũng do cái hàm của tôi, một phần là do bạn thiết kế không theo chuẩn gì cả (vụ hiện số 0).
1. File bạn mắc một lỗi nghiêm trọng, sẽ làm mất dữ liệu. Lỗi đó là bạn thiết lập toàn bộ các Relationship giữa các table với nhau đều chọn mục 3 là "Cascade Delete Related Records" -> Điều này có nghĩa là khi bạn xoá môt Record nào trong 1 Table thì nếu nó có quan hệ với table nào đó thì table kia cũng bị xoá dữ liệu luôn. Tôi lỡ xoá một dòng trong danh mục kiêm nhiệm, qua table phân công dữ liệu bị xoá mất 80%.
Bạn đọc lại thật kỹ lý thuyết về tạo Relationship đi. Chỉ cần một thay đổi nhỏ trong cách tạo quan hệ là dữ liệu trả về nó khác hoàn toàn.
2. Table DM Kiêm nhiệm và table Lớp không cần phải tạo dòng thêm mã kiêm nhiệm (maLop) = 0 để gán cho những GV không kiêm nhiệm. Bạn làm rối thêm Table. Nếu GV không kiêm nhiệm gì thì để trống, khỏi điền dữ liệu vô là được rồi. Cũng từ việc thêm các dòng số 0 này trong table danh mục mà nó hiển thị số 0 trong Query mà bạn muốn sửa đó.
3. Các query dùng trong Form bạn phải xem lại cách tạo quan hệ như đã nói ở mục 1.
Nói chung là file bạn tôi đã sửa lại rồi, bạn theo đó mà ngâm cứu tiếp.
4. Hàm GopDong() đã sửa.
Mã PHP:Option Explicit
Function GopDong(TenFieldCanGop As String, TenFieldThamChieu As String, FieldThamChieu As Variant, TenTable As String) As String
'Ham dung de gop các dong co chung mot truong (field) nao do lai voi nhau.
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim RowList As String
Set db = CurrentDb()
strSQL = "SELECT [" & TenFieldCanGop & "] FROM " & TenTable & " WHERE [" & TenFieldThamChieu & "]= """ & FieldThamChieu & """"
'Debug.Print strSQL
Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
If Not rs.EOF Then
rs.MoveFirst
End If
RowList = ""
Do While Not rs.EOF
If Len(Nz(rs(0), "")) = 0 Then GoTo Skip
RowList = RowList & rs(0) & ", "
Skip:
rs.MoveNext
Loop
If RowList = "" Then
GopDong = ""
Else
GopDong = Left(RowList, Len(RowList) - 2)
End If
End Function
Link file: https://drive.google.com/file/d/1rwGaaTE...sp=sharing