说明你代码的逻辑有问题。
你查询dr2的条件是: "服务名称 = '" & v & "' And 拥有次数 > 0"
即使你增加一行: Drw = DataTables("服务包明细").AddNew()
新增行也不影响查询查询条件的成立啊,所以第一次刷卡增加行的话,第二次刷卡肯定还会增加行。
先理清楚其中的逻辑关系再提问吧,这种关系只有你自己清楚,别人无能为力的。