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


Giúp thế nào? Theo phương án nào? Bạn có đọc bài của tôi không?

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ử

Bạn viết: "Anh chọn loại hình khách hàng và chọn loại hình vay sẽ tự enable, Visible tương ứng với yêu cầu thông tin của từng loại hồ sơ vay vốn".

Như thế là như thế nào? Là luôn 1 hay luôn 2? Hay có lúc chọn 1 có lúc chọn 2 phụ thuộc vào "tương ứng với yêu cầu thông tin của từng loại hồ sơ vay vốn"?

Nếu thế có nghĩa là bạn bắt tôi phải dò, phải đoán là "tương ứng với yêu cầu thông tin của từng loại hồ sơ vay vốn" trong trường hợp này là thế này trong trường hợp khác là thế kia?

Hoặc bạn nói phương án nào hoặc nếu tùy theo tình huống mà chọn 1 hay 2 thì phải diễn giải cụ thể. Bạn đừng nghĩ là tôi sẽ bỏ công ra để đoán bạn thiết kế project của mình thế nào. Miêu tả cụ thể, cho ví dụ ...

Có thông tin thì đi tiếp, ngược lại thì tôi dừng ở đây.
 
Upvote 0
Giúp thế nào? Theo phương án nào? Bạn có đọc bài của tôi không?



Bạn viết: "Anh chọn loại hình khách hàng và chọn loại hình vay sẽ tự enable, Visible tương ứng với yêu cầu thông tin của từng loại hồ sơ vay vốn".

Như thế là như thế nào? Là luôn 1 hay luôn 2? Hay có lúc chọn 1 có lúc chọn 2 phụ thuộc vào "tương ứng với yêu cầu thông tin của từng loại hồ sơ vay vốn"?

Nếu thế có nghĩa là bạn bắt tôi phải dò, phải đoán là "tương ứng với yêu cầu thông tin của từng loại hồ sơ vay vốn" trong trường hợp này là thế này trong trường hợp khác là thế kia?

Hoặc bạn nói phương án nào hoặc nếu tùy theo tình huống mà chọn 1 hay 2 thì phải diễn giải cụ thể. Bạn đừng nghĩ là tôi sẽ bỏ công ra để đoán bạn thiết kế project của mình thế nào. Miêu tả cụ thể, cho ví dụ ...

Có thông tin thì đi tiếp, ngược lại thì tôi dừng ở đây.
Dạ, tùy vào tình huống mà chọn cách 1, hay cách 2. Giải pháp của em là nếu Page nào hay Frame nào bị ẩn hay bị enabled thì các Ctrl trong đó sẽ không được xét (bỏ qua, không cần SetFocus). Nhưng không biết viết code thế nào để biết Ctrl đó thuộc Page đó, hay Frame đó đã bị enabled hay visible mà loại nó ra khỏi vòng lặp.
Giống như khi anh chọn cbo loại khách hàng là cá nhân/ cbo loại hình vay vốn là thấu chi thì các Fra Thông tin người thừa kế và Page Tài sản bảo đảm sẽ không cần thiết nên em cho enabled và ẩn hết, khi đó nếu dùng vòng lặp duyệt qua, nếu thấy các Ctrl thuộc Page hay Fra bị ẩn/enabled thì sẽ bỏ qua không cần xét nữa, ngược lại sẽ xét để các Ctrl khác không bỏ trống.
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ, tùy vào tình huống mà chọn cách 1, hay cách 2. Giải pháp của em là nếu Page nào hay Frame nào bị ẩn hay bị enabled thì các Ctrl trong đó sẽ không được xét (bỏ qua, không cần SetFocus). Nhưng không biết viết code thế nào để biết Ctrl đó thuộc Page đó, hay Frame đó đã bị enabled hay visible mà loại nó ra khỏi vòng lặp.
Giống như khi anh chọn cbo loại khách hàng là cá nhân/ cbo loại hình vay vốn là thấu chi thì các Fra Thông tin người thừa kế và Page Tài sản bảo đảm sẽ không cần thiết nên em cho enabled và ẩn hết, khi đó nếu dùng vòng lặp duyệt qua, nếu thấy các Ctrl thuộc Page hay Fra bị ẩn/enabled thì sẽ bỏ qua không cần xét nữa, ngược lại sẽ xét để các Ctrl khác không bỏ trống.

Nếu thế - xanh xanh - thì giải pháp 2 rồi chứ sao lại: "tùy vào tình huống mà chọn cách 1, hay cách 2"???

Hai giải pháp đều nói về ctrl có "tiền bối" bị ẩn cơ mà. Bạn đọc tiếng Việt không hiểu à?
--------------------
Chỗ đỏ đỏ là mới thêm vào. Nếu cần thì bạn sửa lại căn lề trong code vì GPE làm thay đổi mà tôi không muốn bỏ công để sửa. Sửa trong VBE thoải mái hơn nhiều

Mã:
Private Sub CmdSave_Click()
Dim Ctrl As Control, tmp As Object, bad As Boolean, pg As MSForms.Page, ControlsString As String, [B][COLOR=#ff0000]NotSetFocus As Boolean[/COLOR][/B]
    ControlsString = HS.[e2]
    For Each Ctrl In Me.Controls
        If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
            If InStr(1, ControlsString, Ctrl.Name) = 0 And Ctrl.Visible And Ctrl.Enabled Then
                If Ctrl.Value = "" Then
                   MsgBox "Khong de trong du lieu tai day!"
                    Set tmp = Ctrl
                    Do
                        [SIZE=2][B][COLOR=#ff0000]If Not tmp.Parent.Visible Then
                              NotSetFocus = True
                              Exit Do
                        End If[/COLOR][/B][/SIZE]
                        
                        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
                    [B][COLOR=#ff0000]If Not NotSetFocus Then[/COLOR][/B]
                        Ctrl.SetFocus
                        bad = True
                        Exit For
                    [B][COLOR=#ff0000]End If[/COLOR][/B]
                End If
            End If
        End If
    Next
    
   ' If Not bad Then
'        xu ly du lieu
   '     MsgBox "good"
   ' End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu thế - xanh xanh - thì giải pháp 2 rồi chứ sao lại: "tùy vào tình huống mà chọn cách 1, hay cách 2"???

Hai giải pháp đều nói về ctrl có "tiền bối" bị ẩn cơ mà. Bạn đọc tiếng Việt không hiểu à?
--------------------
Chỗ đỏ đỏ là mới thêm vào. Nếu cần thì bạn sửa lại căn lề trong code vì GPE làm thay đổi mà tôi không muốn bỏ công để sửa. Sửa trong VBE thoải mái hơn nhiều

[/CODE]

Rất cảm ơn anh trong thời gian qua đã chỉ bảo tận tình. Em có thể hiểu được sự nóng giận của anh khi xem code và cách hỏi của em. Có thể nói lời diễn đạt qua ý hỏi không hay, không chuẩn dẫn đến anh không hiểu. Em, cũng như nhiều người khác cũng bị cái này nhiều lần khi hỏi các anh IT trên TW. Mấy anh đó cũng nóng tính, trả lời cộc lốc dẫn đến anh em trong diễn đàn sợ không dám hỏi nữa, đôi khi lại tranh cãi gay gắt với nhau dẫn đến mất tình đoàn kết. Nhưng cũng rất vui là sau khi được nhận được sự góp ý của anh em trong diễn đàn, các anh IT đã sửa lại thái độ khi trả lời, từ đó diễn đàn sôi nổi hẳn lên, anh em cũng rất vui, và đoàn kết.

Cũng như ông bà ta nói "chim khôn kêu tiếng rảnh rang người khôn nói tiếng dịu dàng dễ nghe", lời nó đâu có mất tiền, nhưng nó có thể giết chết người! Là người tri thức, có người này giỏi về phần này, có người giỏi về phần kia, không ai toàn mỹ cả do đó mới có thầy có thợ, thầy tốt là người nói cho mọi người hiểu chứ không phải nói để cho 1 ít người hiểu. Vì vậy sao không nói dễ chịu một chút. Đây là đôi lời em xin góp ý cùng anh. Nếu có gì không hài lòng xin anh bỏ qua cho em.
Còn về code anh hỗ trợ. Mặc dù rất hay và qua đây em cũng học được rất nhiều, nhưng khi em test lại nó vẫn báo lỗi.

Một lần nữa em xin cảm anh rất nhiều.}}}}}
 
Lần chỉnh sửa cuối:
Upvote 0
Rất cảm ơn anh trong thời gian qua đã chỉ bảo tận tình. Em có thể hiểu được sự nóng giận của anh khi xem code và cách hỏi của em. Có thể nói lời diễn đạt qua ý hỏi không hay, không chuẩn dẫn đến anh không hiểu. Em, cũng như nhiều người khác cũng bị cái này nhiều lần khi hỏi các anh IT trên TW. Mấy anh đó cũng nóng tính, trả lời cộc lốc dẫn đến anh em trong diễn đàn sợ không dám hỏi nữa, đôi khi lại tranh cãi gay gắt với nhau dẫn đến mất tình đoàn kết. Nhưng cũng rất vui là sau khi được nhận được sự góp ý của anh em trong diễn đàn, các anh IT đã sửa lại thái độ khi trả lời, từ đó diễn đàn sôi nổi hẳn lên, anh em cũng rất vui, và đoàn kết.

Cũng như ông bà ta nói "chim khôn kêu tiếng rảnh rang người khôn nói tiếng dịu dàng dễ nghe", lời nó đâu có mất tiền, nhưng nó có thể giết chết người! Là người tri thức, có người này giỏi về phần này, có người giỏi về phần kia, không ai toàn mỹ cả do đó mới có thầy có thợ, thầy tốt là người nói cho mọi người hiểu chứ không phải nói để cho 1 ít người hiểu. Vì vậy sao không nói dễ chịu một chút. Đây là đôi lời em xin góp ý cùng anh. Nếu có gì không hài lòng xin anh bỏ qua cho em.

Tôi muốn giúp bạn nên hỏi cặn kẽ, nhưng bạn thường không trả lời những câu hỏi tôi đặt ra, vd. Bài #19 tôi đặt ra câu hỏi rõ ràng trong khi ở bài #20 bạn làm 1 câu ngắn gọn: "Dạ, anh xem giúp em". Tôi muốn bạn chọn phương án 1 hay 2 để viết code cho đúng nhưng bạn không quyết định. Phải thêm một bài nữa để tôi moi thông tin, nhưng bạn cũng lại: "tùy vào tình huống mà chọn cách 1, hay cách 2". Thế mà theo ý bạn thì đó là phương án 2 chứ đâu có "tùy vào tình huống mà chọn cách 1, hay cách 2"?

Vấn đề là của bạn mà tôi phải nài nỉ để bạn chiếu cố trả lời. Cứ như là việc của tôi còn bạn là người thích thì giúp một tí để tôi "cầy", để tôi giải quyết việc của tôi.

Bạn viết: "Là người tri thức, có người này giỏi về phần này, có người giỏi về phần kia, không ai toàn mỹ cả do đó mới có thầy có thợ, thầy tốt là người nói cho mọi người hiểu chứ không phải nói để cho 1 ít người hiểu". Nói gì ở đây hả bạn để bạn hiểu? Tôi cho rằng tôi đã viết trong bài #19 rất rõ ràng. Bằng tiếng Việt và rất rõ ràng. Nếu bạn đọc không hiểu thì nói "Bạn đọc tiếng Việt không hiểu à?" là không đúng? Phải ngọt ngào như thế nào hả bạn?

Tôi bỏ công sức, thời gian ra moi từng thông tin nhưng bạn hoặc không trả lời câu hỏi hoặc không trình bầy rõ ràng. Bạn không nghĩ như thế là bạn không tôn trọng tôi, thời gian và công sức của tôi?

Bạn nói trả lời "cộc lốc"? Thế thì bạn không hiểu từ "cộc lốc" rồi. Bạn đọc câu hỏi của tôi mà không hiểu, hoặc không thèm đọc kỹ, nhưng bạn nghĩ là không được góp ý? Góp ý thì lại là "nóng tính", "thái độ" ...? Tức nếu không giúp thì thôi còn muốn cầy hộ tôi thì khóa mõm lại?

Rất tiếc là bây giờ bạn mới nói những lời này.

Còn về code anh hỗ trợ. Mặc dù rất hay và qua đây em cũng học được rất nhiều, nhưng khi em test lại nó vẫn báo lỗi.

Một lần nữa em xin cảm anh rất nhiều.}}}}}

Tôi không hiểu lỗi là gì. Lỗi là "không làm đúng ý", là "treo máy", là "bị mất dữ liệu"? Tôi không bao giờ thích chơi trò "đoán ý đồng đội".

Mà cứ cho là bạn sẽ nói rõ: khi nhấn cái này, xong nhập vào kia, rồi chuyển sang nọ thì có cửa sổ nhẩy ra thông báo xyz", cứ cho là thế đi thì tôi cũng đã kết thúc với bạn rồi. Bạn tự làm nhé.

Đây là bài cuối cùng của tôi trong chủ đề này.
Tôi đã quyết chấm dứt thì nhất định sẽ chấm dứt.
 
Upvote 0
Web KT

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

Back
Top Bottom