■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#5071-0AddNewメソッドを使うとエラーが出る。匿名50712002-02-14(木) 12:31
     #5088-0RE#5071:AddNewメソッドを使うとエラーが出る。tiki2002-02-14(木) 15:43
     #5095-0RE#5088:AddNewメソッドを使うとエラーが出る。匿名50952002-02-14(木) 17:23
     #5096-0RE#5095:AddNewメソッドを使うとエラーが出る。tiki2002-02-14(木) 17:48
     #5097-0RE#5096:AddNewメソッドを使うとエラーが出る。匿名50972002-02-14(木) 18:01
#5071-0
AddNewメソッドを使うとエラーが出る。
VB5を使ってデータベースを操作するソフトを作ろうと思ってるんですが、
AddNewメソッドを使ってレコードを追加しようとすると、「引数の型が間違っているか、
許容範囲を超えています」というようなエラーが出て、レコードの追加が出来ません。
Updateメソッドで更新しようとしても、同様のエラーが出ます。
コードは以下の様に記述しています。

rsItems.AddNew
rsItems.Update
(rsItemsはRecordsetオブジェクトです)

以下の様に記述しても同じエラーが出ます。

rsItems.AddNew!"商品ID" = Text1.Text

データの型は間違っていないと思うのですが、どうしても上述のエラーが出てしまいます。
DataSourceプロパティにオブジェクトを設定していないせいでしょうか?
でも、Text1.DataSource = rsItems と設定しても「プロパティが無効です」のようなエラーが
出てしまいます。
ちなみに、Text1.DataField = rsItems("商品ID")というようなコードは記述しております。

どのようにしたら、レコードの追加、更新が出来るのでしょうか?
#5088-0
RE#5071:AddNewメソッドを使うとエラーが出る。
> VB5を使ってデータベースを操作するソフトを作ろうと思ってるんですが、
> AddNewメソッドを使ってレコードを追加しようとすると、「引数の型が間違っているか、
> 許容範囲を超えています」というようなエラーが出て、レコードの追加が出来ません。
> Updateメソッドで更新しようとしても、同様のエラーが出ます。
> コードは以下の様に記述しています。
> 
> rsItems.AddNew
> rsItems.Update
> (rsItemsはRecordsetオブジェクトです)
> 
> 以下の様に記述しても同じエラーが出ます。
> 
> rsItems.AddNew!"商品ID" = Text1.Text
> 
> データの型は間違っていないと思うのですが、どうしても上述のエラーが出てしまいます。
> DataSourceプロパティにオブジェクトを設定していないせいでしょうか?
> でも、Text1.DataSource = rsItems と設定しても「プロパティが無効です」のようなエラーが
> 出てしまいます。
> ちなみに、Text1.DataField = rsItems("商品ID")というようなコードは記述しております。
> 
> どのようにしたら、レコードの追加、更新が出来るのでしょうか?



DAOでは
	Set rsItems = cn.OpenRecordset(テーブル名)
でレコードセットをOPENして
(テーブル名でなくSQLでもいけたかも・・
レコードセットのカーソルで使用可、不可が変わったような気がする)

	rsItems.AddNew
	        rsItems("商品ID") = "5"
	        rsItems("商品名称") = "あああああ"
	        rsItems("商品略称") = "いい"
	rsItems.Update

のように記述すればAddnewが使用できますよ
rsItems.UpdateはrsItems.AddNewで開いたレコードを更新する為の物です

更新はrsItems.AddNewの代わりにrsItems.EditかrsItems.EditModeを使用したと思います
#5095-0
RE#5088:AddNewメソッドを使うとエラーが出る。
tikiさん、ご回答ありがとうございます。ちなみに、私書き忘れてしまったのですが、私はADOを使って
います。ADOでもtikiさんに書いて頂いたコードは使用出来ますか?
Edit、EditModeの使い方も教えて頂けないでしょうか?

