ここから本文です

重複レコードへのフラグ立て。 たびたび申し訳ありません。

ade********さん

2015/7/1523:34:37

重複レコードへのフラグ立て。
たびたび申し訳ありません。

下記のようなVBAでkokyakusouhuIDが重複しているレコードの
bikouranに「同時注文あり」というフラグを立てたいのですが、実行時エラー3075が出てうまくいきません。下のVBAは重複レコードに連番を振るVBAを少し変えたものです。
稚拙な質問で大変申し訳ございませんが、なにとぞよろしくお願いいたします。
環境はAccess2007、MYSQLでございます。

Dim rs As DAO.Recordset
Dim c As String
Dim PreGroup1, PreGroup2
Dim strSQL As String
'同時注文をVBAで入力

strSQL = "SELECT T_kokyakusouhuin!bikouran AS 備考欄, Q_Tkokyakuitem2納品用.kokyakusouhuID " & _
"FROM (T_kokyakuitemin LEFT JOIN T_kokyakusouhuin ON T_kokyakuitemin.ID = T_kokyakusouhuin.kokyakuitemID) LEFT JOIN Q_Tkokyakuitem2納品用 ON T_kokyakusouhuin.ID = Q_Tkokyakuitem2納品用.kokyakusouhuID " & _
"WHERE (((Q_Tkokyakuitem2納品用.kokyakusouhuID) In (SELECT [kokyakusouhuID] FROM [Q_Tkokyakuitem2納品用] As Tmp GROUP BY [kokyakusouhuID] HAVING Count(*)>1 )) AND ((Q_Tkokyakuitem2納品用.item_code) Is Not Null) AND ((T_kokyakuitemin.jutyu_date)=[Forms]![F_メニュー]![受注日])) " & _
"ORDER BY T_kokyakuitemin.ID, T_kokyakusouhuin.ID, T_kokyakusouhuin.itme_meisaino, T_kokyakuitemin.torimatome_no;"






Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset, dbFailOnError)





Do Until rs.EOF
If PreGroup1 = rs!kokyakusouhuID Then
c = "同時注文あり"
Else
'c = 1
' PreGroup1 = rs!kokyakusouhuID

End If

rs.Edit
rs(0) = c
rs.Update
rs.MoveNext
Loop

rs.Close
Set rs = Nothing

MsgBox "完了"

閲覧数:
87
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

bj2********さん

2015/7/1609:46:02

気になるところ2つあります。

①実行時エラー3075はstrSQLに問題があるようなので、実行時エラー3075に
続く詳細メッセージを見れば修正ポイントが見えていると思います。

クエリー式 '??????' の ????????

②strSQL が正常になっても、それが更新可能なクエリとして扱えるのかが不明なため、
後のrs.Edit~rs.Updateでエラーが出る可能性を含んでいます。

テーブルから直接、kokyakusouhuID(昇順) とbikouran を取り出すような
選択クエリでないと、更新できないと思います。

  • 質問者

    ade********さん

    2015/7/1622:20:38

    ありがとうございます。ずいぶんと出口が見えてきました。
    すこし内容を変えて新たに質問を起こしたいと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる