
No.3ベストアンサー
- 回答日時:
すべての標準テーブルのすべてのフィールドに対しNullなら0に置き換えてます。
(フィールドタイプは見てません。)そもそもNull許可しているのならNullがあってもよいように処理設計すべきだし、
0でなくてはならないのならNullを許可しないようにすべきです。
----
Sub mColGet()
Dim CAT As ADOX.Catalog
Dim TB As ADOX.Table
Dim CL As Column
'接続
Set CAT = New ADOX.Catalog
CAT.ActiveConnection = CurrentProject.Connection
'検索
For Each TB In CAT.Tables
If TB.Type = "TABLE" Then
For Each CL In CAT.Tables(TB.Name).Columns
Call mZeroSet(TB.Name, CL.Name)
Next CL
End If
Next TB
'終了
Set CAT = Nothing
End Sub
Sub mZeroSet(strTable As String, strCol As String)
Dim cn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim SQL As String
'接続
Set cn = CurrentProject.Connection
'更新
SQL = "UPDATE " & strTable & " SET " & strCol & " = 0 WHERE " & strCol & " Is Null "
cn.Execute (SQL)
'終了
cn.Close
Set cn = Nothing
End Sub
確かに設計に問題がありますよね。。
ご指摘いただいたとおりだと思います。
なぜそのようなNULLデータがうまれるかというと、
その一つ前のクエリでピボットテーブルを使っていて、
(その結果をINにして再度実行しているクエリで
SUMを使っているため、NULLは入ってきてはこまるのですが)
どうしても存在しないデータにはNULLが入ってきてしまうのです。
これを0とする方法が私には思いつきませんでした。
今回は別のページで見つけたNZという関数で対応しました。
教えていただいた方法もとてもわかりやすいので、
次回はこちらで試してみたいと思います。
お手数をおかけしてすみません。。
ありがとうございました!
No.2
- 回答日時:
更新クエリを使います。
UPDATE テーブル1 SET フィールド1 = 0
WHERE フィールド1 Is Null;
この回答への補足
これだと、フィールド1が指定されてしまいますよね?
データの中にはかなりの行と列のNULLデータがあるので、
フィールドは指定したくないのですが・・・。
No.1
- 回答日時:
1.EXCELに全データを貼り付ける
2.NULL(空白)セルを「0」に置き換える
⇒置換
3.置き換えたEXCELデータをコピー
4.コピーしたデータをACCESSのテーブルに貼り付ける
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Access(アクセス) Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが 6 2022/06/15 14:54
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
このQ&Aを見た人はこんなQ&Aも見ています
-
AccessでのNullと長さ0の文字列につきまして
Access(アクセス)
-
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
「#エラー」の回避
Access(アクセス)
-
-
4
レコードセットにnullの場合
Visual Basic(VBA)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
100万レコード規模のaccessDBテーブルからNullを置換する方法
その他(データベース)
-
7
最新日のデータのみ抽出するクエリを教えて下さい
Access(アクセス)
-
8
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
9
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessのレポートで元になるテ...
-
Accessのフィールド数が255しか...
-
INSERT INTO ステートメントに...
-
ACCESSで表が作りたく、そのた...
-
ExcelのデータをコピーでACCESS...
-
アクセス エラーを数値「0」に...
-
ACCESSでの改行コード
-
Access:リンクテーブルマネー...
-
主キーはオートナンバー型のID...
-
アクセス A列コピー B列貼り...
-
【Access】フォームで自動計算...
-
ACCESSで400以上のフィールドが...
-
ACCESSDBで、NULLデータをすべ...
-
アクセス メモ型 255文字...
-
固有レコード識別子の選択とは??
-
SQLServer2005のSQL文での別名...
-
accessで重複を防ぎたい
-
ACCESS2000「定義されているフ...
-
ACCESSでオートナンバーを任意...
-
Access⇒エクセルへのエク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INSERT INTO ステートメントに...
-
Accessのフィールド数が255しか...
-
ACCESSで400以上のフィールドが...
-
SQLServer2005のSQL文での別名...
-
アクセス エラーを数値「0」に...
-
accessのレポートで元になるテ...
-
Accessでテーブルの値をテキス...
-
ACCESSでの改行コード
-
ACCESSでテーブルのチェックを...
-
ExcelのデータをコピーでACCESS...
-
ACCESS検索★ある文字を複数のフ...
-
Access 昇順・降順で並び替え...
-
アクセス メモ型 255文字...
-
アクセス A列コピー B列貼り...
-
【Access】フォームで自動計算...
-
ACCESSでオートナンバーを任意...
-
Access:リンクテーブルマネー...
-
ACCESS VBAにてCSV...
-
Accessで、固定アルファベット+...
-
主キーはオートナンバー型のID...
おすすめ情報