Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Tính lãi nhập gốc chưa rõ số lượt nhập kỳ hạn vào
#11
Dạ, được rồi bác ạ, em đã nhét cái if year 2017 vào trong vòng lặp 2:
  
Do While NgayCuoiKy <= Me.txtNgayXKSo
            
        If Year(NgayDauKy) <= 2017 Then
            SoNgayTrongNam = 360
        Else
            SoNgayTrongNam = 365
        End If
.......................

Giờ đã chạy đúng theo ý em rồi ạ. Em cảm ơn bác nhiều
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#12
(17-05-18, 02:50 PM)vuthaiha90 Đã viết: ở cái quyển sổ 2, đã nhập 2 kỳ lãi, với kỳ thứ 2 là 09/2/2018-09/5/2018, tức year(ngày gửi) là 2018, nhưng công thức của bác vẫn chia cho 360. Cụ thể: 22.854.155*5%/360*89 ngày(09/2-09/5)=282.503 tiền lãi; nhưng mà nó là 22.854.155*5%/365*89=278.633 tiền lãi chứ ạ

Đã cập nhật lại file. Bạn cứ vô link cũ download về.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn vuthaiha90
#13
Bác ơi, cho em hỏi, khi em ghép vào chương trình của em, toàn bị lỗi đoạn này: "db.Execute strXuat, dbFailOnError": number of query values and destination fields are not the same. Có phải do máy của em set dd/mm/yyyy và 123.456.789,00 không ạ?
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#14
Lỗi này do số lượng field ở table cần insert và các giá trị trong VALUES() đưa vào không giống nhau. Có thể thiếu hoặc dư field nào đó. Tôi có thêm field MaKH vô demo, nếu chương trình gốc của bạn không có thì câu lệnh SQL nó báo sai.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#15
(18-05-18, 12:48 PM)ongke0711 Đã viết: Lỗi này do số lượng field ở table cần insert và các giá trị trong VALUES() đưa vào không giống nhau. Có thể thiếu hoặc dư field nào đó. Tôi có thêm field MaKH vô demo, nếu chương trình gốc của bạn không có thì câu lệnh SQL nó báo sai.

Dạ vâng, chương trình gốc của em không cần nhớ tên KH hay Mã KH làm gì ạ, làm xong sang KH khác, và nếu có nhớ lại Mã KH thì cũng phải ghi chép vào đâu đó rồi khi nào dùng lại lại FIND, cũng mất thời gian. Em có bỏ nó đi thế này:
Mã PHP:
Dim db As DAO.Database
   Dim rs 
As DAO.Recordset
   Dim SoNgayTrongNam
SoNgayKyTraLai As Integer
   Dim TienLaiNgay
TienLaiTrongKyTienGocCongLaiTriGiaSoKhiXuatKho As Double
   Dim NgayDauKy
NgayCuoiKy As Date
   
   Set db 
CurrentDb
   Set rs 
db.OpenRecordset("T_STK"dbOpenSnapshot)
   
   db
.Execute "DELETE * FROM T_ChiTietTraLaiSTK"dbFailOnError

   rs
.MoveFirst
   Do Until rs
.EOF
..........................................
Dim strXuat As String
            strXuat 
"INSERT INTO T_ChiTietTraLaiSTK " _
                      
"(SosoTK,Trigiaso,Kyhan,Laisuatgui,Noiphathanh,Ngaygui,NgayXuatKhoSo,TienGocCongLai,KyTraLai,NgayTraLai,TienLaiTrongKy,TriGiaSoKhiXuatKho) VALUES " _
                      
"('" rs!SosoTK "'," rs!Trigiaso "," rs!Kyhan "," rs!Laisuatgui ",'" rs!Noiphathanh "'," Format(rs!NgayguiconJetDate) & "," Format(DateconJetDate) & "," TienGocCongLai "," KyTraLai "," Format(NgayCuoiKyconJetDate) & "," TienLaiTrongKy "," TriGiaSoKhiXuatKho ");"
            db.Execute strXuatdbFailOnError 

 
