• ベストアンサー

「Nullの使い方が不正です」のエラー

AccsessとVB間でデータの参照・登録・削除を行うプログラムを作成中です。 テキストボックスにデータを入力せずに更新するとAccess側はNull値が入るので、参照をした際に 「Nullの使い方が不正です」のエラーが表示されます。 Null値が表示可能ならその方法を教えてください。

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

  • ベストアンサー
  • kachimi
  • ベストアンサー率40% (12/30)
回答No.1

読み込んだ際にIsNull()で判断してみては? If IsNull(Fields) Then Text1.Text = "" Else Text1.Text = Fields End If

-cinq-
質問者

お礼

回答ありがとうございました。 上記の通り記述したら、うまくいきました。 ありがとうございます。

関連するQ&A

  • Nullの使い方が不正ですのエラーメッセージについ

    AccsessとVB間でデータの参照、登録、作表、出力等のプログラムを稼動させております。 作表を行なうのにデータ範囲を指定し出力を行なおうとするとソートプラグラム中に”Nullの使い方が 不正です”のエラーメッセージが表示され出力ができません。 Function SortOperator(myTxt) As String 'マーク前に_がついているのでとります。 myTxt = Right(myTxt, Len(myTxt) - 1) ここがエラー表示されます。 何故でしょうか?

  • Null値を入れるには?

    初歩的な質問です! SQLでデータの更新をかけたいんですが、データがNull値でもUPDATEできるようにしたいんです。 DB側でNull値の許可をしていたら問題なく動くと思ったんですが…現在Access2000を使用しています。 そこで、VBAを使ってSQLでUPDATEをかけようとしているんですが、Null値を受け取ってくれません。 受け取ってくれないため、操作ができなくなってしまいました(/_;) そこで、Null値のUPDATEの方法を教えてください。 よろしくお願いします。

  • ACCESS2000でNULLの使い方が不正です

    Access 2000 のテーブルをテキスト ファイルにエクスポートする際、フィールドに十進型のデータ型が含まれていると『引数が無効です』という既知のバグが発生します。 これを回避する為に、クエリーで、CDbl、CSng、CIntなどの関数を使用してエクスポートを行ったところ、上記現象は回避できたのですが、今度は『NULLの使い方が不正です』のエラーが発生してしまいました。 対象となる数値型フィールドに格納されているデータがNULLであることが原因のようです。 現在開発環境にて試していますが、本番環境においても、必須項目でなければ、数値型フィールドにNULLが格納されている可能性は十分考えらます。 また本番環境では現象回避のためにデータリペアすることもできません。 何か回避策があれば是非教えてください。 また、不明点などがありましたら、ご指摘ください。 宜しくお願いします。

  • Null値を選びたいのですが

    いつもお世話になっています。 VB入門者ですがよろしくお願いします。 VB2005を使用しています。 データベースはアクセスを使用しています。 データベースの日時が入力されていないものを選択したいのですが SQLはどのように書けばよいのでしょうか? よろしくお願いします SQL &= " FROM Data WHERE Data.年月日='Null''

  • VB6.0でACCESSのコマンドを実行するには?

    教えてください。よろしくお願いします。 VB6.0のプログラムからACCESSに文字データを渡し、それをキーにしてACCESSのテーブルから該当するデータをACCESSのテキストボックスに表示させたいのですが、検索・表示のプログラムはACCESSで記述ずみですので、VBからは引数を渡して、ACCESS側のVBAのプログラムを実行させたいのです。 その際、ACCESSの引数を渡すMDBが起動していなかったら、起動させて、上記の処理をさせたいのですが。 分かりづらい文章で申し訳ありませんが、どなたかアドバイスをお願い致します。

  • DBへNULLの書き込みって出来ますか?

    いつもお世話になっております。 VB初心者で「BV2008EE」を使っています。よろしくお願いします。 データリーダーが気に入ってよく使っています。 使い方に問題があるのかもしれませんが ***<< ソース例 >>***************************************** 'データコマンドの定義 command.CommandText = "SELECT tana_type FROM tbl_tana ORDER BY tana_type" 'データリーダーからのデータの読み出し dr = command.ExecuteReader() Do While dr.Read '読み出したデータ(Null以外)をコンボボックスに追加する If Not IsDBNull(dr("tana_type")) Then cmbTana.Items.Add(dr("tana_type")) End If Loop 'データリーダーを閉じる dr.Close() *********************************************************** データベースの情報をコンポボックスに追加していくものですが 空白を追加する場合があります。 原因は「NULL」ではなく「""(0文字)」が登録された為です。 一度文字を書いて削除した場所はNULLではなく""になるようです。 データリーダーで""の判定がエラーになるためNULL判定にしたのですが 入力間違いで削除するケースは多いと思う為、どうしようか困っています。 ""判定が出来ないのは私のプログラム構造のミスなのかもしれません。 苦肉の策で""だったら「NULL」を書き込もうと思いましたが出来ませんでした。 良い方法がございましたらご教授いただけると助かります。 宜しくお願いいたします。

  • データコンボのNullについて

    何度もすいませんm(__)m データコンボで 値が選択されてない場合は nullをデータベースに格納したいんですが、 できません。nullの使い方が不正です。と出ます。 教えてください。 VB6を使ってますデータベースはMySQLです。 Dim id As Integer If Me.DataCombo1.Text = "" Then id = Null Else id = Me.DataCombo1.SelectedItem End If datacombo1はInteger型のデータを データベースに格納します

  • Null と  Empty  ""

    テキストボックスを空白にする際、 Me.テキスト0.Value = Null Me.テキスト0.Value = Empty Me.テキスト0.Value = "" どのコードがいい!などはありますか? 全てエラーにはならず空白になります。 「なるべくNULLを使ったほうがいい」などあれば 教えてください。 access2003です。 よろしくお願い致します。

  • null 判定について

    javascriptに関して質問させて下さい。 accessのDBのデータをHTML上で表示・追加・削除・更新を行っています。 DB上のデータで空欄の項目を表示させたときに null が表示されます。 nullではなく空欄にしておきたいので、null判定チェックを 行っているのですが、ひっかかってくれない状態です。 ------------- var database; database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\mydb.mdb;"); var mySql = "select 種別, 内容 from Aテーブル; var recordSet = database.Execute(mySql); var tempHtml = "種別=" + recordSet(0); if(recordSet(1) != null){ tempHtml = tempHtml + "<br>内容=" + recordSet(1); }else{ tempHtml = tempHtml + "<br>内容="; } (略) --------------- recordSet(0)=種別 recordSet(1)=内容 上記のように普通にnull判定をしてるつもりなのですが、 recordSet(1)=内容 が access上で空欄の場合=null もif文内に入り、 「null」という文字列が表記されます。 ※accessからとってきたデータではなく、  javascript内で null を設定した場合はチェックにひっかかっています。 var tmp = null; if(tmp == null){ alert("nullである"); } 何が悪いかお分かりになる方、ご回答お願いします。

  • AccessのコンポボックスでNULLを入れたくない

    AccessのコンポボックスでNULLを入れたくない Accessのテーブルで、NULLの代わりに0を入れたいのですが、どうすればいいのでしょうか? テーブルの既定値は0です。 そのテーブルには、フォームのコンボボックスから値を入れます。 そのコンボボックスの選択は必修ではありません。 そのため、選択しない場合は、既定値の0が入ります。 また、選択した場合は、数字が入ります。 問題は、コンボボックスで選択して、やめた場合です。 まず、コンボボックスで選びます。 でも、きが変わり、デリート(削除)でコンボボックスを空欄にします。 そして、更新した場合、テーブルにNULLが入ります。 私の希望は、コンボボックスをデリート(削除)した場合、既定値の0を入れたいのですがどうすればいいのでしょうか? 値要求は、メッセージ(ダイアログ?)が出るので、設定しないものとします。(他の人が、そのメッセージが出るたびに、どうすればいいかきいてくるからです。) よろしくお願いします。

専門家に質問してみよう