读取数据请教,谢谢!!!

Qqian 2003-02-10 06:49:36
读取数据请教,谢谢!!!
有A文件(学生姓名.DAT),数据结构:(如里有:
0001 黄海龙 ;0002 郑哲 ;0003 鲁平 ;0004 张领海 ;0005 金炳 ;0006 金道龙 ;0101 亚宏宇 ;0111 楼将轩 ;1001 刘蕾波;1002 黄长株 ;1011 金昊天 ;2001 王启 ;5001 葛礼梅 ;5555 于广东;6661 傅风雷 ;6685 徐际斌 ;9522 蒋莹)
Option Explicit
Private Type RECORD
XH(1 To 6) As Byte‘学号
XM(1 To 9) As Byte ‘姓名
End Type
有文件,数据结构:(如有文件数个,文件名文:0001.DAT;0002.DAT;0003.DAT;0004.DAT;0005.DAT;0006.DAT;0101.DAT;0111.DAT;1001.DAT;1002.DAT;1011.DAT;2001.DAT;5001.DAT;5555.DAT;6661.DAT;6685.DAT;9522.DAT)数据结构一样。
Private Type RECORD
YEAR AS LONG ‘年
YW AS LONG ‘语文
SX AS LONG ‘数学
YY AS LONG ‘英语
TY AS LONG ‘体育
YY AS LONG ‘音乐
End Type

在窗体中有一个表(MSFlexGrid),其中前两列为:学号;姓名 后面为年;语文;数学;英语;体育;音乐
小妹打开(学生姓名.DAT)显示在前两列会,后面想更据(学号)打开相应名称的文件,并把成绩显示在后面六列里,如(学号为0001,就打开0001.DAT文件数据),谢谢!!!!
...全文
48 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
monkst 2003-02-13
  • 打赏
  • 举报
回复
按行读取文件,再用split分解每一行。


' 文本文件类(TextFile.cls)
Option Explicit

Dim FileNum As Integer
'local variable(s) to hold property value(s)
Private mvarFileName As String 'local copy
Public Property Let FileName(ByVal vData As String)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.FileName = 5
mvarFileName = vData
End Property


Public Property Get FileName() As String
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.FileName
FileName = mvarFileName
End Property




' 打开文件用于写
Public Function OpenWrit(fn As String) As Boolean
On Error GoTo OWErr

FileNum = FreeFile
Open fn For Output Access Write As #FileNum
OpenWrit = True

Exit Function
OWErr:
OpenWrit = False
End Function

' 打开文件用于写
Public Function OpenAPPE(fn As String) As Boolean
On Error GoTo OWErr

FileNum = FreeFile
Open fn For Append Access Write As #FileNum
OpenAPPE = True
Exit Function
OWErr:
OpenAPPE = False
End Function

' 打开文件用于读
Public Function OpenRead(fn As String) As Boolean
On Error GoTo ORErr

FileNum = FreeFile
Open fn For Input Access Read As #FileNum
OpenRead = True

Exit Function
ORErr:
OpenRead = False
End Function

' 关闭文件
Public Sub CloseFile()
If FileNum > 0 Then
Close #FileNum
FileNum = 0
End If
End Sub

' 从文件中读取一行
Public Function GetLine(S As String) As Boolean
On Error GoTo NotGet

If EOF(FileNum) Then GoTo NotGet
Line Input #FileNum, S
GetLine = True

Exit Function
NotGet:
GetLine = False
End Function

' 往文件中写入一行
Public Function PutLine(ByVal S As String) As Boolean
On Error GoTo NotPut

Print #FileNum, S
PutLine = True

Exit Function
NotPut:
PutLine = False
End Function

' 类在结束时,自动关闭文件
Private Sub Class_Terminate()
CloseFile
End Sub


Public Sub log(msg1 As String)
Dim lineStr As String
lineStr = Now
lineStr = lineStr + " " + msg1
OpenAPPE FileName
PutLine lineStr
CloseFile
End Sub

Public Function getLastLine() As String
Dim strValue As String
Dim Ret As Boolean
OpenRead FileName
Do
Ret = GetLine(strValue)
If Ret = False Then Exit Do
Loop
CloseFile
getLastLine = strValue
End Function
Qqian 2003-02-13
  • 打赏
  • 举报
回复
谢谢!!!是未在意写错了,谢谢!!!用ACCESS数据库小妹会用(以写出程序),县求教用文件方式来编程,求教!!!
northwolves 2003-02-12
  • 打赏
  • 举报
回复
Private Type RECORD
YEAR AS LONG ‘年
YW AS LONG ‘语文
SX AS LONG ‘数学
YY AS LONG ‘英语
TY AS LONG ‘体育
YY AS LONG ‘音乐
End Type

Private Type RECORD
XH(1 To 6) As Byte‘学号
XM(1 To 9) As Byte ‘姓名
End Type


2个type不应同名。






YY AS LONG ‘英语
TY AS LONG ‘体育
YY AS LONG ‘音乐

2个字段也不应同名。

建议用ACCESS OR DBF 数据库
Qqian 2003-02-12
  • 打赏
  • 举报
回复
谢谢各位!!!求对文件读写高手相助,谢谢!!!!
绝缘 2003-02-11
  • 打赏
  • 举报
回复
to: verybelial(顶级狙击手)

你是CS高手吗?哪天请教两枪啊!
verybelial 2003-02-11
  • 打赏
  • 举报
回复
up
龙华 2003-02-11
  • 打赏
  • 举报
回复
主要用split和left函数
guangxiluye 2003-02-11
  • 打赏
  • 举报
回复
读取数据有这么复杂吗?
建意小妹您还不如在网上找找读取数据方面的例子看看!!
linfuyong 2003-02-11
  • 打赏
  • 举报
回复
你的信誉分是怎么降下去的
Qqian 2003-02-11
  • 打赏
  • 举报
回复
请求大家帮助!!!谢谢!!!
ccbl 2003-02-11
  • 打赏
  • 举报
回复
up
13161795500 2003-02-10
  • 打赏
  • 举报
回复
up!抢分!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