- ベストアンサー
ACCESS2000のテーブルのNULL
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.1で回答させていただいたものです。 前述のプロシージャの以下の部分は使えないでしょうか? (テーブル名と数値の部分を書き直しています。) 使えない場合は、その理由を挙げていただけるとありがたいです。 Set rst = CurrentDb.OpenRecordset(対象テーブル名) Do Until rst.EOF rst.Edit For idx = 0 To rst.Fields.Count - 1 If (IsNull(rst.Fields(idx).Value)) Then rst.Fields(idx).Value = 任意の数字 End If Next idx rst.Update rst.MoveNext Loop rst.Close
その他の回答 (2)
- muran
- ベストアンサー率31% (12/38)
Fujjyさんがプログラム上で行うのか、データベースウィンドウで手作業で実行するのかわからないのですが、 数字に置き換えるテーブルに対して、 更新クエリを実行させればいいと思います。 置き換えたいフィールドがNULLのもの、とWHERE句に入れれば・・・。 SQL文の例: UPDATE テーブル名 SET フィールド名 = 0 ←置き換えたい数字を右辺に。 WHERE フィールド名 IS NULL
補足
説明不足でした。NULLのあるフィールドを検索してきて、プログラムで任意の数字に置き換えます。お世話になります。
- tomo-yuki
- ベストアンサー率39% (11/28)
> 置き換えるのは、いくつもNULLがあっても一つでいいのですが・・・。 がどういう意味かがわからないので的外れな回答かもしれませんが、 システムオブジェクトを除く全てのテーブルのデータにある Null を置換するとしたら、こういう風にします。(あくまで私であれば、ですが) Sub replaceNull2Number() Dim tbldf As TableDef Dim rst As Recordset Dim idx As Integer Dim num As Integer num = 0 For Each tbldf In CurrentDb.TableDefs If (Left$(tbldf.Name, 4) <> "MSys") Then Set rst = CurrentDb.OpenRecordset(tbldf.Name) Do Until rst.EOF rst.Edit For idx = 0 To rst.Fields.Count - 1 If (IsNull(rst.Fields(idx).Value)) Then rst.Fields(idx).Value = num End If Next idx rst.Update rst.MoveNext Loop rst.Close End If Next End Sub
補足
すみません、説明不足でした。データからNULLのフィールドを検索してきて、そのNULLに任意の数値をいれます。という意味なんです・・・。説明下手ですみません。
関連するQ&A
- アクセスのフィルタ nullについて。
質問です。 アクセスのテーブルの中で、あるフィールド(フィールド名:管理番号)が空白のものだけ抽出したいのです。フィルターで、管理番号箇所に「Is Null」としたのですが、実際空白になっているデータがうまく抽出されません。 で、「Is Not Null」で抽出するとそれらのデータが抽出されます。 そのデータの認識ではnullになってないようです。 (でも実際空白です。) どうやったらnullで抽出されるでしょうか? ちなみにそのフィールドのデータ型はテキスト型です。
- ベストアンサー
- その他(データベース)
- アクセスのテーブルデータをCSV出力し、Nullフィールドは""にしたい場合
こんばんは。 お世話になっております。 アクセスのテーブルのデータをcsvに吐きだすと、 "あ","い","う","え",,,"お","か" 以下のようにnullフィールドは""なしで,(カンマ)だけで区切られてしまいます。 これを,"",の形にしたいのですが、出力方法の設定等あるのでしょうか? ↓こういう形を "あ","い","う","え",,,"お","か" ↓このようにnullフィールドに""を付与したい "あ","い","う","え","","","お","か" ご存じの方いらっしゃいましたら是非とも教えて頂きたいと思います。 宜しくお願い致します。
- ベストアンサー
- その他(データベース)
- Access の同一テーブルで更新データを抽出したい
Accessでまったく同じテーブルが2つあるとします。フィールド数は40くらい。その各フィールドで一つでも更新のあったデータのみを抽出したいのですが簡単な方法を教えて下さい。因みに各フィールドにはNull値も含まれます。
- ベストアンサー
- オフィス系ソフト
- Accessですでに入っている値をNULLにしたい場合にVBAでどのように書けばよいのでしょうか?
Access2003とPostgreSQL8を使っています。 AccessをGUI環境としてデータリンクでテーブルを開いています。 Accessでフィールドに対してNULL(空文字でなく)をセットする方法が知りたいです。基本的に入力しなければ良いのですが、すでに入っている値をNULLにしたい場合に手で変更する方法とVBAプログラムで変更する方法が知りたいです。
- 締切済み
- オフィス系ソフト
- アクセスの空欄のテーブルについて
アクセスでは最初にテーブルという箱を作ると聞きました。このテーブルにはまだデータを入力していないとすると、NULL値として「0000・・・」のようなものが電算機上は、入っているのでしょうか? それとも、全く何も入っていないのでしょうか?空欄のフィールドやレコードの領域は内部でどのようになっているのでしょう?コンピュータにおけるデータ領域の空欄はどのようになっているのでしょうか?つたない質問ですみません。
- ベストアンサー
- オフィス系ソフト
- accessのテーブル二つで一つのテーブルを
ACCESS97を使用しています。 テーブル1 製品番号 出荷日 出荷数 100 2012/12/1 3 101 2012/12/13 2 105 2012/12/1 5 108 2012/12/5 6 テーブル2 製品番号 売上日 売上数 売上金額 100 2012/12/1 3 3,000 101 2012/12/13 4 5,000 111 2012/12/10 10 500 二つのテーブルがあり、どちらもfrom to の期間指定で大きなテーブルから取り出しています。テーブル1のみにあるデータ、テーブル2にあるデータどちらにもあります。 これを一つのテーブルにまとめて下記のようにしたいのですが、できますか。 製品番号 出荷日 出荷数 売上日 売上数 売上金額 100 2012/12/1 3 2012/12/1 3 3,000 101 2012/12/13 2 2012/12/13 4 5,000 105 2012/12/1 5 null null null 108 2012/12/5 6 null null null 111 null null 2012/12/10 10 500 このようなテーブルにしたいのですが、できますか。 access使用歴は長いのですが、簡単なクエリとかしかできなくてなさけなく思っています。これを機に少し勉強したいと思ってますが、取り掛かりからわかりません。よろしくお願いいたします。
- 締切済み
- 財務・会計・経理
- ACCESS2000でNULLの使い方が不正です
Access 2000 のテーブルをテキスト ファイルにエクスポートする際、フィールドに十進型のデータ型が含まれていると『引数が無効です』という既知のバグが発生します。 これを回避する為に、クエリーで、CDbl、CSng、CIntなどの関数を使用してエクスポートを行ったところ、上記現象は回避できたのですが、今度は『NULLの使い方が不正です』のエラーが発生してしまいました。 対象となる数値型フィールドに格納されているデータがNULLであることが原因のようです。 現在開発環境にて試していますが、本番環境においても、必須項目でなければ、数値型フィールドにNULLが格納されている可能性は十分考えらます。 また本番環境では現象回避のためにデータリペアすることもできません。 何か回避策があれば是非教えてください。 また、不明点などがありましたら、ご指摘ください。 宜しくお願いします。
- ベストアンサー
- グループウェア
- 選択クエリーで 2つのテーブルの項目が Null どうしのデータを抽出するには?
初心者です、教えてください。 テーブルが、2つあって テーブル名: T1 T2 フィールド1: A1 B1 フィールド2: A2 B2 フィールド3: A3 B3 とあった時、選択クエリーで T1 と T2 のフィールドの A1-B1、A2-B2、A3-B3 が、 一致したものを表示するクエリーを作成します。 でも、A2、A3、B2、B3のデータ中には、それぞれ Null値が入っていて、 A2-B2、または、A3-B3 が、Nullどうしなら、一致とみなして、表示するには、 どうしたらいいのでしょうか? Nullのみどうしのデータで、Nullのフィールドを 除いた選択クエリーをつくって、あとで合わせてもいいのですが、 実際のテーブルは、そういうフィールドが、いっぱいあって、大変なんです。 簡単に表示する方法は、あるでしょうか? 初心者なのでむずかしいことは、 やったことがなくて、すいませんが、わかる方がいらっしゃたら、お願いします。
- 締切済み
- その他(データベース)
- accessで null値のあるデータを追加したい
もとエクセルのデータで、フィールドにnullのところがあるデータをアクセスに追加したいのですが、 エクセルをアクセスにインポートはできるんですが、 それを追加しようとすると、 追加クエリでエラーが出ます。 どうすればいいのでしょうか? そのフィールドはインデックスはつけてません。 空文字列を はい にしてもだめでした。 access2000 windows2000
- ベストアンサー
- オフィス系ソフト
- NULL値のレコードを検索(フィルタ)したい
アクセス2003です。 画像の様なフォームを作成しました。 感想フィールドが未記入(NULL)のレコードにフィルタを掛けたいのですが Private Sub Click() Form_テーブル1.SetFocus Form_テーブル1.Filter = "感想 = '" & Null & "'" Form_テーブル1.Filter = "感想 = '" & "" & "'" Form_テーブル1.Filter = "感想 <> '" & "*" & "'" Form_テーブル1.FilterOn = True Form_テーブル1.Requery End Sub どれも引っかかりません。 クエリでデータ型を取得してみると NULLが返って来ます。 (SELECT TypeName([テーブル1]![感想]) AS 感想 FROM テーブル1;) Null値にフィルタを書ける方法を教えてくださいませ。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます。InStr()とFindFirstを使って作りました。ものすごーーーく時間がかかりますけど・・・(笑)