-
03-08-2009, 06:46 AM #1Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Làm sao để ghi dữ liệu vào record?
Mình có 1 form nhập với các textbox như sau: nguồn dữ liệu lấy từ 1 table trong đó gồm các field sau: thoigianvao (định dạng là date),tgtieutu(định dạng number),tghethan(định dạng text) . Mình tạo 1 subform sao cho sau khi nhập dữ liệu xong thì mở subform này nó sẽ tính toán thời gian như sau?
code:
If ((tgtieutu - Abs(DateDiff("d", Now, thoigianvao ))) < 0) Then
tgconlai = "Đã hết hạn tiểu tu"
Else
tghethan =tgtieutu - Abs(DateDiff("d", Now, thoigianvao ))
Sao mà mình không thể làm đc? báo lỗi không thể gán giá trị cho tghethan ? Có cách nào báo đc và ghi đc không? trước đây có lần mình làm đc mà không có lỗi gì? nhưng giờ không lam đc nữa,không biết do đâu?View more random threads:
- Đóng gói access
- Cơ sở dữ liệu Access nhiều người người dùng
- So sánh Access 2003 với Access 2007,Access 2010
- xây dựng môt số hàm thông dụng
- Giúp mình bị lỗi phóng to chữ trong Form của Access !
- Connect ODBC trong ACCESS!
- mong các anh chị chỉ dùm về date
- Gửi và truyền dữ liệu từ xa
- nhập liệu cho access
- access chạy độc lập
-
03-08-2009, 05:32 PM #2Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Làm sao để ghi dữ liệu vào record?
tghethan có kiểu dữ liệu là Text. Trong khi đó kết quả trả về của tgtieutu - Abs(DateDiff("d", Now, thoigianvao )) lại là kiểu số! Làm sao mà gán được!
Bạn thử thay đổi kiểu dữ liệu của từng cái lại xem!
Mình chỉ biết vậy thôi:tinhtuong:
-
03-11-2009, 12:27 AM #3Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Làm sao để ghi dữ liệu vào record?
có thể không phải nguyên nhân do đó đâu.
Nói chung cái mình muốn làm mình mô tả như sau:
Mình muốn so sánh thời gian giữa các mốc thời điểm với nhau:
Thời điểm nhập vào bảo dưỡng kiểu dữ liệu date như 12/12/2008
Thời gian cho phép bảo dưỡng là kiểu number như 12 (tháng).
Thời gian hiện tại (theo giờ của mày tính) ví dự như hôm nay là : 10/3/2009
Mình dùng hàm DateDiff để tính thời gian hôm nay - thời gian ngày vào bảo dưỡng . Sau đó so sánh với thời gian cho phép ( 12 tháng) nếu < 12 tháng thì ghi vào record kiểu "Đã hết hạn bảo dưỡng" , nếu >12 tháng thì tính số tháng còn lại.
Các bạn giúp mình cách ghi dữ liệu vào table với? có cách để thời gian tính toán và ghi vào table đc và chính xác nhỉ?
-
03-11-2009, 01:27 AM #4Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Làm sao để ghi dữ liệu vào record?
Muốn ghi vào table thì bắt cái control source của text box đó vào field đó. Thế thôi. Sao còn hỏi?
Nguyên tắc toàn vẹn dữ liệu: không tạo 1 field mà nó có thể tính toán được từ những field khác.
Tốt hơn thì bạn không nên ghi kết quả vào table. Khi nào cần dùng thì tính toán từ các field kia.
-
03-11-2009, 05:32 AM #5Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Làm sao để ghi dữ liệu vào record?
Gửi bởi muontennguoi
Nếu ko làm theo nguyên tắc toàn vẹn dữ liệu thì có cách nào tự động cập nhập theo ngày ,tháng ko nhỉ? đến thời điểm thì nó tự cảnh báo cho mình rồi tự động cập nhập để đến lúc mình lọc ra giữ liệu cần tìm(Ví dụ tìm nhưng loại xe đã quá hạn rồi) mà không phải tự tính toán và tự cập nhật vào từng record hay Field nào đó?
-
03-11-2009, 05:58 AM #6Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Làm sao để ghi dữ liệu vào record?
Gửi bởi vuthuanbkvn
Nếu bạn vẫn muốn ghi vào field thì dùng lệnh SQL để update lại.
Có thể gán vào 1 cái nút nào đó hoặc vào form_load để khỏi tốn công nhấn nút.
-
03-12-2009, 08:55 PM #7Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Làm sao để ghi dữ liệu vào record?
Gửi bởi muontennguoi
' Nếu như đã hết hạn
If (tglammo < Abs(DateDiff("m", tgbaoduong, Date))) Then
tgconlai = "Đã quá hạn làm mỡ"
ElseIf (tgtieutu < Abs(DateDiff("m", tgbaoduong, Date))) Then
tgconlai = "Đã quá hạn tiểu tu"
ElseIf (tgtrungtu < Abs(DateDiff("y", tgbaoduong, Date))) Then
tgconlai = "Đã quá hạn trung tu"
' Nếu chưa hết hạn thì tính ngày
ElseIf (tglammo > Abs(DateDiff("m", tgbaoduong, Date))) Then
tgconlai = tglammo - DateDiff("m", tgbaoduong, Date)
ElseIf (tgtieutu > Abs(DateDiff("m", tgbaoduong, Date))) Then
tgconlai = tgtieutu - DateDiff("m", tgbaoduong, Date)
ElseIf (tgtrungtu > Abs(DateDiff("m", tgbaoduong, Date))) Then
tgconlai = tgtrungtu - DateDiff("y", tgbaoduong, Date)
End If
và tại form đó tạo sự kiện làm tươi form bằng lệnh Me.Refresh thì nó tự động cập nhập và ghi vào tgconlai :hi:
Ah. Bác nào có cách nào nhét cách tính thời gian vào tgconlai nếu như thời gian hết hạn đã hết ví dụ như "Đã hết hạn làm mỡ (12 tháng)"
Khu dự án cao cấp Moonlight Avenue được phát triển bởi Tập đoàn Hưng Thịnh phù hợp khách hàng đẳng cấp nhất tiện ích phù hợp. Moonlight Thủ Đức phù hợp khách hàng khu an ninh phong cách nghỉ dưỡng....
Moonlight Avenue Dự án chung cư không gian thoáng mát thoải mái nhất