Vba 使用以前记录中的值更新空表值

Vba 使用以前记录中的值更新空表值,vba,ms-access,Vba,Ms Access,有一个名为sample的表,它有两列id和id2。id2上的某些记录用数字填充,但有些记录为空。所以我需要用和他们最近的记录相同的数字来填充他们。也就是说,如果id2上的每条记录都不是空的,则转到下一条记录,如果id2上的每条记录都是空的,则用上一条记录填充它。如何使用vba执行此操作 样品 id id2 1 100 2 3 500 4 600 5 6 800 抽样调查结果 id id2 1 100 2 100 3

有一个名为sample的表,它有两列id和id2。id2上的某些记录用数字填充,但有些记录为空。所以我需要用和他们最近的记录相同的数字来填充他们。也就是说,如果id2上的每条记录都不是空的,则转到下一条记录,如果id2上的每条记录都是空的,则用上一条记录填充它。如何使用vba执行此操作

样品

id    id2
1     100
2     
3     500
4     600
5     
6     800
抽样调查结果

id    id2
1     100
2     100
3     500
4     600
5     600
6     800

在Access中,我不确定是否可以用纯SQL完成,但我认为这应该可以让您接近您想要的:

UPDATE sample AS s
SET    s.id2 = Dmax("id2", "sample", "id <" & [s].[id])
WHERE  (( ( s.id2 ) IS NULL )); 
将样本更新为s

设置s.id2=Dmax(“id2”、“示例”、“id”为什么是VBA,为什么不是更新查询?是否可以只使用更新查询?