我想用VB读取dat文件的每一行要怎么弄?

比如我窗体上有七个文本框text1,text2,text3,text4,text5,text6,text7,两个按钮command1,command2,一个选择框comb... 比如我窗体上有七个文本框text1,text2,text3,text4,text5,text6,text7,两个按钮command1,command2,一个选择框combo1。
我想单击command1按钮保存一个以text1为标题,text2,text3,text4,text5,text6为内容的dat文件。
text2,text3,text4,text5,text6各占一行。
在text7内输入文本后,单击command2按钮,按任意一种查询,都可以读取文件。读取的资料分别显示在text1,text2,text3,text4,text5,text6中。
如图:

如果dat无法实现,其他的要怎么用?
用access我倒是会,就是如果电脑上没安装的话就不可以用了。
展开
 我来答
nikkyu
推荐于2016-03-05 · 超过35用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:64.2万
展开全部
Private Sub Command1_Click()
Open app.path & "\" & text1.text & ".dat" For input As #1
Print #1, text2.text
Print #1, text3.text
Print #1, text4.text
Print #1, text5.text
Print #1, text6.text

Close #1
end sub
查询里边有点问题的,以姓名查询可以其他的因为在文件的内部,存储的方式要变化一下
实际上你是要用dat文件来代替数据库的功能,就要按照楼上说的那种方式来存储数据了,建立一个标准的ini文件作为你的数据库
声明两个api函数来读取写入数据
'读取配置文件
Public Declare Function GetPrivateProfileString& _
Lib "kernel32" _
Alias "GetPrivateProfileStringA" (ByVal AppName As String, _
ByVal KeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnString As String, _
ByVal nSize As Long, _
ByVal FileName As String)
'写入配置文件
Public Declare Function WritePrivateProfileString& _
Lib "kernel32" _
Alias "WritePrivateProfileStringA" (ByVal AppName$, _
ByVal KeyName$, _
ByVal keyDefault$, _
ByVal FileName$)

另外告诉你 用access 就可以了,没有安装的机器上也可以用,只是打不开,vb访问没有问题的
追问
没有安装access的机器上,VB也可以访问access表?
。。。我没试过,还以为不可以呐!
149005501
推荐于2016-02-29 · TA获得超过8.6万个赞
知道顶级答主
回答量:7.9万
采纳率:90%
帮助的人:1.3亿
展开全部

用OPEN打开,用LINE读取每一行即可。

代码如下:

open "C:\1.dat" for input as #1 '打开C:\1.dat,文件号1
do while not eof(1) '文件循环读取到结束
line input #1,temp '读取一行到temp中
'Text1 = text1 & temp '将这一行放到TEXT控件中。按实现需要
Loop '未结束,继续读取
Close #1 '关闭
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
四十五度的主人
2012-08-16 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:136
采纳率:100%
帮助的人:137万
展开全部
'试试这个
Option Explicit
Private Sub Command1_Click()
Dim path1 As String
Dim a As String
a = Text2.Text + vbCrLf
a = a + Text3.Text + vbCrLf
a = a + Text4.Text + vbCrLf
a = a + Text5.Text + vbCrLf
a = a + Text6.Text + vbCrLf
path1 = App.Path + "\" + Text1.Text + ".dat"
'保存文本
Open path1 For Output As #1
Print #1, a
Close #1
MsgBox "保存完成"
End Sub
Private Sub Command2_Click()
Dim path1 As String
Dim sHang As String
Dim sText As String
Dim m
path1 = App.Path + "\" + Text7.Text + ".dat"
'读文本
Open path1 For Input As #1
Do While Not EOF(1)
Line Input #1, sHang
sText = sText + sHang + "`"
Loop
Close #1
m = Split(sText, "`")
Text2.Text = m(0)
Text3.Text = m(1)
Text4.Text = m(2)
Text5.Text = m(3)
Text6.Text = m(4)
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友770eb8bca
2012-08-16 · TA获得超过240个赞
知道小有建树答主
回答量:647
采纳率:50%
帮助的人:230万
展开全部
担心这么多,就用ini文件呗
还可以先判断指定的目录下是否有你要的ini文件,没有就新建一个,然后往里面写
ini读写可以百度一下,每条信息都有个标题,有个头~~~~~~一两句话也说不清楚,反正读写很方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式