Nhờ anh/chị giúp sửa lỗi code bẫy rỗng trong Form có MultiPage (1 người xem)

  • Thread starter Thread starter tvquan41
  • Ngày gửi Ngày gửi
Liên hệ QC

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

tvquan41

Thành viên chính thức
Tham gia
8/1/11
Bài viết
62
Được thích
4
Xin anh/chị giúp em sửa lỗi code bẫy rỗng. Mỗi khi qua Page 2 là nó báo lỗi. Chân thành cảm ơn anh/chị đã giúp!
 

File đính kèm

Xin anh/chị giúp em sửa lỗi code bẫy rỗng. Mỗi khi qua Page 2 là nó báo lỗi. Chân thành cảm ơn anh/chị đã giúp!
Theo mình thì nên làm việc với các textbox trên từng page vì khi đang ở page này thì control không thể setforcus tới textbox trên page kia được. Nếu là mình mình làm như file gửi!
 

File đính kèm

Upvote 0
Cảm ơn bạn đã giúp, nhưng nếu có nhiều commanbutton, nhiều Page trên form thì việc tạo như vậy gặp rất nhiều khó khăn. Có cách nào biết là cái textbox, hay combobox hiện tại ở Page nào không bạn?
 
Upvote 0
Cảm ơn bạn đã giúp, nhưng nếu có nhiều commanbutton, nhiều Page trên form thì việc tạo như vậy gặp rất nhiều khó khăn. Có cách nào biết là cái textbox, hay combobox hiện tại ở Page nào không bạn?
Mỗi multipage theo mình biết thì chỉ có 2 page. Khi trên mỗi page có nhiều textbox và comman thì càng nên quản lý code riêng rẽ. Mình cũng thử nhưng cũng không đưa ra được combobox đang ở page nào bằng code! "Về trực quan bằng mắt thì đương nhiên là biết đúng không?"
 
Upvote 0
Xin anh/chị giúp em sửa lỗi code bẫy rỗng. Mỗi khi qua Page 2 là nó báo lỗi. Chân thành cảm ơn anh/chị đã giúp!

Không biết bạn định thiết kế cái gì nhưng nếu nói về cái nút "kia" thì

Mã:
Private Sub CommandButton1_Click()
Dim Ctrl As Control
    For i = 1 To 4
        With Me.Controls("textbox" & i)
            If .Value = "" Then
                MultiPage1.Value = .Parent.Index
                .SetFocus
                Exit Sub
            End If
        End With
    Next
End Sub

Tuy nhiên nếu là tôi thì tôi làm như sau:
1. Giả sử có k Page. Trong design time thiết lập cho tất cả các Page, trừ Page1, Visible = FALSE
2. Có 2 nút BACK và NEXT
3. code cho NEXT

Mã:
Private Sub NEXT_Click()
Dim Ctrl As Control, bad As Boolean
    For Each Ctrl In MultiPage1.Pages(MultiPage1.Value).Controls
        If TypeName(Ctrl) = "TextBox" Then
            If Ctrl.Value = "" Then
                MsgBox "Khong de trong du lieu tai day!"
                Ctrl.SetFocus
                bad = True
                Exit For
            End If
        End If
    Next
    If Not bad Then
        If MultiPage1.Value < MultiPage1.Pages.Count - 1 Then
'            chua la Page cuoi cung, vay sang Page tiep theo
            MultiPage1.Pages(MultiPage1.Value + 1).Visible = True
            MultiPage1.Value = MultiPage1.Value + 1
            MultiPage1.Pages(MultiPage1.Value - 1).Visible = False
        Else
            ' da la Page cuoi cung, xu ly du lieu
        End If
    End If
End Sub

4. Ở mỗi thời điểm chỉ hiện 1 Page. Nếu nhập đủ dữ liệu và nhến NEXT thì: Nếu chưa là Page cuối cùng thì hiện Page tiếp theo và chọn nó, sau đó ẩn Page trước nó. Nếu là Page cuối cùng thì xử lý các dữ liệu đã nhập.

5. Nút BACK bạn tự viết. Ẩn / hiện ngược lại.

6. Tôi không thích kiểu Exit Sub vì thế tôi dùng Exit For + flag bad.

7. Code chỉ là ví dụ.
 
Upvote 0
Không biết bạn định thiết kế cái gì nhưng nếu nói về cái nút "kia" thì

