| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1866 人关注过本帖
标题:菜鸟请教:怎样用VB提取文本文件内的数据到数据表中?
只看楼主 加入收藏
smthejingao
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-7-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
菜鸟请教:怎样用VB提取文本文件内的数据到数据表中?
[RelativePriority]
IDNUM Pri_SEQ Sec_SEQ MODE

[MultiPriorityBlock]
IDNUM CNO SEQ POS MODE

[RelativePriorityBlock]
IDNUM Pri_SEQ Sec_SEQ MODE

[BlockData]
IDNUM O X Y A PARTS BRM C M F PR MB PRISEQ
1 1 69.050 14.500 180.000 31 0 "A" 0 0 1000 0 0
2 1 138.850 169.750 0.000 24 0 "B" 0 0 1000 0 0
3 1 141.110 169.750 0.000 96 0 "C" 0 0 1000 0 0
4 1 121.850 173.050 -90.000 61 0 "D" 0 0 1000 0 0
5 1 156.790 169.800 180.000 1 0 "E" 0 0 1000 0 0
6 1 154.590 169.700 180.000 1 0 "F" 0 0 1000 0 0
7 1 143.650 169.750 180.000 2 0 "G" 0 0 1000 0 0
8 1 148.050 169.850 0.000 3 0 "H" 0 0 1000 0 0
9 1 138.700 176.600 0.000 4 0 "I" 0 0 1000 0 0
10 1 139.010 165.200 180.000 5 0 "J" 0 0 1000 0 0

[VPaletteData]
IDNUM N TRAY X Y ROT

[MultiBlock]
IDNUM RMODE
1 0
以上的文本只是一部分,我要提取[BlockData]的数据到数据表中,谢了!
搜索更多相关主题的帖子: 文本文件 数据表 
2016-07-11 20:28
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:5 
你的意思是将[BlockData]--IDNUM O X Y A PARTS BRM C M F PR MB PRISEQ 中的数据提取到 [RelativePriority]--IDNUM Pri_SEQ Sec_SEQ MODE、[MultiPriorityBlock]--IDNUM CNO SEQ POS MODE、[RelativePriorityBlock]--IDNUM Pri_SEQ Sec_SEQ MODE、[VPaletteData]--IDNUM N TRAY X Y ROT、[MultiBlock]--IDNUM RMODE 中吧,但是,你的字段名称不对应,除IDNUM名称外均不对应,因此无法给你回答。

请不要选我!!!
2016-07-12 09:06
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:5 
如果只是这么一点数据,而且不是重复的来做的话。我建议直接用excel导入数据,分隔符选择空格应该就可以了。
如果不是,可以逐行读入,line input。 split和判断之后逐个字段填入。
程序代码:
Open Filename for input as #1
Dim DataTitle as boolean   '读取到相关数据的判断变量
Do while not EOF(1)

 line input #1,a 

 if instr(a,"[BlockData]")>0 then   
     line input #1,a  '跳过字段名这行
     line input #1,a  
     DataTitle =true 

 Elseif a="" then 
     DataTitle =False '当遇到空行,数据已经读取完成。 根据实际修改
 End if 


 if DataTitle then 
  Dim aa()
  aa=split(a," ") '以空格来拆分
  ' 插入新纪录的语句
  For i=lbound(aa) to ubound(aa)
    if trim(aa(i))<>"" then   '如果分割的时候是多个空格,可能出现aa(i)为空的情况,需要判断
      '给新纪录条字段赋值的语句
      '注意:aa(i)是字符,需要根据字段类型转变类型。 另外 "A"应该存A即可以,也需要处理一下
    End if 
  Next i
  'Update RecordSet
 End if
Loop
Close #1

2016-07-12 10:56
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:5 
這種提取方式事倍功半,用excel好啦。

来找我试试看
2016-07-12 14:54
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 4楼 pengzhanggui
对的。不过,一看他的数据量大小,如果很多的话,而且分布在不同的位置,那样手动还需要很多操作。未必就快了
第二,从学习VB的程度,还是自己编写一段代码好,以后相似的工作改改就可以用了。
2016-07-12 16:07
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
Open App.Path + "1.txt" For Input As 1
Input #1, <接受数据的变量名>

好像一次是读取一行,试一下就知道了
2016-07-13 16:46
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

非常简单,联系我。

请不要选我!!!
2016-07-14 13:51
smthejingao
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-7-11
收藏
得分:0 
谢谢,这要的就这样的结果,用VB提取文本文件内的数据到BlockData数据表中有程序代码吗?谢了
2016-07-14 21:21
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:0 
回复 7楼 ZHRXJR
txt文档与execl 可以直接相互映射?

来找我试试看
2016-07-15 14:28
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
回复 9楼 pengzhanggui
可以,但是前提是文本文件必须是有规律的。

请不要选我!!!
2016-07-16 12:43
快速回复:菜鸟请教:怎样用VB提取文本文件内的数据到数据表中?
数据加载中...
 
   



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

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