vb 数据文件编程求助

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:52:20
要求建立图书管理数据。包括号码,作者,价格,出版日期,把这些数据写入一个文件中。文件建立后,按照号码从小到大输出。建立文件我会了,可是要怎么在文件中读出记录的首项进行大小比较呢。这里输入的记录个数是不定的,谢谢各位了。
我只编到了下面这个程度

Type book
number As Double
writer As String
price As Double
date As Double
End Type

Dim hon As book
Option Base 1

Dim a()

Private Sub Form_Click()
Static i As Integer
Dim yesorno As Boolean
yesorno = True

Open "c:\abc.txt" For Random As #1
Do Until yesorno = False

hon.number = InputBox("number")
hon.writer = InputBox("writer")
hon.price = InputBox("price")
hon.date = InputBox("date")

i = i + 1
Put #1, i, hon

n = MsgBox("continue?", vbYesNo)
If n = 7 Then yesorno = False
Loop
Close #1

End Sub
读数据倒是会读,循环比较也会,就是不知道怎么把号码单独读出来,最后怎么再把记录重新排序,呼唤高手

要排序,
用数据库要简单点
文件就太复杂了
十本书的排序,你改改吧
插入法排序要快写,但冒泡排序简单些
所以用冒泡了

Private Type Book
Number As Double
Writer As String
Price As Double
Date As Double
End Type

Private Sub Form_Click()
Dim a(9) As Book
For i = 0 To 9
a(i).Number = Int(Rnd * 100)
Next i
Dim t As Book
For i = 0 To 9 - 1
For j = 9 To i + 1 Step -1
If a(j - 1).Number > a(j).Number Then
t.Number = a(j - 1).Number
t.Writer = a(j - 1).Writer
t.Price = a(j - 1).Price
t.Date = a(j - 1).Date
a(j - 1).Number = a(j).Number
a(j - 1).Writer = a(j).Writer
a(j - 1).Price = a(j).Price
a(j - 1).Date = a(j).Date
a(j).Number = t.Number
a(j).Writer = t.Writer