Mã:
Private Sub CommandButton1_Click()
Dim Ctrl As Control
    For i = 1 To 4
        With Me.Controls("textbox" & i)
            If .Value = "" Then
                MultiPage1.Value = .Parent.Index
                .SetFocus
                Exit Sub
            End If
        End With
    Next
End Sub

Tuy nhiên nếu là tôi thì tôi làm như sau:
1. Giả sử có k Page. Trong design time thiết lập cho tất cả các Page, trừ Page1, Visible = FALSE
2. Có 2 nút BACK và NEXT
3. code cho NEXT

Mã:
Private Sub NEXT_Click()
Dim Ctrl As Control, bad As Boolean
    For Each Ctrl In MultiPage1.Pages(MultiPage1.Value).Controls
        If TypeName(Ctrl) = "TextBox" Then
            If Ctrl.Value = "" Then
                MsgBox "Khong de trong du lieu tai day!"
                Ctrl.SetFocus
                bad = True
                Exit For
            End If
        End If
    Next
    If Not bad Then
        If MultiPage1.Value < MultiPage1.Pages.Count - 1 Then
'            chua la Page cuoi cung, vay sang Page tiep theo
            MultiPage1.Pages(MultiPage1.Value + 1).Visible = True
            MultiPage1.Value = MultiPage1.Value + 1
            MultiPage1.Pages(MultiPage1.Value - 1).Visible = False
        Else
            ' da la Page cuoi cung, xu ly du lieu
        End If
    End If
End Sub

4. Ở mỗi thời điểm chỉ hiện 1 Page. Nếu nhập đủ dữ liệu và nhến NEXT thì: Nếu chưa là Page cuối cùng thì hiện Page tiếp theo và chọn nó, sau đó ẩn Page trước nó. Nếu là Page cuối cùng thì xử lý các dữ liệu đã nhập.

5. Nút BACK bạn tự viết. Ẩn / hiện ngược lại.

6. Tôi không thích kiểu Exit Sub vì thế tôi dùng Exit For + flag bad.

7. Code chỉ là ví dụ.
Cảm ơn anh, em định viết một chương trình làm hồ sơ vay vốn, với nhiều Page như, thông tin khách hàng, thông tin tiền vay, tài sản bảo đảm... Em định để các Page hiện lên cùng 1 lúc (trực quan cho người sử dụng, vì mấy cô chú trong cơ quan không rành về tin học lắm). Khi nhập thông tin xong click Save để lưu dữ liệu thì nếu ở textbox nào còn thiếu dữ liệu bắt buộc thì sẽ thông báo tại textbox đó cho người dùng dễ nhận biết cho mình nhập thiếu. Em chỉ nghĩ vậy thôi, rất mong anh góp ý thêm
Cảm ơn anh vì code trên, em làm cả mấy tháng trời mà không được +-+-+-+
 
Upvote 0
Cảm ơn anh, em định viết một chương trình làm hồ sơ vay vốn, với nhiều Page như, thông tin khách hàng, thông tin tiền vay, tài sản bảo đảm... Em định để các Page hiện lên cùng 1 lúc (trực quan cho người sử dụng, vì mấy cô chú trong cơ quan không rành về tin học lắm). Khi nhập thông tin xong click Save để lưu dữ liệu thì nếu ở textbox nào còn thiếu dữ liệu bắt buộc thì sẽ thông báo tại textbox đó cho người dùng dễ nhận biết cho mình nhập thiếu. Em chỉ nghĩ vậy thôi, rất mong anh góp ý thêm
Cảm ơn anh vì code trên, em làm cả mấy tháng trời mà không được +-+-+-+

Tôi phải giúp bạn cái gì nữa? Tôi đưa ra 2 code cho 2 phương án: phương án của bạn (hiện tất cả mọi Page) và phương án do tôi đề nghị (hiện 1 Page). Còn gì để nói nữa?
 
Upvote 0
Không biết bạn định thiết kế cái gì nhưng nếu nói về cái nút "kia" thì

Mã:
Private Sub CommandButton1_Click()
Dim Ctrl As Control
    For i = 1 To 4
        With Me.Controls("textbox" & i)
            If .Value = "" Then
                MultiPage1.Value = .Parent.Index
                .SetFocus
                Exit Sub
            End If
        End With
    Next
End Sub

Anh ơi cho em hỏi nếu có MultiPage1 này nằm trong MultiPage1 kia thì đoạn code trên phải sửa như thế nào ạ? Anh giúp em lần nữa nhé!
 
Upvote 0
Không biết bạn định thiết kế cái gì nhưng nếu nói về cái nút "kia" thì

Mã:
Private Sub CommandButton1_Click()
Dim Ctrl As Control
    For i = 1 To 4
        With Me.Controls("textbox" & i)
            If .Value = "" Then
                MultiPage1.Value = .Parent.Index
                .SetFocus
                Exit Sub
            End If
        End With
    Next
End Sub

Anh ơi cho em hỏi nếu có MultiPage1 này nằm trong MultiPage1 kia thì đoạn code trên phải sửa như thế nào ạ? Anh giúp em lần nữa nhé!

MultiPage2 nằm trong MultiPage1? Bạn làm thế để làm gì? Mà chắc ý bạn là đặt MultiPage2 lên Page? He he.
 
Lần chỉnh sửa cuối:
Upvote 0

Tôi có đặt cả câu hỏi: Bạn làm thế để làm gì?
Nếu xét thấy có lý thì bạn cũng phải làm UserForm hoàn chỉnh và gửi lên. Không nhất thiết có tất cả nhưng với MultiPage1 có Page nào đó chứa MultiPage2 thì phải làm hoàn chỉnh, kể cả Textbox, ComboBox nếu có. Tôi xem bạn định làm gì. Không phải là bạn cứ bịa mọi chuyện rồi sẽ có người làm theo ý bạn.
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi có đặt cả câu hỏi: Bạn làm thế để làm gì?
Nếu xét thấy có lý thì bạn cũng phải làm UserForm hoàn chỉnh và gửi lên. Không nhất thiết có tất cả nhưng với MultiPage1 có Page nào đó chứa MultiPage2 thì phải làm hoàn chỉnh, kể cả Textbox, ComboBox nếu có. Tôi xem bạn định làm gì. Không phải là bạn cứ bịa mọi chuyện rồi sẽ có người làm theo ý bạn.