Thì đúng là nếu em để COntrol Panel là 123,456,789.00 thì chạy được code của bác, nhưng chương trình của em dùng CODE: "modChangingSysDateNum" để mặc định lại là 123.456.789,00 cho toàn bộ, thì lại không chạy được. Cho em hỏi là có câu lệnh nào dạng Const conJetDate = "\#mm\/dd\/yyyy\#" dùng cho chữ số không ạ, để vẫn chạy được code của bác mà đồng nhất chương trình. Em cảm ơn ạ.
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#16
Dạ, em đã ghép vào chương trình của em, em post lên đây , bác xem hộ em, cứ sửa Control Panel đi là không chạy được, mà sửa lại 123,456,789.00 thì chạy ok. Không phải do em thêm thừa, thiếu field đâu ạ.
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#17
(18-05-18, 05:42 PM)vuthaiha90 Đã viết: Dạ, em đã ghép vào chương trình của em, em post lên đây , bác xem hộ em, cứ sửa Control Panel đi là không chạy được, mà sửa lại 123,456,789.00 thì chạy ok. Không phải do em thêm thừa, thiếu field đâu ạ.

Vụ báo lỗi này thì đúng như bạn nói, do thay đổi kiểu định dạng số, dấu phân cách hàng ngàn. Tôi cũng potay với trường hợp này ngoại trừ dùng Recordset đê cập nhật table.
Đối với câu lệnh SQL "INSERT INTO...": 
- Đã dùng hàm Format (TienLaiTrongKy, "General Number"), dạng Fixed, Standard vẫn không được. 
- Dùng CDbl() cũng không được.
  ==> Bạn nào kinh nghiệm vụ dùng định dạng số kiểu Việt Nam và gặp phải trường hợp này thì hướng dẫn giùm nhé. 

Do vậy chỉ còn cách dùng Recordset.AddNew. Recordset thì nó sẽ tự động kiểm tra điều chỉnh các kiểu định dạng Number, Date cho phù hợp nên sẽ không bị lỗi.

Bạn copy cái Sub makeTbl() này vào và gọi nó thay thế câu lệnh "Insert Into..."

Mã PHP:
Sub makeTbl(rs As DAO.RecordsetTienGocCongLai As DoubleKyTraLai As IntegerNgayCuoiKy As DateTienLaiTrongKy As DoubleTriGiaSoKhiXuatKho As Double)
   Dim rs1 As DAO.Recordset
   Set rs1 
CurrentDb.OpenRecordset("T_ChiTietTraLaiSTK")
   rs1.AddNew
   rs1
("STT") = rs!STT
   rs1
("TenTS") = rs!TenTS
   rs1
("SosoTK") = rs!SosoTK
   rs1
("Trigiaso") = rs!Trigiaso
   rs1
("Kyhan") = rs!Kyhan
   rs1
("Laisuatgui") = rs!Laisuatgui
   rs1
("Noiphathanh") = rs!Noiphathanh
   rs1
("Ngaygui") = rs!Ngaygui
   rs1
("NgayXuatKhoSo") = Date
   rs1
("TienGocCongLai") = TienGocCongLai
   rs1
("KyTraLai") = KyTraLai
   rs1
("NgayTraLai") = NgayCuoiKy
   rs1
("TienLaiTrongKy") = TienLaiTrongKy
   rs1
("TriGiaSoKhiXuatKho") = TriGiaSoKhiXuatKho

   rs1
.Update
   rs1
.Close
   Set rs1 
Nothing
End Sub 

- Gọi hàm này:

Mã PHP:
Call makeTbl(rsTienGocCongLaiKyTraLaiNgayCuoiKyTienLaiTrongKyTriGiaSoKhiXuatKho
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn vuthaiha90


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Giúp tính tổng số lượng theo mã nam8384 3 907 10-06-18, 02:41 PM
Bài mới nhất: thdanh
  Tính lại giá xuất kho theo PP Bình quân gia quyền sau mỗi lần nhập ledangvan 45 6,440 31-05-18, 01:01 AM
Bài mới nhất: tranthanhan1962
  Thiết lập query Nhập Xuất Tồn theo lệnh ChiMai 1 260 07-05-18, 08:38 PM
Bài mới nhất: ChiMai
  [Help] Nhờ tính lũy kế tịnh tuyến morosumo 5 463 07-02-18, 03:50 PM
Bài mới nhất: morosumo
  Tạo công thức tính số lượng dư feeling 1 303 17-01-18, 02:44 PM
Bài mới nhất: ongke0711

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line