• ベストアンサー

【access】Null、Blank対策について

access2010を利用しツールを作成しております。 クエリでNull、Blank、長さ0の文字列に対する対策を取る場合、 推奨される手段はあるのでしょうか。 利用しているテーブルは以下の3種類です。 ・ローカルテーブル ・リンクテーブル(Excelリンク) ・ODBC経由 詳しい方、ご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8518/19364)
回答No.1

ローカルテーブルに「文字列型のフィールド」を作成し「値要求:はい」「空文字列の許可:いいえ」に設定してあるフィールドにデータを登録しようとしてみるのが手っ取り早いでしょう。

その他の回答 (2)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.3

何事も川上で解決するのが得策です。 回答ナンバーのchie65535様の回答はこれを狙いにしています。 即ち、あなたの守備範囲内での川上はレコードをテーブルへ受け入れ時です。 chie65535様の提案はテーブルデザインでフィールドのプロパティーでやります。 この設定があるテーブルへレコードをインストールすると 不都合のないレコードだけがインストールされ、 不都合のあるレコードははじかれ、不都合テーブルが新規に作成されます。

  • panacon
  • ベストアンサー率31% (214/679)
回答No.2

私の場合の対策です。 (1)フォームのレコード移動矢印を非表示にして、フォーム上に移動ボタンとページ表示をつけています。移動ボタンで新規レコードに行けない対策です。 (2)新規レコード追加は、新規ボタンを押すところからしかできないようにしていて、必須キーを求めて必須キーとマスタ情報をレコードに代入します。 (3)必須キーとマスタ情報は更新不可にしています。 (4)その他、更新不可にはできない必須情報がブランクとなったものは、フォームを閉じるときに削除クエリでレコード削除しています。 (5)必須項目が未入力のときは、レポートなど次のステップに行けないようにしています。 フォームインターフェースで、どれだけ入力者に正しい入力をさせることができるかが解決策を導くと思います。

