如何在新列中的 For 循环生成的列之一中获取最终值?
How to get the final value in one of the columns generated by For Loop in a New Column?
我正在使用 VBA。我程序中的 For() 循环是:
For i = 5 To 23
Status$ = GetScreen(4,i,3)
DateofDPS$=GetScreen(12,i,8)
TimeofStatus$=GetScreen(23,i,8)
TypeofDPS$=GetScreen(34,i,8)
Tech$=GetScreen(41,i,8)
techName$=GetScreen(50,i,30)
If Asc(GetScreen(43,i,6))<>32 Then
Write #OutputFile, DPSNo$, Status$,DateofDPS$,TimeofStatus$,TypeofDPS$,Tech$,techName$
Else
End If
Next i
存储在#OutputFile 中的结果是
Num | STAT | DAT | TIM | TYP | TEC | techName
----+-----------+---------------+---------------+-------+-------+------------
477 | P | 12/17/2014 | 17:20:34 | EX | 175 | UME
477 | I | 12/17/2014 | 17:40:47 | EX | 255 | VIN
477 | O | 12/17/2014 | 17:40:58 | EX | 255 | VIN
804 | P | 12/11/2014 | 11:01:39 | EX | 207 | KAU
804 | I | 12/11/2014 | 14:34:07 | EX | 253 | JOS
804 | O | 12/11/2014 | 14:34:26 | EX | 253 | JOS
402 | P | 11/13/2014 | 22:08:50 | EX | 243 | SHA
402 | I | 11/14/2014 | 05:04:04 | EX | 247 | LAK
402 | O | 11/14/2014 | 05:04:08 | EX | 247 | LAK
我想添加另一列 finalAction,结果应如下所示:
Num | STAT | DAT | TIM | TYP | TEC | techName | finaAction
----+-----------+---------------+---------------+-------+-------+---------------+-------------
477 | P | 12/17/2014 | 17:20:34 | EX | 175 | UME | VIN
477 | I | 12/17/2014 | 17:40:47 | EX | 255 | VIN | VIN
477 | O | 12/17/2014 | 17:40:58 | EX | 255 | VIN | VIN
804 | P | 12/11/2014 | 11:01:39 | EX | 207 | KAU | JOS
804 | I | 12/11/2014 | 14:34:07 | EX | 253 | JOS | JOS
804 | O | 12/11/2014 | 14:34:26 | EX | 253 | JOS | JOS
402 | P | 11/13/2014 | 22:08:50 | EX | 243 | SHA | LAK
402 | I | 11/14/2014 | 05:04:04 | EX | 247 | LAK | LAK
402 | O | 11/14/2014 | 05:04:08 | EX | 247 | LAK | LAK
For() 循环写入平面文件。
我想在 techName 列中添加最终名称并重复相同的操作。
有什么办法吗?
第一个想到的选项:
创建一个变量来保存 "LastDPONo"
然后观察当前记录 DPONo$ 和 "LastDPONo" 值之间的变化。
发生更改时,您会找到该 DPONo$ 的最后一条记录,然后您可以识别分配给该 DPSNo$ 的最后更新的 Tech$
您要么需要在将行写出到输出文件之前识别正确的 Tech$,要么在找到 Tech$ 值后必须修改输出文件。
如果您希望首先识别 Tech$,您可以将数据写入
查找最后一行时将每一行添加到数组或记录集中
DPSNo$ 的连续行以找到您需要的 Tech$。一旦您
找到您可以循环遍历数组或记录集的 Tech$
创建并写入数组或记录中每个实体的值
将记录集添加到输出文件中,最后添加 Tech$。
要修改文本文件,您可以添加一个额外的列,然后修改
此处概述的方法:
http://software-solutions-online.com/2014/03/15/vba-modify-existing-text-file/#Jump2
我正在使用 VBA。我程序中的 For() 循环是:
For i = 5 To 23
Status$ = GetScreen(4,i,3)
DateofDPS$=GetScreen(12,i,8)
TimeofStatus$=GetScreen(23,i,8)
TypeofDPS$=GetScreen(34,i,8)
Tech$=GetScreen(41,i,8)
techName$=GetScreen(50,i,30)
If Asc(GetScreen(43,i,6))<>32 Then
Write #OutputFile, DPSNo$, Status$,DateofDPS$,TimeofStatus$,TypeofDPS$,Tech$,techName$
Else
End If
Next i
存储在#OutputFile 中的结果是
Num | STAT | DAT | TIM | TYP | TEC | techName
----+-----------+---------------+---------------+-------+-------+------------
477 | P | 12/17/2014 | 17:20:34 | EX | 175 | UME
477 | I | 12/17/2014 | 17:40:47 | EX | 255 | VIN
477 | O | 12/17/2014 | 17:40:58 | EX | 255 | VIN
804 | P | 12/11/2014 | 11:01:39 | EX | 207 | KAU
804 | I | 12/11/2014 | 14:34:07 | EX | 253 | JOS
804 | O | 12/11/2014 | 14:34:26 | EX | 253 | JOS
402 | P | 11/13/2014 | 22:08:50 | EX | 243 | SHA
402 | I | 11/14/2014 | 05:04:04 | EX | 247 | LAK
402 | O | 11/14/2014 | 05:04:08 | EX | 247 | LAK
我想添加另一列 finalAction,结果应如下所示:
Num | STAT | DAT | TIM | TYP | TEC | techName | finaAction
----+-----------+---------------+---------------+-------+-------+---------------+-------------
477 | P | 12/17/2014 | 17:20:34 | EX | 175 | UME | VIN
477 | I | 12/17/2014 | 17:40:47 | EX | 255 | VIN | VIN
477 | O | 12/17/2014 | 17:40:58 | EX | 255 | VIN | VIN
804 | P | 12/11/2014 | 11:01:39 | EX | 207 | KAU | JOS
804 | I | 12/11/2014 | 14:34:07 | EX | 253 | JOS | JOS
804 | O | 12/11/2014 | 14:34:26 | EX | 253 | JOS | JOS
402 | P | 11/13/2014 | 22:08:50 | EX | 243 | SHA | LAK
402 | I | 11/14/2014 | 05:04:04 | EX | 247 | LAK | LAK
402 | O | 11/14/2014 | 05:04:08 | EX | 247 | LAK | LAK
For() 循环写入平面文件。
我想在 techName 列中添加最终名称并重复相同的操作。
有什么办法吗?
第一个想到的选项:
创建一个变量来保存 "LastDPONo" 然后观察当前记录 DPONo$ 和 "LastDPONo" 值之间的变化。
发生更改时,您会找到该 DPONo$ 的最后一条记录,然后您可以识别分配给该 DPSNo$ 的最后更新的 Tech$
您要么需要在将行写出到输出文件之前识别正确的 Tech$,要么在找到 Tech$ 值后必须修改输出文件。
如果您希望首先识别 Tech$,您可以将数据写入 查找最后一行时将每一行添加到数组或记录集中 DPSNo$ 的连续行以找到您需要的 Tech$。一旦您 找到您可以循环遍历数组或记录集的 Tech$ 创建并写入数组或记录中每个实体的值 将记录集添加到输出文件中,最后添加 Tech$。
要修改文本文件,您可以添加一个额外的列,然后修改 此处概述的方法: http://software-solutions-online.com/2014/03/15/vba-modify-existing-text-file/#Jump2