クエリで実行した内容をADOで実行します。
コードは以下の通りです。
Private Sub コマンド13_Click()
Dim a As Integer
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open “納品書サブ”, cnn, adOpenKeyset, adLockOptimistic
rs.MoveFirst
Do Until rs.EOF
rs!順番2 = DCount(“*”, “納品書サブ”, “納品書NO=” & Forms!納品書メイン!納品書NO & “” & ” and ” & “順番<=" & rs!順番 & "")
rs.Update
→順番2に正しい順番に変更します。
rs.MoveNext
Loop
rs.MoveFirst
Do Until rs.EOF
rs!順番 = DCount(“*”, “納品書サブ”, “納品書NO=” & Forms!納品書メイン!納品書NO & “” & ” and ” & “順番2<=" & rs!順番2 & "") rs.Update →順番2に続き、順番1にも正しい順番を入れてます。 rs.MoveNext Loop 最後まで実行したテーブルのレコードです。
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
Forms!納品書メイン.納品書サブ.Form.Requery
→最後に納品書サブクエリを更新します。
End Sub
Do Until rs.EOFでループを二回、回していますが、これを一度で済ませようと
思っても上手くいきません。一度レコードの更新をさせた方がいいようです。
今回までのサンプルファイルです。以前解説した内容に一部手直ししたところも
あります。参考までに使ってみて下さい。
====================================
最近仕事以外の用事で外出する機会がどんどん増えてきました。
ずっと事務所にいても仕事が増えるわけでもないし、
これはきっといい傾向なんだろうと信じたいと思います。
本日も最後までお読み頂きありがとうございます。