Chào ACE. Xin hổ trợ như sau:
Tôi tạo form xuất hóa đơn (10 dòng). Sau khi nhập SL-ĐG-TT thì format kiểu số OK, nhưng sang dòng 2 thì dòng tổng chỉ lấy giá trị trước dấu phân cách số dù đã dùng "CDbl" để chuyển trước khi tính.
Ví dụ: Dòng 1 số nhập 1000 - Dùng Format số sau update hiển thị 1,000 - Dòng tổng hiển thị 1,000
Dòng 2 số nhập 2000 - Dùng Format số sau update hiển thị 2,000 - Dòng tổng hiển thị 2,001
Tôi đề nghị
1. Xóa Sub DinhDangSo cũ, xóa ChuyenSo.
2. Nói nôm na thì giá trị số do người dùng nhập (dùng để tính toán) thì LƯU TRỮ trong thuộc tính TAG của mỗi textbox, còn giá trị sau khi định dạng thì chèn vào thuộc tính VALUE cho bàn dân thiên hạ chiêm ngưỡng.
Mã:
Sub DinhDangSo(ByVal textbox_prefix As String, ByVal chiso As Long)
Dim k As Long, tatca As Double, thue As Double, tc As Double
With Me.Controls(textbox_prefix & chiso)
.Tag = .Value
.Value = Format(.Value, "#,###")
End With
With Me.Controls("TriGia" & chiso)
.Value = Round(Val(Me.Controls("SL" & chiso).Tag) * Val(Me.Controls("DG" & chiso).Tag), 2)
.Tag = .Value
.Value = Format(.Value, "#,###")
End With
For k = 1 To 10
tatca = tatca + Val(Me.Controls("TriGia" & k).Tag)
Next k
CONG.Value = Format(tatca, "#,###")
thue = Round((tatca * Val(VAT.Value)) / 100, 2)
ThueVAT.Value = Format(thue, "#,###")
tc = Round(tatca + (tatca * Val(VAT.Value)) / 100, 2)
TongCong.Value = Format(tc, "#,###")
BangChu.Value = USD(tc)
' If PT_TToan.Value = "Tieàn ñoàng" Then
' BangChu.Value = VND(tc)
' ThueVAT.Value = Format(Round((tatca * VAT.Value) / 100, 0), "#,###")
' End If
End Sub
Private Sub DG1_AfterUpdate()
On Error Resume Next
Call DinhDangSo("DG", 1)
End Sub
Private Sub SL1_AfterUpdate()
On Error Resume Next
Call DinhDangSo("SL", 1)
End Sub
Tôi đề nghị
1. Xóa Sub DinhDangSo cũ, xóa ChuyenSo.
2. Nói nôm na thì giá trị số do người dùng nhập (dùng để tính toán) thì LƯU TRỮ trong thuộc tính TAG của mỗi textbox, còn giá trị sau khi định dạng thì chèn vào thuộc tính VALUE cho bàn dân thiên hạ chiêm ngưỡng.
Mã:
Sub DinhDangSo(ByVal textbox_prefix As String, ByVal chiso As Long)
Dim k As Long, tatca As Double, thue As Double, tc As Double
With Me.Controls(textbox_prefix & chiso)
.Tag = .Value
.Value = Format(.Value, "#,###")
End With
With Me.Controls("TriGia" & chiso)
.Value = Round(Val(Me.Controls("SL" & chiso).Tag) * Val(Me.Controls("DG" & chiso).Tag), 2)
.Tag = .Value
.Value = Format(.Value, "#,###")
End With
For k = 1 To 10
tatca = tatca + Val(Me.Controls("TriGia" & k).Tag)
Next k
CONG.Value = Format(tatca, "#,###")
thue = Round((tatca * Val(VAT.Value)) / 100, 2)
ThueVAT.Value = Format(thue, "#,###")
tc = Round(tatca + (tatca * Val(VAT.Value)) / 100, 2)
TongCong.Value = Format(tc, "#,###")
BangChu.Value = USD(tc)
' If PT_TToan.Value = "Tieàn ñoàng" Then
' BangChu.Value = VND(tc)
' ThueVAT.Value = Format(Round((tatca * VAT.Value) / 100, 0), "#,###")
' End If
End Sub
Private Sub DG1_AfterUpdate()
On Error Resume Next
Call DinhDangSo("DG", 1)
End Sub
Private Sub SL1_AfterUpdate()
On Error Resume Next
Call DinhDangSo("SL", 1)
End Sub
1. Cám ơn Bạn đã hổ trợ, code chạy OK. Sau khi ghi data vào file về nguyên tắc xóa trắng textbox nhưng các textbox "TriGia" không xóa (TriGia1.Value="")
2. Tôi cũng muốn dùng unicode nhưng label không cho (vni thì OK). Xin hổ trợ.
Chào Thành viên Batman1.
Bạn trách như thế là đúng rồi nhưng vì tôi chưa update hoàn chỉnh nên không attach file được. Nhờ Bạn giúp tôi vấn đề này nhé. Yêu cầu là sau khi "Ghi số liệu" vào sheet thì phải xóa hết textbox để nhập mới.
Cám ơn Bạn.
Chào Bạn Batman1 và các thành viên diễn đàn. (Dù đã quá tuổi & còn tí đam mê nhưng không học bài bản nên xin giúp đỡ cho trọn vẹn)
Trường hợp có nhiều sản phẩm nên phải chọn tìm kiếm từ listbox "LB" form "MaKhach" và sau khi click chọn thì giá trị tìm được phải gán vào textbox hiện hành "TenHH2" form F_Input.
Trân trọng.
File đính kèm
KHO-HANG.XLS
2.3 MB
· Đọc: 9
Yeu cau gan sanpham tim duoc vao textbox hien hanh (TenHH2).jpg
212.4 KB
· Đọc: 15
Gan Sanpham2 tim duoc vao textbox TenHH2 cua form F_Input (textbox hien hanh).jpg
Chào Bạn Batman1 và các thành viên diễn đàn. (Dù đã quá tuổi & còn tí đam mê nhưng không học bài bản nên xin giúp đỡ cho trọn vẹn)
Trường hợp có nhiều sản phẩm nên phải chọn tìm kiếm từ listbox "LB" form "MaKhach" và sau khi click chọn thì giá trị tìm được phải gán vào textbox hiện hành "TenHH2" form F_Input.
Trân trọng.
Cám ơn Bạn SA_DQ.
Hình như Form bạn gửi chỉ thể hiện trên cùng 1 form nhập liệu? Yêu cầu xử lý là sau khi tìm nhóm SP tương thích và click chọn từ listbox thì sẽ gán giá trị từ listbox "LB" form MaKhach vào textbox "TenHH" hiện hành của form F_Input
Trân trọng.