Làm việc với subform

  • Thread starter BiDIT
  • Ngày gửi
B

BiDIT

Trung cấp
16/5/09
87
1
8
Hanoi
Mình có file access dùng để tính toán Thuế nhập khẩu như dưới đây.
Khi mình click vào nut refresh thì chỉ có dữ liệu ở dòng mà con trỏ đang ở vị trí đấy mới refresh thôi. Nếu muốn refresh dòng khác thì phải chuyển con trỏ đến dòng đấy và nhấn refresh nhiều lần.
Như vậy phải vài lần làm như trên thì mới cho được con số chính xác.

http://www.mediafire.com/download.php?namnfanakrk
Mọi người chạy thì chọn 1 số connote no. thì mọi thông tin sẽ sổ ra nhé.
 
Khóa học Quản trị dòng tiền
C

chihienphuco

Trung cấp
20/4/09
109
1
0
Bình Chánh
Mình có file access dùng để tính toán Thuế nhập khẩu như dưới đây.
Khi mình click vào nut refresh thì chỉ có dữ liệu ở dòng mà con trỏ đang ở vị trí đấy mới refresh thôi. Nếu muốn refresh dòng khác thì phải chuyển con trỏ đến dòng đấy và nhấn refresh nhiều lần.
Như vậy phải vài lần làm như trên thì mới cho được con số chính xác.

http://www.mediafire.com/download.php?namnfanakrk
Mọi người chạy thì chọn 1 số connote no. thì mọi thông tin sẽ sổ ra nhé.

Phần lão viết kích cở lớn kinh, đang ngâm cứu.
 
B

BiDIT

Trung cấp
16/5/09
87
1
8
Hanoi
Hehe. Nghiên cứu hộ mình nút refresh thôi cũng được.
 
B

BiDIT

Trung cấp
16/5/09
87
1
8
Hanoi
Nghe chừng vụ này khó đây. Có ai biết xin chỉ giúp mình với nhé. Đây là vướng mắc cuối cùng trong dự án nhỏ ma mình đã đầu tư khá lâu rồi.
 
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
47
Phan Thiết
Minh cung tai file BiDIT ve roi nhung khong hieu muc dich ban nhap nut refresh lam gi ?
Lam sau giup duoc !!

Tuy nhien ban co the sua lai doan code nut refresh nhu sau thu xem :

Private Sub Refresh_Click()
DoCmd.Requery
End Sub
 
B

BiDIT

Trung cấp
16/5/09
87
1
8
Hanoi
Nút refresh là nút dùng để tính toán. VD: Khi bạn thay đổi số lượng(quanlity) or giá trị(Value) thì nút refresh nó sẽ tính toán lại. Nhưng mình mỗi lần refresh thì giá trị ở dòng đó mới được tính. Phải nhấn nút refresh cho từng dòng thì mới có kết quả cuối cùng.
 
T

tuoitrecuoi

Guest
12/5/09
3
0
0
49
ha noi
Thật sự không hiểu khi nhấn nút Refesh để đạt được điều gì.
 
B

BiDIT

Trung cấp
16/5/09
87
1
8
Hanoi
Thật sự không hiểu khi nhấn nút Refesh để đạt được điều gì.

Bạn thử thay đổi một giá trị trong Quanlity và nhấn nút refresh thì sẽ biết ngay. Còn công thúc tính bạn vui lòng xem code nhé.
 
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
47
Phan Thiết
Mình không biết hiểu ý cậu không !
Ban chon một thủ tục trong subform TaxAmountsubform1 chon doan code sau :
khi bạn nhập số lượng kế đến nhập giá trị thì máy tự tính thành tiền và thuế vv......

Private Sub Value_AfterUpdate()
TaxValue.Value = Quanlity.Value * Value.Value * TaxImport.Value
End Sub

Mong là đúng ý ban
 
B

BiDIT

Trung cấp
16/5/09
87
1
8
Hanoi
Mình không biết hiểu ý cậu không !
Ban chon một thủ tục trong subform TaxAmountsubform1 chon doan code sau :
khi bạn nhập số lượng kế đến nhập giá trị thì máy tự tính thành tiền và thuế vv......

Private Sub Value_AfterUpdate()
TaxValue.Value = Quanlity.Value * Value.Value * TaxImport.Value
End Sub

Mong là đúng ý ban

