根据与Excel自动填充类似的先前行信息向下填充数据

时间:2014-04-10 20:45:28

标签: ms-access

我有一个包含3个字段的MS Access数据库表。我需要使用前一行/记录的第3个字段的结果填充第4个字段。但是我需要它继续填充相同的结果,直到满足字段1中的某些条件,然后它应该更改正在填充的内容并开始填充新结果。

现有数据示例

    ID--Field1--Field2
    01-----A-----ACH
    02-----H-----7
    03-----D-----Sun
    04-----A-----DTD
    05-----H-----123456
    06-----T-----9
    07-----B-----Moon
    08-----P-----1
    09-----A-----EBX
    10-----H-----Stars
    11-----T-----25
    12-----B-----97Street

我希望数据填充字段3,每行中的结果相同,直到字段1中的条件=“A”,然后更改为字段2用于下一组。 (很难解释抱歉)

我想要的例子:

    ID--Field1--Field2---Field 3
    01-----A-----ACH-----ACH
    02-----H-----7-------ACH
    03-----D-----Sun-----ACH
    04-----A-----DTD-----DTD
    05-----H-----123456--DTD
    06-----T-----9-------DTD
    07-----B-----Moon----DTD
    08-----P-----1-------DTD
    09-----A-----EBX-----EBX
    10-----H-----Stars---EBX
    11-----T-----25------EBX
    12-----B-----97St----EBX

我构建了一个执行此操作的查询,但因为它太麻烦而锁定了系统。

Field3:IIf([field1] =“A”,[field2],(DLookUp(“[Field3]”,“Query1”,“[ID] =”& [ID] -1)))

基本上我使用If语句来获取更改应该发生的时间,并使用Dlookup来提取字段3的前一行中的内容。您可以看到处理数百条记录时可能很麻烦的原因。

我搜索了很多资源,发现解决方案和sql代码存在类似的问题来提取先前的信息,但似乎无法找到一个解决方案,直到在字段1中找到下一个“A”时才会填充。

请帮忙!!!感谢

0 个答案:

没有答案