Access交流中心

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

从文件尾向上读取

chinasa  发表于:2014-05-20 15:38:08  
复制

我有下面两个文件,格式固定,需要根据两份文件相同的内容(如:CMAU5575907)把文件2中橙色部分替换掉(如:CNNGB替换成XXXXX)。

文件2的格式说明:“12:”至“51:”循环,“99:”结束。

我使用如下语句读取文件2,但是存在的问题是:我需要修改的内容在“12:”中,而更改后的内容需要根据“51:”中内容到文件1中取。我如果逐行向下读取的话,“12:”先读到,无法对12记录进行更新。不知道如何解决这个问题?比如:从文件尾向上读取?或者有什么更简单有效的办法?

           strTemp = Input(1, #1)
           If strTemp <> Chr(10) And strTemp <> Chr(13) Then    '文件中有换行符和回车符,要把这些特殊字符去掉。
           edictbl = edictbl & strTemp     

           End If

 

 

文件1:

CMAU5575907  XXXXX

TCKU1919620  YYYYY

 

文件2:

12:MUC0122817::::::DEHAM:HAMBURG:CY-CY:P:::::'
13:CNNGB:NINGBO:CNNGB:NINGBO:::::'
16::GROUP 7 AGINTERNATIONAL LOGISTICS:EMMERICHER STR. 290411 NURNBERG::::'
41:1::60:PK:PACKAGE:14278.35::40.000'
47:60 COLLI : THC COLLECTGENERAL CMA CGM TERMS AND CONDITIONS TO BE FOUNDUNDER WW:W.CMA-CGM.COM::'
51:1:CMAU5575907:326416;FE326416:45G0:F:60:14278.35:3860:40.000::::::'
12:TZ3257003::::::TZDAR:DAR ES SALAAM:CY-CY:P:::::'
13:CNNGB:NINGBO:CNNGB:NINGBO:MYPKG:PORT KELANG:::'
16::VIN METAL SYNERGIES FZCO'
41:1::13:BE:BUNDLE:26200.00::25.000'
44:FCL/FCL:::::::::'
47:04 X WEIGHT?:104,569.00 KGSFREIGHT :PREPAIDDTHC COLLECTSHIPPERS LOAD,STOW,WEIGH & COUNT:'
41:2::13:BE:BUNDLE:26209.00::25.000'
51:1:ECMU1748400:B6997471:22G0:F:13:26200.00:2230:25.000::::::'
51:2:TCKU1919620:B7002403:22G0:F:13:26209.00:2230:25.000::::::'
51:3:CAIU3249257:B7002402:22G0:F:13:26195.00:2230:25.000::::::'
99:76'

 

Top
chinasa 发表于:2014-05-20 16:56:54

把问题总结为一句话:是否有办法象LINE INPUT#一样读取文本文件,但要从结尾向上读。



chinasa 发表于:2014-05-20 17:13:08
自己想了个笨方法,按照正常的顺序读取,把12记录保存在一个变量中,把后面的记录保存在另一个变量中,当读到51记录后修改12记录的变量,然后再输入12记录以及后面记录的变量值。

chinasa 发表于:2015-04-27 16:39:05

谁能帮助回复一下,我需要结贴,否则无法发新贴。

或者能帮我解决下面的额问题:

休假: DLookUp("开始日期","休假","中文姓名 ='" & [姓名] & "'and 开始日期=#" & [日期] & "#")

上面这句话,我需要增加一个检索条件怎么增加?我现在是日期=开始日期,我需要 日期在开始日期和结束日期之间(如果等于开始日期或结束日期也在统计范围内)。应该采取大于等于开始日期,小于等于结束日期就可以了,但这么简单的事情我就是不会,主要是对标点符号不会用,长期使用查询向导的结果,导致不会写语句啊。



煮江品茶 发表于:2015-04-27 16:44:26
DLookUp("开始日期","休假","中文姓名 ='" & [姓名] & "' and 开始日期<=#" & [日期] & "# and 结束日期>=#" & [日期] & "#")

chinasa 发表于:2015-04-27 16:45:00

感谢煮版,您帮助我最多啦。



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