Công thức tính thuế nhập khẩu hơi phức tạp 1 tý:
Gọi: Q1,Q2...Qn là số lượng Quanlity
V1,V2,...Vn là giá/đơn vị Value
C1,C2,..****=Qn*Vn (******)
F là cước phí vận chuyển
Hệ số K=(C1+C2+..+Cn)/(C1+C2+...+Cn+F)
Giá trị tính cước sẽ là TaxAmount Tn=K*Cn
Như thế để tính được Tn thì phải có tổng C1+...+cn.
Khi mình nhấn nút refresh thì chỉ mỗi dòng ở vị trí control được tính toán lại. Còn các ô khác tren subform vẫn giữ nguyên. Nếu số lượng mục hàng là 4,5 thì việc refresh lại càng phức tạp. Mong được mọi người giúp đỡ.
 
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
47
Phan Thiết
Công thức tính thuế nhập khẩu hơi phức tạp 1 tý:
Gọi: Q1,Q2...Qn là số lượng Quanlity
V1,V2,...Vn là giá/đơn vị Value
C1,C2,..****=Qn*Vn (******)
F là cước phí vận chuyển
Hệ số K=(C1+C2+..+Cn)/(C1+C2+...+Cn+F)
Giá trị tính cước sẽ là TaxAmount Tn=K*Cn
Như thế để tính được Tn thì phải có tổng C1+...+cn.
Khi mình nhấn nút refresh thì chỉ mỗi dòng ở vị trí control được tính toán lại. Còn các ô khác tren subform vẫn giữ nguyên. Nếu số lượng mục hàng là 4,5 thì việc refresh lại càng phức tạp. Mong được mọi người giúp đỡ.

Quả là công thức tính thuế thật chống mặt :
Cong doan tinh nay tren subform phai khong ban :

Q1,Q2... là số lượng Quanlity
V1,V2,...Vn là giá/đơn vị Value
C1,C2,..****=Qn*Vn (******)

Ngay trong subform ban thiet ke them vai text1 duoi muc form footer trong property cac text1 nay co nhiem vu tinh tong v1....vn .

Trên mainform ban chon mot text moi lay gia tri text vua tinh
trong control soure chon =[tensubform]![tentext1]

Nếu đa lay duoc roi thi ban cu tinh toan nhan jj do theo y minh

Than chao ban
 
B

BiDIT

Trung cấp
16/5/09
87
1
8
Hanoi
Quả là công thức tính thuế thật chống mặt :
Cong doan tinh nay tren subform phai khong ban :

Q1,Q2... là số lượng Quanlity
V1,V2,...Vn là giá/đơn vị Value
C1,C2,..****=Qn*Vn (******)

Ngay trong subform ban thiet ke them vai text1 duoi muc form footer trong property cac text1 nay co nhiem vu tinh tong v1....vn .

Trên mainform ban chon mot text moi lay gia tri text vua tinh
trong control soure chon =[tensubform]![tentext1]

Nếu đa lay duoc roi thi ban cu tinh toan nhan jj do theo y minh

Than chao ban

Mình đã thử rồi mà vẫn không được thế mới chán chứ. Bạn có cách nào khác nữa không?
 
M

mvp2006

Sơ cấp
16/10/08
36
0
0
TPHCM
1. Theo tôi bạn nên chuyển phần code của nút refesh (phần tính toán các giá trị của subform sang code của form TaxAmount Subform1.
ví dụ
private sub ******_AfterUpdate()
******=value * Quanlity
TinhTong
end sub
Cứ textbox nào bạn cho nhập thì làm thủ tục AfterUpdate cho textbox đó.

Private sub TinhTong
Viết công thức tính toán cho các textbox tổng cộng . . .
end sub

2. Nếu bạn vẫn thích dùng cách của bạn, thì phải dùng vòng lập để tính toán lại.
Set rs = CurrentDb.OpenRecordset("select * from TaxAmount where CN='" & CN.Value & "'")
rs.movefirst
do until rs.eof
Chổ này bạn phải tính toán lại chứ không phải refesh
rs.edit
rs.field("******")=rs.field("value")*rs.field("Quality")
. . . .
rs.update
rs.movenext
loop
rs.close
subform.refesh
không biết sao đáng Seri al lại thành dấu ***** hết vậy cà?
 
Sửa lần cuối:
S

singoc66

Sơ cấp
5/7/09
6
0
0
Nha Trang
Nghe chừng vụ này khó đây. Có ai biết xin chỉ giúp mình với nhé. Đây là vướng mắc cuối cùng trong dự án nhỏ ma mình đã đầu tư khá lâu rồi.

Bạn dùng thử : Me.refresh
 

Xem nhiều