出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

ADOのレコード追加でのエラー   たまごとかさん [2003/03/27 20:55:54] [3238]
  Re:ADOのレコード追加でのエラー   暇人さん [2003/03/28 11:04:43] [3239]
    Re:ADOのレコード追加でのエラー   たまごとかさん [2003/03/31 0:12:23] [3240]

[3238] ADOのレコード追加でのエラー
投稿者:たまごとかさん 2003/03/27 20:55:54
始めましてたまごとかと申します。
下記のようなサンプルのASPを実行すると、エラーが発生して、原因がつかめず困っています。
DBはAccess2000のMDBで、使用カラムは日付型です。
引数やプロパティはMSDNで調べたところ正しいはずなのですが…。
どなたか解決方法をご存知の方、ご教授のほどよろしくお願いします。

エラー内容:
Microsoft VBScript実行時エラー エラー '800a01c2'
引数の数が一致していません。または不正なプロパティを指定しています。:'rs.Fields.Item'

以下ソースです。

' DB接続
Set dbCon = Server.CreateObject("ADODB.Connection")
dbCon.Provider="Microsoft.Jet.OLEDB.4.0"
dbCon.Mode=5
dbCon.ConnectionString="testdb.mdb"
dbCon.open

'レコードセット作成
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorType = 1
rs.LockType = 2
rs.Open "testtable", dbCon, , , 2

'新規レコード追加
rs.AddNew

'値設定
rs.Fields.Item("UserDate") = Now()

rs.Update
rs.Close

dbCon.Close


[3239] Re:ADOのレコード追加でのエラー
投稿者:暇人さん 2003/03/28 11:04:43

> エラー内容:
> Microsoft VBScript実行時エラー エラー '800a01c2'
> 引数の数が一致していません。または不正なプロパティを指定しています。:'rs.Fields.Item'

MSDNを使って調べたのはとてもよい事ですが。よく分からなかったら他のページにも検索をかけて具体的な例を見てみましょう。

エラーそのまんまです。値をとるのはItemではなくValueです
RecordsetオブジェクトのFieldsコレクションの説明を見てみてください
「RecordsetオブジェクトのFieldsコレクションにはRecordsetに含まれる全てのFieldオブジェクトを格納します。」
つまりFieldオブジェクトの説明を参照しないと駄目なんです
ちゃんとValueプロパティについて書いてあります

[3240] Re:ADOのレコード追加でのエラー
投稿者:たまごとかさん 2003/03/31 0:12:23
>
> > エラー内容:
> > Microsoft VBScript実行時エラー エラー '800a01c2'
> > 引数の数が一致していません。または不正なプロパティを指定しています。:'rs.Fields.Item'
>
> MSDNを使って調べたのはとてもよい事ですが。よく分からなかったら他のページにも検索をかけて具体的な例を見てみましょう。
>
> エラーそのまんまです。値をとるのはItemではなくValueです
> RecordsetオブジェクトのFieldsコレクションの説明を見てみてください
> 「RecordsetオブジェクトのFieldsコレクションにはRecordsetに含まれる全てのFieldオブジェクトを格納します。」
> つまりFieldオブジェクトの説明を参照しないと駄目なんです
> ちゃんとValueプロパティについて書いてあります

ありがとうございます。なるほど。
難しいですが、FieldsのItemプロパティで取得できたFieldオブジェクトのValueという認識でよろしいでしょうか?ソースは正しくは下記になるのですね。

 rs.Fields.Item("UserDate").Value = Now()

MSDNには「Value は、Field オブジェクトの既定プロパティです。 」と書いてあり、valueを省略できないものかとも思いますが、先ほどMDAC2.5SP2からMDAC2.7SP1にアップグレードしたところ、問題のあったソースでも期待通りの動作をしました。(2.5SP2がおかしい?)

無事動いたとはいえ動きが不思議なので、一応Valueをつけてやることにします。

ありがとうございました。



TreeBBS For ASP V.0.1.3
Program By YasNet