関連するQ&A

  • AccessのNULL値とSQL ServerのNULL値で違いはありますか?

    SQL ServerのテーブルをAccessにODBCでリンクを貼っています。 AccessでSQL ServerのNULL項目を表示した際に挙動がおかしくなったので… そこでSQL ServerのテーブルのNULL値を空文字("")にしたら正常になりました。 AccessのNULL値とSQL ServerのNULL値で違いはありますか? ご存知の方がいましたらご教授お願いします。

  • Accessのクエリについて

    いつもお世話になっております。 Accessクエリについて、教えてください。 退職者の作ったMDBなのですが、ODBC経由でSQLServerに接続をしています。 リンクテーブルをはっているのですが、ここでよくわからないことがあります。 データベースウインドのクエリにたくさんのクエリが登録されているのですが、 そこでクエリの対象になっているテーブルがかならずしもリンクテーブルでは ないということです。もちろん、SQLServerには存在しているのですが、 私の理解レベルだとリンクテーブルでもないのに、クエリでデータが取得できて いることが不思議です。 詳しい人にはなんでもないのでしょうが、お分かりの方がおられましたら お教えください。

  • Accessのパラメータクエリについて

    Accessのパラメータクエリがうまく動かなくて困ってます。 実はODBC経由でリンクテーブルを作っておりまして、そこからパラメータクエリで抽出を試みたのですが、パラメータは聞いてきますが抽出できません。 選択クエリ状態で直接抽出条件を入れてやれば何の問題もなく通常のテーブルと同様に抽出できるのですが、パラメータクエリにする、または同じ事ですが他のフォームのコントロールを参照させる状態ですと、エラーも出ずにノンデータとなります。 これって何故なんでしょうか?対処方法はありますか? ちなみにリンク元のテーブルはオラクルですがデータ型とかが関係あるのでしょうか?

  • アクセスファイルを上書きしてもデータが消えないようにしたい

    アクセス2000にて受注システムを構築しています ひとつのファイルにテーブル、クエリなど全てのプログラムを組んでます テーブルはODBCリンクで行っているのですが、2~3種類ほどローカルテーブルがあり、 ここに月々のデータが保存されています。(1ヶ月ごとに手動で削除) 更新・変更などでファイルを上書きすると、このローカルテーブル内のデータが消えてしまうのですが、 消えないようにする方法っていうのはありますでしょうか

  • SQLサーバーに保存してあるクエリをアクセスで開くには?

    SQLサーバーに保存してある「クエリ1.sql」をアクセスで開くにはどうすればいいでしょう? アクセスで「リンクテーブル」→「ODBC接続」 でテーブルのリンクはできているのですが クエリをリンクするにはどうすればいいでしょうか? 宜しくお願い致します。

  • Access2000からネットワーク経由でMySqlにODBCでリンクテーブル

    Access2000からMySqlにODBC経由でリンクテーブルをつな げたいのですが。 以前この件で質問させていただきまして、その時はローカル 内のMYSQLにリンクテーブルを繋げることは出来たのですが ネットワーク経由で、リンクテーブルを設定する際につまずいて おります。 システムDSNを登録する際の[CONNECTER/ODBC]の設定で、SERVER の項目が問題だと思っているのですが、ここにMYSQLをインストール しているPCのコンピュータ名を入力したのですが、駄目でした。 ネットワーク経由でMYSQLを使用する際の[CONNECTER/ODBC]の設定 方法をどうかご教授して頂けませんでしょうか? 以上 宜しくお願い致します。 環 境    :WINXP,ACCESS2000   MySQL: Ver5.0.27 ODBCドライバ: MySql ODBC 3.51 Driver

  • Access2000VBAで

    下記に行いたい詳細を記載します。 test.mdbがあり、その中にテーブル一覧テーブルと 項目テーブルがあると仮定 (ODBC設定は設定済み、ODBC経由にてリンクをはりたいテーブルはORACLEと仮定) (1) テーブル一覧にあるテーブルをODBC経由にてリンクをはる   (この時、パスワード等の入力は行わないでテーブル一覧にある    テーブルすべてにリンクをはりたい) (2) リンクをはったテーブルの項目詳細を項目テーブルに抽出   (項目詳細:項目名、属性、桁数等) 上記の処理を行いたいのですが、いろいろ調べているのですが、 なかなか該当するものがなくて困っています。 結構急ぎで作成を行いたいのですが何卒よろしくお願いいたします。 環境:Win2000,Office2000

  • ACCESS2000のODBC

    こんにちわ。 いまACCESS2000のMDBにODBC経由で, ORACLE10gのテーブルを参照したいと思い, [テーブルのリンク]-[ファイルの種類]-[ODBC]としたところ, ODBCソースを選択するダイアログが表示されません。 何か設定の不備があるのでしょうか? 教えてください。よろしくお願いします。

  • AccessからSQLServerを読み取り専用で開きたい

    Access2003で、SQLServer2005のテーブルをODBC経由でリンクしたいのですが、その際に「読み取り専用」としたいのです。 ツール - セキュリティ - ユーザ/グループの権限 をいろいろいじってみたのですが、データが更新されてしまいます。 過去ログをあたってみたのですが、なかなかこれというのにヒットしませんでした。 どなたかご存知でしたら教えてください。

  • ACCESSを使ってのODBC接続がうまくいかない

    クライアント側のACCESSを使いODBC経由でMySQLへ接続しようとしたらうまく接続が出来ません。 現象はACCESSの、[新規作成] - [テーブルのリンク] - ファイルの種類を[ODBC Databases ()] - コンピュータデータソースにあるODBCを選択。 すると普通はここでテーブルの一覧が表示されるはずが、最初の画面に戻ってしまいます。 他のソフト(EXCELなど)でODBC接続を行ったところうまくいきます。なのでODBC自体の設定は問題ないと考えられます。 以前はうまく行っていたのですが、ACCESSのデータファイル(.mdb)を一度削除して新たに作り直したらうまくいかなくなりました。 この現象で何かわかる方いらっしゃいますか? よろしくお願いします。 MySQL 4.0 ODBC 3.51 ACCESS 2000

専門家に質問してみよう