実現したいこと
Access のテーブルの全データに対して、桁溢れチェックを行いたい。
ここに実現したいことを箇条書きで書いてください。
- AccessDB の 1つのテーブル(以下、T_本)の全データに対し、桁溢れしていないかチェックをしたい。
- 最終列に "桁溢れ" という名称のフィールドを1つ追加し、そこに "桁溢れしたフィールド名"を追加したい。
前提
- 画像では6フィールドしかチェックしてないが、実際は40フィールド程度ある。
- 各フィールドにそれぞれ上限桁数が決まっている
試したこと
①テーブルAに "桁溢れ" フィールドを追加
②テーブルAをレコードセットとして取得し、1レコードずつ桁あふれチェックする。
③桁あふれが発生したら、カレントレコードの最終列に移動し、桁溢れしたフィールド名を書き込む。
Sub test()
'桁溢れ列追加 CurrentDb.Execute "ALTER TABLE [T_本] ADD COLUMN [桁溢れ] TEXT(255)" 'レコードセット取得 Dim rs As New ADODB.Recordset rs.Open "T_本", CurrentProject.Connection 'レコードセット Do Until rs.EOF Dim var As Variant Dim fld As ADODB.Field 'フィールド移動 For Each fld In rs.Fields [桁溢れしていたら最終フィールドへ移動して、フィールド名を書き込む] [移動元のフィールドへ戻る] Next fld rs.MoveNext Loop rs.Close
End Sub
問題点
[桁溢れしていたら最終フィールドへ移動して、フィールド名を書き込む]
ここの処理が分かりません。
そもそも、"桁溢れ発生" ⇒ "最終フィールドへ移動" ⇒ "移動元のフィールドへ戻る" なんてことはできるのでしょうか?
補足情報(FW/ツールのバージョンなど)
office365 Access

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/02/14 11:36