Giúp em sửa lỗi Run-time error '13': Type mismatch (1 người xem)

Liên hệ QC

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

tranvyvn

Thành viên mới
Tham gia
16/10/09
Bài viết
24
Được thích
1
nhờ cả nhà sửa giúp em code này xem sai ở chỗ nào mà khi nhấn sửa dữ liệu thì nó báo lỗi, em mò mãi không ra.
cảm ơn rất nhiều.
 

File đính kèm

Như mình thấy thì dòng lệnh Sopc = T_Sopc.Value bị lỗi khi T_Sopc chưa có giá trị nào được gán, hoặc nhận giá trị text vì bạn khai báo Sopc As Long. Bỏ khai báo tường minh đi là được (bỏ đoạn As Long đi). Lần sau cứ gặp lỗi Type mismatch thì bạn hãy nghĩ ngay đến việc không tương đồng giữa kiểu biến đã khai báo và kiểu giá trị biến vừa được gán.
 
Upvote 0
nhưng khi em bỏ đoạn As Long đi như anh nói thì khi nhập Sopc đã có vào form nó không tự load dữ liệu lên
 
Upvote 0
nhưng khi em bỏ đoạn As Long đi như anh nói thì khi nhập Sopc đã có vào form nó không tự load dữ liệu lên
Bạn gán lại giá trị cho Sopc bằng câu lệnh Sopc=Val(T_Sopc.value). Nếu gán Sopc=T_Sopc.value thì nó sẽ hiểu là giá trị text, trong khi các giá trị lấy từ biến ran là giá trị số.
 
Upvote 0
Bạn cần sửa cả DKBD_Initialize() thành Userform_Initialize nữa.
 
Upvote 0
Bạn gán lại giá trị cho Sopc bằng câu lệnh Sopc=Val(T_Sopc.value). Nếu gán Sopc=T_Sopc.value thì nó sẽ hiểu là giá trị text, trong khi các giá trị lấy từ biến ran là giá trị số.
Do tác giả đặt tên thủ tục là DKBD_initialize không tự chạy (đáng lẽ phải là Userform_initialize) nên textbox T_sopc chưa được khởi tạo và mang giá trị null, vì thế lệnh Sopc=T_sopc.value gặp lỗi. Sau khi thay tên sub thành Userform_initialize() thì không gặp lỗi nữa, có lẽ không cần dùng hàm Val.
 
Upvote 0
Bạn gán lại giá trị cho Sopc bằng câu lệnh Sopc=Val(T_Sopc.value). Nếu gán Sopc=T_Sopc.value thì nó sẽ hiểu là giá trị text, trong khi các giá trị lấy từ biến ran là giá trị số.

Cho em xía vô đây tí. Ở code này khi thay đổi T_Sopc nếu muốn tìm chính xác T_Sopc thì phải làm như thế nào vì em thấy nếu đã nhập dữ liệu có Sopc là 48 sau đó dữ liệu lên đến 480 thì khi cần sửa dữ liệu của Sopc 480 thì nó cứ load dữ liệu của Sopc 48. Ý em là muốn load dữ liệu đúng chính xác theo Sopc.
vì thấy cái này hay nên em muốn học hỏi và áp dụng.
Em cảm ơn!
 
Upvote 0
Web KT

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

Back
Top Bottom