Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Tính toán trong Textbox
#1
Xin chào các bác.
em đang làm bài tập nhỏ trên ms access2010 nhưng bị vướn mắt vài thứ. xin các bác hướng dẫn em với. em thì dốt vba lắm.

1./. em có Textbox, em muốn tính toán các bài toán cơ bản như: cộng, trừ, nhân, chia và (); đồng thời trả luôn kết quả trên Textbox đó luôn khi nhấn enter.

2./. em có 3 Textbox: Textbox1 chứa dữ liệu dạng Text; Textbox2 chứa dữ liệu dạng value (kiểu interger); Textbox3 chứa kết quả

ví dụ:
Textbox1=80,00
Textbox2=Tiền
kết quả ở Textbox3=Tiền: 80,00

em chỉ làm được như vậy thôi: Tiền: 80 (80 thiếu 2 số 0 phía sau dấu phẩy thập phân)

Rất mong các bác hồi âm.
xin chân thành cảm ơn các bác nhiều !!!
Chữ ký của phamngocsang Xin chào, mình là phamngocsang, Tham gia http://thuthuataccess.com/forum từ ngày 04-02 -15.
Reply
Những người đã cảm ơn
#2
(17-09-15, 08:40 PM)phamngocsang Đã viết: Xin chào các bác.
em đang làm bài tập nhỏ trên ms access2010 nhưng bị vướn mắt vài thứ. xin các bác hướng dẫn em với. em thì dốt vba lắm.

1./. em có Textbox, em muốn tính toán các bài toán cơ bản như: cộng, trừ, nhân, chia và (); đồng thời trả luôn kết quả trên Textbox đó luôn khi nhấn enter.

2./. em có 3 Textbox: Textbox1 chứa dữ liệu dạng Text; Textbox2 chứa dữ liệu dạng value (kiểu interger); Textbox3 chứa kết quả

ví dụ:
Textbox1=80,00
Textbox2=Tiền
kết quả ở Textbox3=Tiền: 80,00

em chỉ làm được như vậy thôi: Tiền: 80 (80 thiếu 2 số 0 phía sau dấu phẩy thập phân)

Rất mong các bác hồi âm.
xin chân thành cảm ơn các bác nhiều !!!
007 Nếu như bạn nói: tất cả các số hạng nằm trên Textbox2 kết quả cũng nằm trên Textbox2 nhấn enter ra kết quả thì bạn nên xem lại viết code thì cũng được đó nhưng bạn quản có nỗi không khi viết sai. Rất nhiều trường hợp xảy ra nếu bạn gỏ dính phím 2 dấu cộng hoặc hai dấu khác nhau. Còn nếu bạn muốn làm một form máy tính tay. Thì nó không đơn giản như bạn nghĩ đâu. Tặng bạn một ứng dụng máy tính tay để bạn nghiên cứu
http://www.mediafire.com/download/9a9hss...ulator.mdb
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Minh Tiên , maidinhdan , ledangvan , phamngocsang , Noname
#3
cảm ơn Anh tranthanhan1962 rất nhiều vì đã trả lời.

trong bài em đăng có 2 ý lận ạ, đó là 2 bài riêng biệt nhau.

Đối với câu hỏi 1./. em thấy cũng rất khó,  không dễ làm. Thôi em dùng hàm để gọi Caculator của Windown lên để xài đỡ thôi.

Đối với câu hỏi số 2./. thì nhờ các Anh (Chị) giúp em với. Em cảm ơn nhiều.

Chúc Anh (Chị) thật khỏa mạnh và công tác tốt  007
Chữ ký của phamngocsang Xin chào, mình là phamngocsang, Tham gia http://thuthuataccess.com/forum từ ngày 04-02 -15.
Reply
Những người đã cảm ơn
#4
(17-09-15, 08:40 PM)phamngocsang Đã viết: 2./. em có 3 Textbox: Textbox1 chứa dữ liệu dạng Text; Textbox2 chứa dữ liệu dạng value (kiểu interger); Textbox3 chứa kết quả

ví dụ:
Textbox1=80,00
Textbox2=Tiền
kết quả ở Textbox3=Tiền: 80,00

Không biết bạn có lẫn lộn gì không?
Textbox1 chứa dữ liệu dạng Text (Textbox1=80,00). Cái này tạm được.
Textbox2 chứa dữ liệu dạng value (kiểu interger) (Textbox2=Tiền). Mình chào thua. Kiểu dữ liệu Interger mà = "Tiền" thì mình nghĩ bạn xem lại lý thuyết trước đã.  big green
cái này phải là
Textbox1 chứa dữ liệu dạng interger; Textbox2 chứa dữ liệu dạng Text 

Hàm Textbox3.
Tại control Textbox3/Form.
=[Textbox2] & ": " & Format([Textbox1];"0.00")
Trong VBA
Textbox3.Value = Textbox2.Value & ": " & Format(Textbox1.Value;"0.00")
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn thucgia , phamngocsang
#5
(17-09-15, 08:40 PM)phamngocsang Đã viết: Xin chào các bác.
em đang làm bài tập nhỏ trên ms access2010 nhưng bị vướn mắt vài thứ. xin các bác hướng dẫn em với. em thì dốt vba lắm.

1./. em có Textbox, em muốn tính toán các bài toán cơ bản như: cộng, trừ, nhân, chia và (); đồng thời trả luôn kết quả trên Textbox đó luôn khi nhấn enter.

2./. em có 3 Textbox: Textbox1 chứa dữ liệu dạng Text; Textbox2 chứa dữ liệu dạng value (kiểu interger); Textbox3 chứa kết quả

ví dụ:
Textbox1=80,00
Textbox2=Tiền
kết quả ở Textbox3=Tiền: 80,00

em chỉ làm được như vậy thôi: Tiền: 80 (80 thiếu 2 số 0 phía sau dấu phẩy thập phân)

Rất mong các bác hồi âm.
xin chân thành cảm ơn các bác nhiều !!!

Cái này khó à nghen, nếu muốn luyện code phải làm bài dể hơn đi bạn...
Bời vì để làm bài này phải xài tới một cái stack đó bạn.
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
(18-09-15, 04:40 PM)tranthanhan1962 Đã viết:
(17-09-15, 08:40 PM)phamngocsang Đã viết: 2./. em có 3 Textbox: Textbox1 chứa dữ liệu dạng Text; Textbox2 chứa dữ liệu dạng value (kiểu interger); Textbox3 chứa kết quả

ví dụ:
Textbox1=80,00
Textbox2=Tiền
kết quả ở Textbox3=Tiền: 80,00

Không biết bạn có lẫn lộn gì không?
Textbox1 chứa dữ liệu dạng Text (Textbox1=80,00). Cái này tạm được.
Textbox2 chứa dữ liệu dạng value (kiểu interger) (Textbox2=Tiền). Mình chào thua. Kiểu dữ liệu Interger mà = "Tiền" thì mình nghĩ bạn xem lại lý thuyết trước đã.  big green
cái này phải là
Textbox1 chứa dữ liệu dạng interger; Textbox2 chứa dữ liệu dạng Text 

Hàm Textbox3.
Tại control Textbox3/Form.
=[Textbox2] & ": " & Format([Textbox1];"0.00")
Trong VBA
Textbox3.Value = Textbox2.Value & ": " & Format(Textbox1.Value;"0.00")

Nhân tiện cho mình hỏi anh tranthanhan1962 tí:
Trong vba có cái hàm nào giống cái bên dưới không?

printf("Họ tên: %s,Lớp: %s,Địa chỉ : %s","thucgia","13","Cầu 3 cẳng")

Vừa hỏi anh nhưng lại tìm thấy cái này

No but you can create a naive one simply enough by adding the following to a VBA module

Mã:
public function printf(mask As String, ParamArray tokens()) as String
   dim i as Long
   for i = 0 To ubound(tokens)
       mask = replace$(mask, "{" & i & "}", tokens(i))
   next
   printf = mask
end Function


...
Mã:
=printf("Some text '{0}', more text: '{1}'", A1, A2)
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
(19-09-15, 01:57 PM)thucgia Đã viết: Nhân tiện cho mình hỏi anh tranthanhan1962 tí:
Trong vba có cái hàm nào giống cái bên dưới không?

printf("Họ tên: %s,Lớp: %s,Địa chỉ : %s","thucgia","13","Cầu 3 cẳng")

Vừa hỏi anh nhưng lại tìm thấy cái này

No but you can create a naive one simply enough by adding the following to a VBA module

Mã:
public function printf(mask As String, ParamArray tokens()) as String
   dim i as Long
   for i = 0 To ubound(tokens)
       mask = replace$(mask, "{" & i & "}", tokens(i))
   next
   printf = mask
end Function


...
Mã:
=printf("Some text '{0}', more text: '{1}'", A1, A2)

Bạn hỏi mình nhưng bạn đã tự trả lời rồi. Hàm nội tại của VBA không có hàm nào tên là printf, mà chỉ có một cú pháp lệnh print. Nó đi kèm với Debug dùng để in văn bản trong cửa sổ Immediate.
Cú pháp như sau: 
Debug.Print "Họ tên: %s,Lớp: %s,Địa chỉ : %s","thucgia","13","Cầu 3 cẳng"
Tất nhiên nếu bạn viết lệnh này trong VBA các ký tự có dấu sẽ chuyển sang dấu ?.
Còn User function thì ai muốn đặt tên gì cũng được.
Ví dụ tôi có quyền tạo một hàm printf như sau:
Mã:
Function printf(ong_ngoai as String, me_toi as String)
    ong_ngoai = "Ông ngoại"
   me_toi = "mẹ tôi"
   printf = ong_ngoai + " là cha của " + me_toi
End Function
Tất nhiên kết quả hàm printf của tôi khác với kết quả hàm printf của bạn
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
(18-09-15, 04:40 PM)tranthanhan1962 Đã viết:
(17-09-15, 08:40 PM)phamngocsang Đã viết: 2./. em có 3 Textbox: Textbox1 chứa dữ liệu dạng Text; Textbox2 chứa dữ liệu dạng value (kiểu interger); Textbox3 chứa kết quả

ví dụ:
Textbox1=80,00
Textbox2=Tiền
kết quả ở Textbox3=Tiền: 80,00

Không biết bạn có lẫn lộn gì không?
Textbox1 chứa dữ liệu dạng Text (Textbox1=80,00). Cái này tạm được.
Textbox2 chứa dữ liệu dạng value (kiểu interger) (Textbox2=Tiền). Mình chào thua. Kiểu dữ liệu Interger mà = "Tiền" thì mình nghĩ bạn xem lại lý thuyết trước đã.  big green
cái này phải là
Textbox1 chứa dữ liệu dạng interger; Textbox2 chứa dữ liệu dạng Text 

Hàm Textbox3.
Tại control Textbox3/Form.
=[Textbox2] & ": " & Format([Textbox1];"0.00")
Trong VBA
Textbox3.Value = Textbox2.Value & ": " & Format(Textbox1.Value;"0.00")

Cảm ơn tranthanhan1962 rất nhiều. Do mình nhầm; hihiii. Lỗi trầm trọng đấy nhỉ; để mình thử xem. Cảm ơn rất nhiều.
Chữ ký của phamngocsang Xin chào, mình là phamngocsang, Tham gia http://thuthuataccess.com/forum từ ngày 04-02 -15.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
Question [Help] Link tất các table trong một file.mdb bằng VBA MinhnHang 6 143 29-11-16, 05:18 PM
Bài mới nhất: MinhnHang
  Tránh xung đột dữ liệu trong access quocdung9999 16 1,687 23-11-16, 11:13 AM
Bài mới nhất: quocdung9999
  [Hỏi] Kết nối nhiều lần hay kết nối 1 lần trong ADO ưu điểm hơn Minh Tiên 1 114 10-11-16, 10:41 AM
Bài mới nhất: maidinhdan
  Summary bằng VBA trong MS Access. MinhnHang 6 314 08-11-16, 08:36 AM
Bài mới nhất: MinhnHang
  [Hỏi] Số Thứ Tự Theo Nhóm Hàng Hóa Trong Access pherotao 2 135 02-11-16, 03:05 PM
Bài mới nhất: pherotao

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ơ