• Code vba không có tác dụng khi dùng year(now() và hàm right
  • Code vba không có tác dụng khi dùng year(now() và hàm right

    mrsiro > 05-03-18, 10:02 AM

    Chào các bạn, mình có 1 form trên đó có 2 textbox: txt1 và txt2 và 1 cmdbutton.
    + Txt2: có control source =right(txt1,4)
    + Cmdbutton: If me.txt2 < year(now()) then
                            msgbox "abd"
                         End if

    Nhưng code ko có tác dụng. Mình không hiểu lí do tại sao. Ai biết có thể vui lòng giúp mình.
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    cpucloi > 05-03-18, 03:24 PM

    Bạn xem me.txt2 có phải dạng number không (có cắt chuỗi của txt1 mà)
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    maidinhdan > 05-03-18, 10:13 PM

    (05-03-18, 10:02 AM)mrsiro Đã viết: Chào các bạn, mình có 1 form trên đó có 2 textbox: txt1 và txt2 và 1 cmdbutton.
    + Txt2: có control source =right(txt1,4)
    + Cmdbutton: If me.txt2 < year(now()) then
                            msgbox "abd"
                         End if

    Nhưng code ko có tác dụng. Mình không hiểu lí do tại sao. Ai biết có thể vui lòng giúp mình.

    Sửa Cmdbuttonlại như sau
    Mã PHP:
    If Val(me.txt2) < year(now()) then
         msgbox 
    "abd"
    End if 


    Hàm Val có tác dụng đổi chuỗi thành số. Có như thế mới so sánh với năm được.
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    mrsiro > 06-03-18, 09:49 AM

    Cám ơn bạn mình đã giải quyết xong vấn đề, tiện đây mình xin hỏi thêm 1 vấn đế nữa
    Mình có 1subform và 1mainform:

    + Subform: Có txt1 với controlsource =count(mahd)
    + Mainform:  - Có txt2 với controlsource = subform.form!txt1
                        - Có txttim: Subform sẽ lọc record theo giá trị của txt này
                        - 1 commandbutton
    Mình cấu hình afterupdate của txt2 như sau: If me.txt2 = 0 then
                                                                       me.commanbutton.enabled = false
                                                                    Else
                                                                       me.commanbutton.enabled = true
                                                                     End if
    => code này không có tác dụng
    Nhưng nếu mình thay code vào event click của command button:
      If me.txt2 = 0 then
        msbgox"abd"
      Else
         thực hiện lệnh tiếp theo
      End if
    Thì lại có tác dụng

    https://www.dropbox.com/s/lf1g2pm2qkmfk6h/db29.rar?dl=0
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    maidinhdan > 06-03-18, 10:41 PM

    (06-03-18, 09:49 AM)mrsiro Đã viết: Cám ơn bạn mình đã giải quyết xong vấn đề, tiện đây mình xin hỏi thêm 1 vấn đế nữa
    Mình có 1subform và 1mainform:

    + Subform: Có txt1 với controlsource =count(mahd)
    + Mainform:  - Có txt2 với controlsource = subform.form!txt1
                        - Có txttim: Subform sẽ lọc record theo giá trị của txt này
                        - 1 commandbutton
    Mình cấu hình afterupdate của txt2 như sau: If me.txt2 = 0 then
                                                                       me.commanbutton.enabled = false
                                                                    Else
                                                                       me.commanbutton.enabled = true
                                                                     End if
    => code này không có tác dụng
    Nhưng nếu mình thay code vào event click của command button:
      If me.txt2 = 0 then
        msbgox"abd"
      Else
         thực hiện lệnh tiếp theo
      End if
    Thì lại có tác dụng

    https://www.dropbox.com/s/lf1g2pm2qkmfk6h/db29.rar?dl=0

    Theo bài bạn thì  sửa lại như sau
    Mã PHP:
    If IsNull(me.txt2then         ' Nếu txt2 rỗng thì 
      me.commanbutton.enabled = false        ' 
    Nút chìm xuuống không nhấn được và ngược lại
    Else
     me.commanbutton.enabled true
    End 
    if 
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    mrsiro > 06-03-18, 11:02 PM

    Không được bạn ơi, txt2 đang nhận giá trị từ txt1 trên subform, mà txt1 thì có controlsource là count(mahd). Vì thế txt2 chỉ có giá trị hoặc là 0 hoặc là số khác 0.
    Mình muốn khi txt2 có giá trị = 0 thì commanbutton enabled = false, còn nếu txt2 có giá trị khác thì cmdbutton enabled = true.
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    ongke0711 > 06-03-18, 11:42 PM

    - Theo bạn nói còn có textbox tìm kiếm. Vậy bạn đưa code đó vô sự kiện AfterUpdate của textbox tìm kiếm này.
    - Khi form mở lên (On Open), kiểm tra xem có record nào không, nếu không cũng disabled cái cmdbutton đó luôn.
    Tóm lại đưa code vào 2 sự kiện trên.
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    mrsiro > 07-03-18, 08:50 AM

    (06-03-18, 11:42 PM)ongke0711 Đã viết: - Theo bạn nói còn có textbox tìm kiếm. Vậy bạn đưa code đó vô sự kiện AfterUpdate của textbox tìm kiếm này.
    - Khi form mở lên (On Open), kiểm tra xem có record nào không, nếu không cũng disabled cái cmdbutton đó luôn.
    Tóm lại đưa code vào 2 sự kiện trên.

    Đã đưa vào afterupdate của txttimkiem vẫn không có tác dụng bạn à.
  • RE: Code vba không có tác dụng khi dùng year(now() và hàm right

    ongke0711 > 07-03-18, 11:04 AM

    Trên file demo của bạn có cái textbox [txtmahd] dùng để tìm kiếm đúng không?
    - Tôi sẽ code cho cái textbox đó như bên dưới.
    - RecordSource của Sub form bạn bỏ cái điều kiện [mahd] = Forms!....

    Mã PHP:
    Private Sub txtmahd_AfterUpdate()
       
       If Len
    (Nz(Me.txtmahd"")) = 0 Then   'Khi xóa nội dung [txtmahd] thì sẽ hiển thị lại toàn bộ record.'
           Me.form1_sub.Form.FilterOn False
           Me
    .form1_sub.Requery
       Else
           Me
    .form1_sub.Form.Filter "[mahd]='" Me.txtmahd "'"
           Me.form1_sub.Form.FilterOn True
           Me
    .form1_sub.Requery
       End 
    If
       
       If Me
    .Text2 0 Then
           Me
    .Command6.Enabled False
       Else
           Me
    .Command6.Enabled True
       End 
    If

    End Sub