Lỗi Bad record length???

Liên hệ QC

xuanhoa7604

Thành viên hoạt động
Tham gia
9/6/08
Bài viết
169
Được thích
82
Nghề nghiệp
Giáo viên
Các bác cho mình hỏi chút. Mình đang lập trình xử lý tập tin (truy xuất ngẫu nhiên). Mình có khai báo dữ liệu như sau:
Public Type DiemMonHKData 'Diem cua mon hoc trong 1 hoc ky
DiemMieng(2) As Byte '3 diem mieng
H1(5) As Byte '6 diem 15'
H2(5) As Byte '6 diem 45'
HK As Byte 'Diem thi HK
TBM As Byte 'Diem TB bo mon
End Type
Public Type DiemMonData 'Diem cua mon hoc trong ca nam hoc
HK(1) As DiemMonHKData '0 la HK I; 1 la HK II
TBCN As Byte
End Type
Public Type HSMonHocData 'He so cac mon hoc trong cac hoc ky
HK(2) As Byte '1 la ky I; 2 la ky II; 0 la ca nam (mon co he so 0 la khong tinh, mon co he so 255 la mon danh gia)
End Type
Public Type HKData 'Hanh kiem cua HS trong ca nam
HK(2) As Byte '1 la Tot; 2 la Kha; ...; 1 la ky I; 2 la ky II; 0 la ca nam
End Type
Public Type HLData 'Hoc luc cua HS trong ca nam
HL(2) As Byte '1 la Gioi; 2 la Kha; ...; 1 la ky I; 2 la ky II; 0 la ca nam
End Type
Public Type HSData 'Thong tin hoc sinh
Ten(21) As Integer 'Ten HS (dai toi da 22 ky tu)
NamSinh As Integer
DanToc As Byte
Nu As Byte '0 la Nam; 1 la Nu
DiemMon(14) As DiemMonData 'Diem cua 15 mon hoc
DiemThiLai(14) As Byte 'Diem thi lai cua 15 mon hoc
TBCM1 As Byte 'Diem TBCM ky I
TBCM2 As Byte 'Diem TBCM ky II
TBCM3 As Byte 'Diem TBCM ca nam (chua tinh thi lai)
TBCM4 As Byte 'Diem TBCM ky ca nam (da thi lai)
HK As HKData ' Hanh kiem cua HS
HL As HLData 'Hoc luc cua HS
TD As Byte ' Thi dua cua HS (0 la khong co danh hieu; 1 la HSG; 2 la TT)
KQ As Byte 'Ket qua cua HS sau thi lai (0 la luu ban; 1 la len lop; 2 la duoc thi TN; 2 la khong duoc thi TN)
End Type
Sau khi khai báo như vậy mình có viết một đoạn chương trình để lưu thông tin vào tập tin như sau:

Public Sub thuluu()
Dim HS As HSData
Open "DiemHS" For Random As #1 Len = Len(HS) + 10
Put #1, 1, HS
Close #1
End Sub
Điều kỳ lạ là tại sao khi chạy đoạn mã này thì lúc thì rất suôn sẻ không báo lỗi gì, kiểm tra trong tập tin thì thấy dữ liệu đã được lưu nhưng có lúc chạy đoạn mã trên thì lại bị báo lỗi Bad record length (mã lỗi 59)????
Quả thật mình không thể hiểu được. Bác nào có thể giải thích hộ mình được không?
 
Bạn thử gửi File đó lên xem, chứ nhìn vậy vừa rối mắt vừa không thực tế.
 
Upvote 0
Mình gửi bản đó của mình nhé. Nhưng có lúc thì nó chạy không lỗi gì có lúc thì lại bị lỗi nên mình không biết thế nào. Bạn thử chạy nút Sửa DSHS trong sheet home ấy.
Với lại mình muốn hỏi mình khai báo kiểu dữ liệu HSData như thế có ổn không?
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom