Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 7 của 7
  1. #1
    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?

  2. #2
    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:

  3. #3
    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ỉ?

  4. #4
    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.

  5. #5
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Làm sao để ghi dữ liệu vào record?




    Trích dẫn Gửi bởi muontennguoi
    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.
    Mình cũng bắt cái control source đó chứ,nhưng nó báo ko thể gán giá trị đc? ở các sự kiện khác,riêng sự kiện Activate thì gán được nhưng nó chỉ gán đc cho record đầu tiên,còn các record khác không thể gán đc? có cách nào ko nhỉ?

    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 đó?

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Làm sao để ghi dữ liệu vào record?




    Trích dẫn Gửi bởi vuthuanbkvn
    Mình cũng bắt cái control source đó chứ,nhưng nó báo ko thể gán giá trị đc? ở các sự kiện khác,riêng sự kiện Activate thì gán được nhưng nó chỉ gán đc cho record đầu tiên,còn các record khác không thể gán đc? có cách nào ko nhỉ?

    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 đó?
    Muốn gán cho record khác thì bạn phải di chuyển sang record khác chứ sao nữa.

    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.

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Làm sao để ghi dữ liệu vào record?




    Trích dẫn Gửi bởi muontennguoi
    Muốn gán cho record khác thì bạn phải di chuyển sang record khác chứ sao nữa.

    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.
    theo bác nói đúng,em cũng làm như thế nhưng cũng không được, hì sau 1 ngày làm đi làm lại nhiều lần sửa đi sửa lại em cũng làm đc như sau:
    ' 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)"

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •