关于Listview1 读取本地文件
Private Sub cmdOK_Click()
Static num As Integer
Dim itmx As ListItem
Dim i As Integer
Dim ReadText As String
If txtName.Text = "" Then
MsgBox "姓名不能为空!", vbExclamation, "警告"
ElseIf txtTel.Text = "" Then
MsgBox "电话不能为空!", vbExclamation, "警告"
Else
If txtMail.Text <> "" Then
If InStr(txtMail.Text, "@") Then
i = 1
Else
i = 0
End If
If i = 0 Then
MsgBox "邮箱格式错误", vbExclamation, "警告"
Else
Set itmx = frmAll.lvw.ListItems.Add(, , num)
itmx.SubItems(1) = (txtName.Text)
itmx.SubItems(2) = (cmbSex.Text)
itmx.SubItems(3) = (txtTel.Text)
itmx.SubItems(4) = (txtMail.Text)
Open "Data.db" For Append As #1
Print #1, txtName.Text; vbCrLf & _
cmbSex.Text; vbCrLf & _
txtTel.Text; vbCrLf & _
txtMail.Text
Close #1
Unload Me
num = num + 1
End If
Else
Set itmx = frmAll.lvw.ListItems.Add(, , num)
itmx.SubItems(1) = (txtName.Text)
itmx.SubItems(2) = (cmbSex.Text)
itmx.SubItems(3) = (txtTel.Text)
itmx.SubItems(4) = (txtMail.Text)
Open "Data.db" For Append As #1
Print #1, txtName.Text; vbCrLf & _
cmbSex.Text; vbCrLf & _
txtTel.Text; vbCrLf & _
txtMail.Text
Close #1
Unload Me
num = num + 1
End If
End If
End Sub
这段代码是将数据写入Data.db文件里。
如果我想让lvw(即ListView1)从Data.db里将姓名、性别、电话、邮箱等数据完整的读取出来,请问各位代码应该怎样写?
问题点数:50、回复次数:3Top
1 楼of123()回复于 2006-05-02 17:19:54 得分 0
你现在的一条记录是分四行保存的,建议一条记录保存为一行:
Open "Data.db" For Append As #1
Print #1, txtName.Text, _
cmbSex.Text, & _
txtTel.Text, & _
txtMail.Text
Close #1
这样读取就更简单:
Dim strLine As String, strArr() As String
Open "Data.db" For Input As #1
Do Until EOF(1)
Input Line #1, strLine
strArr = Split(strLine, vbTab)
Set itmx = frmAll.lvw.ListItems.Add(, , num)
itmx.SubItems(1) = strArr(0)
itmx.SubItems(2) = strArr(1)
itmx.SubItems(3) = strArr(2)
itmx.SubItems(4) = strArr(3)
num = num + 1
Loop
Close #1
Top
2 楼trucky(Et)回复于 2006-05-02 19:20:11 得分 0
这样依然不行,总是提示
itmx.SubItems(1) = strArr(0)
itmx.SubItems(2) = strArr(1)
itmx.SubItems(3) = strArr(2)
itmx.SubItems(4) = strArr(3)
这里的下标值超出。Top
3 楼trucky(Et)回复于 2006-05-02 19:45:25 得分 0
原因找到了,如果按你那样保存的话,两者数据中间同样也产生不了Tab效果。
如果每次保存的数据中间隔有Tab键的话那一切正常。Top