Dạ, em giử file em đã bỏ bớt một số phần do file tự tạo dung lượng lớn quá. Mong anh giúp đỡ!
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Dạ, em giử file em đã bỏ bớt một số phần do file tự tạo dung lượng lớn quá. Mong anh giúp đỡ!
1> số control nằm trên các mutilpage trong lúc thiết kế là biết
2> kiểm tra sem control nằm trên multipage nào
3> sét tới multipage đó và setforcus control
Mình dùng lại file ban lúc đầu của bạn và tùy biến lại code của bạn và SIWTOM mong rằng ý tưởng của mình giúp được cho bạn!!
Mã:
Private Sub CommandButton1_Click()
Dim Ctrl
Dim k As Long
Ch = Sheet1.[E2]
For Each Ctrl In Me.Controls
k = k + 1
If (TypeOf Ctrl Is MSForms.TextBox) Or (TypeOf Ctrl Is MSForms.ComboBox) Then
    If InStr(1, Ch, Ctrl.Name) = 0 Then
        With Ctrl
            If .Value = "" Then
                MsgBox "Chua nhap"
                [COLOR=#ff0000]If k <= 5 Then
                    MultiPage1.Value = .Parent.Index
                    .SetFocus
                Else
                    MultiPage2.Value = .Parent.Index
                    .SetFocus[/COLOR]
                End If
                Exit Sub
            End If
        End With
    End If
End If
Next
End Sub
thêm cách khác để chọn multipage
Mã:
Private Sub CommandButton1_Click()
Dim Ctrl
Dim k As Long
Ch = Sheet1.[E2]
For Each Ctrl In Me.Controls
k = k + 1
If (TypeOf Ctrl Is MSForms.TextBox) Or (TypeOf Ctrl Is MSForms.ComboBox) Then
    If InStr(1, Ch, Ctrl.Name) = 0 Then
        With Ctrl
            If .Value = "" Then
                MsgBox "Chua nhap"
                   [COLOR=#ff0000] If .Parent.Parent.Name = "MultiPage2" Then
                        MultiPage1.Value = .Parent.Index + 1
                        MultiPage2.Value = .Parent.Index
                        .SetFocus
                    Else
                        MultiPage1.Value = .Parent.Index
                        .SetFocus
                    End If[/COLOR]
                Exit Sub
            End If
        End With
    End If
End If
Next
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
1> số control nằm trên các mutilpage trong lúc thiết kế là biết
2> kiểm tra sem control nằm trên multipage nào
3> sét tới multipage đó và setforcus control
Mình dùng lại file ban lúc đầu của bạn và tùy biến lại code của bạn và SIWTOM mong rằng ý tưởng của mình giúp được cho bạn!!
Mã:
Private Sub CommandButton1_Click()
Dim Ctrl
Dim k As Long
Ch = Sheet1.[E2]
For Each Ctrl In Me.Controls
k = k + 1
If (TypeOf Ctrl Is MSForms.TextBox) Or (TypeOf Ctrl Is MSForms.ComboBox) Then
    If InStr(1, Ch, Ctrl.Name) = 0 Then
        With Ctrl
            If .Value = "" Then
                MsgBox "Chua nhap"
                [COLOR=#ff0000]If k <= 5 Then
                    MultiPage1.Value = .Parent.Index
                    .SetFocus
                Else
                    MultiPage2.Value = .Parent.Index
                    .SetFocus[/COLOR]
                End If
                Exit Sub
            End If
        End With
    End If
End If
Next
End Sub
thêm cách khác để chọn multipage
Mã:
Private Sub CommandButton1_Click()
Dim Ctrl
Dim k As Long
Ch = Sheet1.[E2]
For Each Ctrl In Me.Controls
k = k + 1
If (TypeOf Ctrl Is MSForms.TextBox) Or (TypeOf Ctrl Is MSForms.ComboBox) Then
    If InStr(1, Ch, Ctrl.Name) = 0 Then
        With Ctrl
            If .Value = "" Then
                MsgBox "Chua nhap"
                   [COLOR=#ff0000] If .Parent.Parent.Name = "MultiPage2" Then
                        MultiPage1.Value = .Parent.Index + 1
                        MultiPage2.Value = .Parent.Index
                        .SetFocus
                    Else
                        MultiPage1.Value = .Parent.Index
                        .SetFocus
                    End If[/COLOR]
                Exit Sub
            End If
        End With
    End If
End If
Next
End Sub


1. Bạn đếm rồi cho là 5 controls đầu thuộc MultiPage1 còn lại thuộc MultiPage2?
Đây mới chỉ là UserForm giả lập. Số controls có thể thay đổi. Vả lại trong quá trình thiết kế nhiều khi ta xóa control này, thêm control kia rồi sẽ có tình huống vd. 3 control đầu thuộc MPG1, 2 control tiếp thuộc MPG2, 2 control tiếp thuộc MPG1, ...

2. Chỉ có 2 MPG? Thế nếu trong project thực người ta thêm MPG thì có phải rách việc không. Hoặc là xét đơn đề nghị nhưng không cho phép MPG lồng nhau hoặc đã cho phép lồng thì không giới hạn cụ thể là 2, 3, ...

3. Bạn thử như sau: show UserForm --> chọn Page2 nếu chưa chọn --> nhập dữ liệu vào 2 textbox ở trên (textbox trong Page3 để trống) --> chọn Page4 để giấu Page3 --> chọn Page1 để giấu Page2 --> nhập dữ liệu vào 2 textbox --> nhấn Save --> LỖI

4. Ngoài ra bây giờ người ta có cả Frame lồng vào chứ có còn đơn giản như bài đầu đâu?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Dạ, em giử file em đã bỏ bớt một số phần do file tự tạo dung lượng lớn quá. Mong anh giúp đỡ!


1. Tôi thay biến toàn cục Variant Ch của bạn bằng biến cục bộ ControlsString As String

2. Chỗ xanh xanh tôi hiểu là trong ô HS.[E2] bạn liệt kê tên những control (phân cách bởi ký tự nào đó) cho phép bỏ trống.

3. Bạn viết: "Em áp dụng đoạn code của anh vào nó vẫn báo lỗi". Code tôi viết khi không có MultiPage nằm trong MultiPage. Bây giờ bạn có vài MultiPage và cả vài Frame "lồng nhau" tới chóng mặt thì báo lỗi là đương nhiên. Cái bài soạn để tán gái tơ mà lại đem ra để cưa gái đã qua một lần đò và có vài "nghé" thì sao có tác dụng? Mà dữ liệu nhiều thế thì nhập xong có lẽ phải làm vài viên gì đó.

Nhưng không sao cả. Bạn cứ lồng Frame, MultiPage thoải mái, bao nhiêu cũng được, mấy level cũng chơi.

4. Chỗ đỏ đỏ là cần thiết vì không thể SetFocus khi vd. Textbox ẩn, mà bạn có vd. txtLNVonXinVayChu.Visible = FALSE.

5. Code

Mã:
Private Sub CmdSave_Click()
Dim ctrl As Control, tmp As Object, bad As Boolean, pg As MSForms.Page, ControlsString As String
    [B][COLOR=#0000ff]ControlsString = HS.[E2][/COLOR][/B]
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is MSForms.TextBox Or TypeOf ctrl Is MSForms.ComboBox Then
            [B][COLOR=#0000ff]If InStr(1, ControlsString, ctrl.Name) = 0 Then[/COLOR][/B]
                If ctrl.Value = "" [B][COLOR=#ff0000]And ctrl.Visible[/COLOR][/B] Then
                    MsgBox "Khong de trong du lieu tai day!"
                    Set tmp = ctrl
                    Do
                        If TypeOf tmp.Parent Is MSForms.Page Then
                            Set pg = tmp.Parent
                            pg.Parent.Value = pg.Index
                        End If
                        Set tmp = tmp.Parent
                        If tmp Is Me Then Exit Do
                    Loop
                    ctrl.SetFocus
                    bad = True
                    Exit For
                End If
            End If
        End If
    Next
    If Not bad Then
'        xu ly du lieu
        MsgBox "good"
    End If
End Sub

Tôi test không thấy lỗi. Nhưng bạn thấy lỗi thì phải nói rõ lỗi thế nào, và liệt kê tất cả các thao tác tuần tự để có được cái lỗi đó. Nếu chỉ là một câu: "không chạy, có lỗi" thì tôi sẽ không bỏ công sức, thời gian để trả lời.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Tôi test không thấy lỗi. Nhưng bạn thấy lỗi thì phải nói rõ lỗi thế nào, và liệt kê tất cả các thao tác tuần tự để có được cái lỗi đó. Nếu chỉ là một câu: "không chạy, có lỗi" thì tôi sẽ không bỏ công sức, thời gian để trả lời.

Dạ, em đã test code chạy rất êm, nhưng nó báo lỗi Ctrl.SetFocus khi 1 Page (hoặc Frame) nào đó ẩn đi. Ví dụ nếu ẩn Page Tiền Vay đi, code sẽ báo lỗi. Mong anh giúp đỡ.
attachment.php
 

File đính kèm

  • Loi.jpg
    Loi.jpg
    14.8 KB · Đọc: 92
Lần chỉnh sửa cuối:
Upvote 0
Dạ, em đã test code chạy rất êm, nhưng nó báo lỗi Ctrl.SetFocus khi 1 Page (hoặc Frame) nào đó ẩn đi. Ví dụ nếu ẩn Page Tiền Vay đi, code sẽ báo lỗi. Mong anh giúp đỡ.
attachment.php

Tôi biết về cái đó.
Bạn có 2 lựa chọn

1. Nếu bạn bắt buộc phải nhập vào textbox xyz, không cho phép để trống, thì bạn phải để hiện Frame hoặc Page mà trên đó có textbox xyz. Vì ẩn đi thì người nhập liệu bằng cách nào nhập vào xyz??? Bạn đừng nói là khi đó code hiển thị lại Frame hay Page nhé. Vì nếu bạn bắt nhập vào cả textbox xyz thì trước sau Frame hay Page cũng phải hiển thị. Vậy tại sao bạn lại ẩn nó đi?

2. Nếu textbox xyz có thể bỏ trống thì bạn cho nó vào "danh sách" không bắt buộc, tức vào ô HS.[E2]

Tôi chỉ làm cho bạn những cái mà tôi cho là hợp lý.
 
Upvote 0
Tôi biết về cái đó.
Bạn có 2 lựa chọn

1. Nếu bạn bắt buộc phải nhập vào textbox xyz, không cho phép để trống, thì bạn phải để hiện Frame hoặc Page mà trên đó có textbox xyz. Vì ẩn đi thì người nhập liệu bằng cách nào nhập vào xyz??? Bạn đừng nói là khi đó code hiển thị lại Frame hay Page nhé. Vì nếu bạn bắt nhập vào cả textbox xyz thì trước sau Frame hay Page cũng phải hiển thị. Vậy tại sao bạn lại ẩn nó đi?

2. Nếu textbox xyz có thể bỏ trống thì bạn cho nó vào "danh sách" không bắt buộc, tức vào ô HS.[E2]

Tôi chỉ làm cho bạn những cái mà tôi cho là hợp lý.

Dạ, đúng như anh nói, ban đầu em cũng suy nghĩ như vậy.
Nhưng sau khi đem ứng dụng vào công việc em mới thấy nó chưa được phù hợp. Vì khách hàng có thể: 1 là đi vay, 1 là đi bảo lãnh mà mỗi yếu tố của tiền vay, và bảo lãnh có phần chung, có phần riêng. Nên em nghĩ là tùy vào trường hợp khác nhau thì mình cho ẩn, hiện hoặc enable những Ctrl không cần thiết để phần Form được ngọn hơn
Cũng như vậy, nếu khách hàng vay tiêu dùng những yếu tố trên mẫu hồ sơ sẽ khác 1 một ít với khách hàng vay sản xuất, vay kinh doanh mà không cần thiết là phải nhập hết thông tin.
Do em mới học VBA, mà chủ yếu là học qua mạng lên kiến thức còn non yếu, hiểu chưa sâu, nếu có gì anh bỏ qua nhé. Mong anh giúp đỡ.
 
Upvote 0
Dạ, đúng như anh nói, ban đầu em cũng suy nghĩ như vậy.
Nhưng sau khi đem ứng dụng vào công việc em mới thấy nó chưa được phù hợp. Vì khách hàng có thể: 1 là đi vay, 1 là đi bảo lãnh mà mỗi yếu tố của tiền vay, và bảo lãnh có phần chung, có phần riêng. Nên em nghĩ là tùy vào trường hợp khác nhau thì mình cho ẩn, hiện hoặc enable những Ctrl không cần thiết để phần Form được ngọn hơn
Cũng như vậy, nếu khách hàng vay tiêu dùng những yếu tố trên mẫu hồ sơ sẽ khác 1 một ít với khách hàng vay sản xuất, vay kinh doanh mà không cần thiết là phải nhập hết thông tin.
Do em mới học VBA, mà chủ yếu là học qua mạng lên kiến thức còn non yếu, hiểu chưa sâu, nếu có gì anh bỏ qua nhé. Mong anh giúp đỡ.

Thôi được, bạn hãy chọn cách xử lý:

Khi gặp control.Value = "" thì:

1. Nếu có "tiền bối" nào đó của "nó" bị ẩn - vd. ctrl --> Frame (hiển thị) --> Page (ẩn) - thì HIỂN THỊ "tiền bối" đó để SetFocus cho nhập liệu.

2. Nếu có "tiền bối" nào đó của "nó" bị ẩn - vd. ctrl --> Frame (hiển thị) --> Page (ẩn) - thì BỎ QUA, KHÔNG XÉT, COI NHƯ KHÔNG CÓ control đó, GIẢ VỜ KHÔNG NHÌN THẤY "nó" ...

Giải pháp 1 hay 2? Và bạn đính kèm tập tin, và cho biết bạn đã ẩn Frame, Page nào để tôi test thử

Thực ra chỉ sửa chút chút thôi nhưng có tập tin vẫn tốt hơn.
 
Upvote 0
Thôi được, bạn hãy chọn cách xử lý:

Khi gặp control.Value = "" thì:

1. Nếu có "tiền bối" nào đó của "nó" bị ẩn - vd. ctrl --> Frame (hiển thị) --> Page (ẩn) - thì HIỂN THỊ "tiền bối" đó để SetFocus cho nhập liệu.

2. Nếu có "tiền bối" nào đó của "nó" bị ẩn - vd. ctrl --> Frame (hiển thị) --> Page (ẩn) - thì BỎ QUA, KHÔNG XÉT, COI NHƯ KHÔNG CÓ control đó, GIẢ VỜ KHÔNG NHÌN THẤY "nó" ...

Giải pháp 1 hay 2? Và bạn đính kèm tập tin, và cho biết bạn đã ẩn Frame, Page nào để tôi test thử

Thực ra chỉ sửa chút chút thôi nhưng có tập tin vẫn tốt hơn.
Dạ, anh xem giúp em :-=
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom