Xin nhờ giúp một chút về MsgBox (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thanhtam348

Thành viên thường trực
Tham gia
9/3/07
Bài viết
288
Được thích
62
Chào AC và các bạn!
Trong Form tôi tạo một số TextBox để nhập liệu, tôi xin VD cho dễ hiểu một chút là vầy: Có 3 TextBox và gồm 2 MsgBox để nhắc nhở, một MsgBox nhắc nhở cho TextBox1 và một MsgBox để nhắc nhở cho TextBox3, vậy khi tôi kích CommandButton nếu một trong 2 TextBox (TextBox1 & TextBox2) đã có giá trị thì bỏ qua nhắc nhở của MsgBox trước. Mình phải làm sao? nhờ anh chị và các bạn chỉ giúp.
 
Chào AC và các bạn!
Trong Form tôi tạo một số TextBox để nhập liệu, tôi xin VD cho dễ hiểu một chút là vầy: Có 3 TextBox và gồm 2 MsgBox để nhắc nhở, một MsgBox nhắc nhở cho TextBox1 và một MsgBox để nhắc nhở cho TextBox3, vậy khi tôi kích CommandButton nếu một trong 2 TextBox (TextBox1 & TextBox2) đã có giá trị thì bỏ qua nhắc nhở của MsgBox trước. Mình phải làm sao? nhờ anh chị và các bạn chỉ giúp.
Khó hiểu quá! 2 chỗ màu đỏ bạn gõ chính xác hay nhầm lẫn vậy? Còn MsgBox trước là MsgBox của TextBox nào?
 
Upvote 0
Chào AC và các bạn!
Trong Form tôi tạo một số TextBox để nhập liệu, tôi xin VD cho dễ hiểu một chút là vầy: Có 3 TextBox và gồm 2 MsgBox để nhắc nhở, một MsgBox nhắc nhở cho TextBox1 và một MsgBox để nhắc nhở cho TextBox3, vậy khi tôi kích CommandButton nếu một trong 2 TextBox (TextBox1 & TextBox2) đã có giá trị thì bỏ qua nhắc nhở của MsgBox trước. Mình phải làm sao? nhờ anh chị và các bạn chỉ giúp.

Thì đơn giản như vầy nè:

PHP:
Private Sub CommandButton1_Click()
    With TextBox1
        If Trim(.Text) = "" Then
            MsgBox "Ban chua nhap vao TextBox1!", vbInformation, "THÔNG BÁO"
            .SetFocus: Exit Sub
        End If
    End With
    With TextBox2
        If Trim(.Text) = "" Then
            MsgBox "Ban chua nhap vao TextBox2!", vbInformation, "THÔNG BÁO"
            .SetFocus: Exit Sub
        End If
    End With
    ''VIET TIEP SAU DO SE LAM GI!
End Sub
 
Upvote 0
Khó hiểu quá! 2 chỗ màu đỏ bạn gõ chính xác hay nhầm lẫn vậy? Còn MsgBox trước là MsgBox của TextBox nào?

Ý mình tóm tắt là vầy: VD có 3 TextBox (TextBox1, TextBox2, TextBox3) để nhập liệu, và mổi TextBox mình đều gán cho một MsgBox nhắc nhở, nhưng giờ muốn gom chung TextBox1, TextBox2 cho một MsgBox - tức là nếu 1 trong 2 TextBox (TextBox1, TextBox2) có giá trị thì sẽ bõ qua MsgBox nhắc nhở cho TextBox1 và TextBox2. Đồng nghĩa là mình cố ý bõ trống một TextBox và không cần sự nhắc nhở của MsgBox.
 
Upvote 0
Ý mình tóm tắt là vầy: VD có 3 TextBox (TextBox1, TextBox2, TextBox3) để nhập liệu, và mổi TextBox mình đều gán cho một MsgBox nhắc nhở, nhưng giờ muốn gom chung TextBox1, TextBox2 cho một MsgBox - tức là nếu 1 trong 2 TextBox (TextBox1, TextBox2) có giá trị thì sẽ bõ qua MsgBox nhắc nhở cho TextBox1 và TextBox2. Đồng nghĩa là mình cố ý bõ trống một TextBox và không cần sự nhắc nhở của MsgBox.
Có nghĩa là chỉ khi cả TextBox1 và TextBox2 đều trống mới hiện MsgBox? Vậy thì dùng câu lệnh này:
PHP:
If TextBox1 & TextBox2 = "" Then MsgBox "Ban can nhap noi dung vao TextBox1 hoac TextBox2"
 
Upvote 0
cảm ơn nghiaphuc nha!
- chỉ vậy mà mình muốn điên đầu.
 
Upvote 0
Có nghĩa là chỉ khi cả TextBox1 và TextBox2 đều trống mới hiện MsgBox? Vậy thì dùng câu lệnh này:
PHP:
If TextBox1 & TextBox2 = "" Then MsgBox "Ban can nhap noi dung vao TextBox1 hoac TextBox2"

Có lẽ cách của anh ở dưới đây hơi thừa, nhưng anh vẫn kỹ là nên thêm hàm trim vào:

PHP:
If Trim(TextBox1.Text) & Trim(TextBox2.Text) = "" Then MsgBox "Ban can nhap noi dung vao TextBox1 hoac TextBox2"

Đôi lúc vô tình mình gõ vào khoảng trắng vào đó thì nó vẫn báo rỗng.
 
Upvote 0
Có lẽ cách của anh ở dưới đây hơi thừa, nhưng anh vẫn kỹ là nên thêm hàm trim vào:

PHP:
If Trim(TextBox1.Text) & Trim(TextBox2.Text) = "" Then MsgBox "Ban can nhap noi dung vao TextBox1 hoac TextBox2"

Đôi lúc vô tình mình gõ vào khoảng trắng vào đó thì nó vẫn báo rỗng.
Vậy thì nối 2 anh chàng này vào một chỗ rồi cho vào Trim cho nó gọn đi anh. Còn thuộc tính Text của 2 đối tượng này thì theo em không cần đưa vào, vì đây là thuộc tính mặc định của đối tượng TextBox.
 
Upvote 0
Vậy thì nối 2 anh chàng này vào một chỗ rồi cho vào Trim cho nó gọn đi anh. Còn thuộc tính Text của 2 đối tượng này thì theo em không cần đưa vào, vì đây là thuộc tính mặc định của đối tượng TextBox.

Nói đến cái vụ thuộc tính thì về giá trị của TextBox có 2 dạng, hoặc là .Text, hoặc là .Value.

Xét cả 2 thì như nhau, nhưng có gì đó mà anh Bill lại phân biệt rõ ràng như vậy. Vậy thật ra, khi ta không thêm cái đuôi vào, thì nó hiểu là Text hay nó hiểu là Value, và phải chăng Value thiên về số, còn Text thiên về chuỗi???

Xin phép lạm bàn ở topic này một chút.
 
Upvote 0


Trong Description có ghi:

The Text property returns the formatted string. The Text property may be different than the Value property for a text box control. The Text property is the current contents of the control. The Value property is the saved value of the text box control. The Text property is always current while the control has the focus.

Tạm dịch là như vầy:

Thuộc tính Text trả về định dạng chuỗi. Thuộc tính Text có thể khác nhau hơn so với thuộc tính Value của một TextBox. Thuộc tính Text là những nội dung hiện hành của control. Thuộc tính Value được lưu giá trị của TextBox. Thuộc tính Text luôn luôn hiện hành khi control đó có sự focus.


Sao em nhìn vào cũng chưa hiểu gì lắm nhỉ? Save là sao ta? Hay là thuộc tính của Access luôn Save lại mọi thao tác trừ thay đổi cấu trúc?
 
Upvote 0
Sao em nhìn vào cũng chưa hiểu gì lắm nhỉ? Save là sao ta? Hay là thuộc tính của Access luôn Save lại mọi thao tác trừ thay đổi cấu trúc?
Nếu dùng TextBox để minh họa sự khác nhau giữa Text và Value thì không rõ ràng lắm
Giờ ta dùng Range để minh họa nhé... Xem ví dụ này
PHP:
Sub Test()
  With Range("A1")
    .NumberFormat = "#"" VND"""
    .Value = 1000
    MsgBox .Value
    MsgBox .Text
  End With
End Sub
-----------------------
Mod vui lòng dời mấy bài không liên quan đến topic phù hợp hơn
 
Upvote 0
Nếu dùng TextBox để minh họa sự khác nhau giữa Text và Value thì không rõ ràng lắm
Giờ ta dùng Range để minh họa nhé... Xem ví dụ này
PHP:
Sub Test()
  With Range("A1")
    .NumberFormat = "#"" VND"""
    .Value = 1000
    MsgBox .Value
    MsgBox .Text
  End With
End Sub
-----------------------
Mod vui lòng dời mấy bài không liên quan đến topic phù hợp hơn

Rồi, nói tới đây em hoàn toàn hiểu tại sao rồi, cám ơn Thầy nhé!

Với value thì nó chỉ hiển thị giá trị thực có.

Với text thì nó hiển thị tất cả những gì mà ta nhìn thấy được.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom