|
▼さつき さん:
おはようございます。
下テーブルのフィールド数に変更がないのであれば
ワーク用のテーブルとして使うのもありだと思われますが、
上テーブルの結果によって可変するものであると
下テーブルに伴うクエリ・フォーム・レポート・モジュールと
大幅な変更が必要となってしまいます。
ご提示されたのは例としてあげているとの事で実際どのようなデータが
入るかは解りませんが、そのワークテーブルを何に使うのかによっては
もうちょっと良い方法があるかもしれません。
下記コードについてですが、
> Do Until rs1.EOF
>
> If IsNull(rs1.Fields("区分").Value) = True Then
> rs1.MoveNext
> Else
> If keiyakusha <> rs1.Fields("契約者").Value Then
> j = 1
> rs2.AddNew
> rs2.Fields("契約者") = rs1.Fields("契約者")
> For i = 1 To 3
> rs2.Fields(j) = rs1.Fields(i)
> j = j + 1
> Next i
> rs2.Update
> Else
> j = j + 4
> rs2.AddNew
> For i = 1 To 3
> rs2.Fields(j) = rs1.Fields(i)
> j = j + 1
> Next i
> rs2.Update
> End If
> keiyakusha = rs1.Fields("契約者").Value
> End If
> rs1.MoveNext
> Loop
今のままですとうまくいかないと思いますので、
「rs2」に対して「FindFirst」メソッドを使い、
結果が「Nomatch」プロパティの値が「True」でしたら「AddNew」で
「False」でしたら「Edit」で開いて「Update」すれば良いと思われます。
|
|