> DAOでは
> 	Set rsItems = cn.OpenRecordset(テーブル名)
> でレコードセットをOPENして
> (テーブル名でなくSQLでもいけたかも・・
> レコードセットのカーソルで使用可、不可が変わったような気がする)
> 
> 	rsItems.AddNew
> 	        rsItems("商品ID") = "5"
> 	        rsItems("商品名称") = "あああああ"
> 	        rsItems("商品略称") = "いい"
> 	rsItems.Update
> 
> のように記述すればAddnewが使用できますよ
> rsItems.UpdateはrsItems.AddNewで開いたレコードを更新する為の物です
> 
> 更新はrsItems.AddNewの代わりにrsItems.EditかrsItems.EditModeを使用したと思います
#5096-0
RE#5095:AddNewメソッドを使うとエラーが出る。
> tikiさん、ご回答ありがとうございます。ちなみに、私書き忘れてしまったのですが、私はADOを使って
> います。ADOでもtikiさんに書いて頂いたコードは使用出来ますか?
> Edit、EditModeの使い方も教えて頂けないでしょうか?

ごめんなさい。VB5なのでDAOかと思いました。

ADOでは
 	rsItems.Open "テーブル名", CurrentProject.Connection, adOpenKeySet, adLockOptimistic

更新

         rsItems("商品ID") = "5"
 	rsItems("商品名称") = "あああああ"
 	rsItems("商品略称") = "いい"
 	rsItems.Update

追加
 	rsItems.AddNew
 	        rsItems("商品ID") = "5"
 	        rsItems("商品名称") = "あああああ"
 	        rsItems("商品略称") = "いい"
 	rsItems.Update


DAOでは
 	set rsItems=OpenRecordSet("テーブル名")

更新
	rsItems.Edit
 	        rsItems("商品ID") = "5"
 	        rsItems("商品名称") = "あああああ"
 	        rsItems("商品略称") = "いい"
 	rsItems.Update

追加
 	rsItems.AddNew
 	        rsItems("商品ID") = "5"
 	        rsItems("商品名称") = "あああああ"
 	        rsItems("商品略称") = "いい"
 	rsItems.Update

ちなみに
	rsItems("商品ID") = "5" → rsItems!商品ID = "5"
	のような書き方でもOKです。
#5097-0
RE#5096:AddNewメソッドを使うとエラーが出る。
tikiさん、またまたご回答ありがとうございました。後でやってみようと思います。
またわからないことがあったら、その時はよろしくお願い致します。

> > tikiさん、ご回答ありがとうございます。ちなみに、私書き忘れてしまったのですが、私はADOを使って
> > います。ADOでもtikiさんに書いて頂いたコードは使用出来ますか?
> > Edit、EditModeの使い方も教えて頂けないでしょうか?
> 
> ごめんなさい。VB5なのでDAOかと思いました。
> 
> ADOでは
>  	rsItems.Open "テーブル名", CurrentProject.Connection, adOpenKeySet, adLockOptimistic
> 
> 更新
> 
>          rsItems("商品ID") = "5"
>  	rsItems("商品名称") = "あああああ"
>  	rsItems("商品略称") = "いい"
>  	rsItems.Update
> 
> 追加
>  	rsItems.AddNew
>  	        rsItems("商品ID") = "5"
>  	        rsItems("商品名称") = "あああああ"
>  	        rsItems("商品略称") = "いい"
>  	rsItems.Update
> 
> 
> DAOでは
>  	set rsItems=OpenRecordSet("テーブル名")
> 
> 更新
> 	rsItems.Edit
>  	        rsItems("商品ID") = "5"
>  	        rsItems("商品名称") = "あああああ"
>  	        rsItems("商品略称") = "いい"
>  	rsItems.Update
> 
> 追加
>  	rsItems.AddNew
>  	        rsItems("商品ID") = "5"
>  	        rsItems("商品名称") = "あああああ"
>  	        rsItems("商品略称") = "いい"
>  	rsItems.Update
> 
> ちなみに
> 	rsItems("商品ID") = "5" → rsItems!商品ID = "5"
> 	のような書き方でもOKです。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)