[リストへもどる]
一括表示

投稿時間:2003/03/24(Mon) 16:45
投稿者名:IPK
Eメール:
URL :
タイトル:
データベースに文字数0のものが登録されない
はじめまして。
質問です。
例えば

"UPDATE TBL_IKOKUHO SET " & _
                "KOJIN_NO=" & "'" & NTN(.TextMatrix(R, 1)) & "'," & _
                "HIHO_NAME_K=" & "'" & NTN(.TextMatrix(R, 2)) & "', HIHO_NAME_J=" & "'"
-----------------------------------------------------
Public Function NTN(STR)

On Error GoTo NTN_err
    
        If IsNull(STR) Or STR = "" Then
            NTN = ""
        Else
            NTN = STR
        End If
        
        Exit Function
        
NTN_err:
        NTN = ""

End Function

のようなSQLをexcecuteしてデータベースを更新したいのですが、
”長さ0の文字列を格納できません”

といった警告が出ます。
確かにグリッドにはデータは入っておらず、どうしたらよいか解りません。
よろしくお願いします。

開発環境は、VB6 SP5、ACCESS2000です。

投稿時間:2003/03/24(Mon) 16:55
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: データベースに文字数0のものが登録されない
> Public Function NTN(STR)
STRという名前を使うことは出来ますが、「Str関数」という規定の関数名と被りますので、
念のため、別の名前にしておいた方が良いかと思います。


> のようなSQLをexcecuteしてデータベースを更新したいのですが、
> ”長さ0の文字列を格納できません”

プログラムの問題ではなく、データベース側の設定で、
空文字列の許可がされていないのでしょう。
""のかわりに、Null を渡すようにしたら、どうなりますか?


MDBファイルの場合、テキスト型のフィールドの設定として
  Nullを許可しない設定("値要求"プロパティ)

  長さ0の文字列を許可しない設定("空文字列の許可"プロパティ)
などがありますので、mdbの設定を確認してみてください。