Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]请VBA高手赐教!如何将下例文本导入为ACCESS格式?

James Mark  发表于:2010-06-24 14:32:24  
复制

请VBA高手赐教!如何将下例文本导入为ACCESS格式?
主要问题:
1、导入时需要逐行处理文本内容;
2、第1-11行跳过,第12-63行每四行为一条记录,第64-68行跳过。
3、每条记录包含四行文本信息,导入时需要把第二、三行中包含的收(付)款人姓名、开户银行信息整合到第一行中,形成一条记录。第四行跳过。
4、每68行为一页,按上述规则循环处理。

ACCESS表字段:
序号   柜员流水 交易金额  凭证代号   邮路  付款人账号 付款人名      付款人开户行            收款人账号        收款人名 收款人开户行
00001  99950004   700.00  274012887  同城  3490128839  王刚    浦发银行上海分行专业处理中心 4392268003973907   王刚   招商银行股份有限公司上海分行

文本样例请直接下载附件

点击下载此附件

 

Top
煮江品茶 发表于:2010-06-24 16:07:09
如果没什么规律,复制粘贴为妙。

gotopx 发表于:2010-06-24 20:59:13
这个比较有难度呵

James Mark 发表于:2010-06-25 09:44:54

还望高手现身,不吝赐教!



萧云 发表于:2010-06-26 22:12:42

帮不上太多的忙,帮你分析一下吧。

 

前提条件:每页格式固定。

 

已知条件:每页68行,说明最大的循环次数是68次

          第1-11行跳过,说明在循环中的11次(包含第11次)不用做任何操作。

          第12-63行每四行为一条记录,说明从第12次到63次的52次循环中还有一个条件,就是每四行要确认为一条记录,那么就需要在这里嵌套一个小循环,即判断每四次循环操作确认并插入一条记录。

          每条记录包含四行文本信息,导入时需要把第二、三行中包含的收(付)款人姓名、开户银行信息整合到第一行中,形成一条记录。第四行跳过。这里的关键是如何将每个字段抽取出来,看来你提供的数据样本中是使用空格来做为分隔符,那么就需要用字符串对比查找的相关函数来实现这一目标,最后将得到的字符串存储在数据组中或指定的数据结构体中,最后将抽取出来的数据使用insert into 语句插入到数据库中。
          第64-68行跳过,说明从64次到68次的循环不做任何操作。

 

 



王樵民 发表于:2010-06-28 13:33:40

帮你做了一个示例,能挽住你的要求,首先将你的文本文件导入到数据库中,按默认方式导入,一条记录表示原来文本文件的一行,然后单击窗体1中的数据转换按钮即可,具体请参见附件。

 

点击下载此附件

王樵民 发表于:2010-06-28 13:35:23

能满足你的要求

 



总记录:6篇  页次:1/1 9 1 :