标题:VB中怎样将外部数据(如:*.txt,excel)导入控件text1中做查询条件!
取消只看楼主
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
结帖率:100%
已结贴  问题点数:20 回复次数:13 
VB中怎样将外部数据(如:*.txt,excel)导入控件text1中做查询条件!
如题。如:*.txt 中有两行内容,第一行“张三”,第二行“李四” 怎样导入到查询窗体text1中,点查询按钮后做2次(或批量)查询,读取到张三查询从ACCESS数据库的个人信息结果输入到显示控件的第一行,读取到李三查询从ACCESS数据库的个人信息结果输入到显示控件的第二行.... 要是文本文件中有N行呢?需要自动循环做条件查询。 假设:文本文件为 Text.txt
-----------------------

Private Sub Command1_Click()

Dim str1 As String
Text1 = ""
CommonDialog1.ShowOpen
Dim strTest As String, lstr As String
Dim fname As String, fnum As Integer
Dim arrList(1000) as string
  fname = "......\Text.txt"  'Text.txt的绝对路径
  fnum = FreeFile               '获取文件号
 Open fname For Input As #fnum 打开对话框后点取消这行红色 提示路径未找到
  Do Until EOF(fnum)
    Line Input #fnum, lstr
    Text1.Text = Text1 & strTest & lstr & vbCrLf
  Loop
  Close fnum
End Sub
------------------------------------
不对吖。

[ 本帖最后由 豆豆17373 于 2012-11-3 08:34 编辑 ]
搜索更多相关主题的帖子: 文本文件 excel 个人信息 数据库 
2012-11-02 17:47
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
以下是引用Artless在2012-11-2 23:29:43的发言:


那里不对?


Private Sub Command1_Click()

Dim str1 As String
Text1 = ""
CommonDialog1.ShowOpen
Dim strTest As String, lstr As String
Dim fname As String, fnum As Integer
Dim arrList(1000) as string
  fname = "......\Text.txt"  'Text.txt的绝对路径
  fnum = FreeFile               '获取文件号
Open fname For Input As #fnum 打开对话框后点取消这行红色 提示路径未找到
  Do Until EOF(fnum)
    Line Input #fnum, lstr
    Text1.Text = Text1 & strTest & lstr & vbCrLf
  Loop
  Close fnum
End Sub

打开对话框后点取消这行红色 提示路径未找到

[ 本帖最后由 豆豆17373 于 2012-11-3 08:34 编辑 ]
2012-11-03 08:14
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
以下是引用Artless在2012-11-3 10:50:49的发言:

fname = "......\Text.txt"?


老师您好!。刚学 还需请教。我重写了下。
----------------------
On Error GoTo ErrHandler
'设置过滤器。
CommonDialog1.Filter = "Text _Files (*.txt)|*.txt"
'指定缺省过滤器。
CommonDialog1.FilterIndex = 2
'显示“打开”对话框。
CommonDialog1.ShowOpen
'调用打开文件的过程。
Open "f:\d.txt" For Input As #1
RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1

 上面红色部分如果不知道具体地址,怎么写(只会写具体路径简单的,对话框老写不好出错就是用上面打开的对话框选文本文件,求助?我用了StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件,


Exit Sub
ErrHandler:
'用户按“取消”按钮。
Exit Sub

[ 本帖最后由 豆豆17373 于 2012-11-3 11:10 编辑 ]
2012-11-03 11:09
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
或者 打开对话框 获取绝对路径  把它用变量 Open "变量路径\*.txt" For Input As #1

可以 吗?求教老师
2012-11-03 11:16
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
搞不好吖。 结合我的例子给出完整的代码吧。 老师
2012-11-03 12:18
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
我把获取路径和文件名做好了,Text1.Text = 获取路径和文件名了

怎么把下面的。"f:\d.txt" 用 Text1.Text代替吖
Open "f:\d.txt" For Input As #1
RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
2012-11-03 13:14
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
Open " + Text1.Text + " For Input As #1
     RichTextBox2.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1

这样不行吗?
2012-11-03 13:16
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
Dim ePath As String, M As Integer
 Dim eName As String, N As Integer
CommonDialog1.Filter = "文本文件(*.txt)|*.txt|inp文件(*.inp)|*.inp|所有文件(*.*)|*.*"
  CommonDialog1.ShowOpen
  If CommonDialog1.FileName = "" Then Exit Sub
  ePath = Left(CommonDialog1.FileName, InStr(1, CommonDialog1.FileName, CommonDialog1.FileTitle) - 1)  'ePath 获取文件的路径
  eName = CommonDialog1.FileTitle   'eName 获取文件名字
  Text1.Text = CommonDialog1.FileName
2012-11-03 13:17
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
哦,是这样的语法吖。 我还加了个“+”号
2012-11-03 13:28
豆豆17373
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-11-2
得分:0 
老师,您好!,现在想跟您学习下,如何 用数组循环 依次逐行读取文本文件中的内容赋值给一个变量 呢?
2012-11-03 14:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-385687-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034735 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved