
accessでデータベース参照システムを作成しているのですが、このオブジェクトに値を代入することはできません
というエラーがでています。
色々過去ログを調べたのですが、私の内容と該当しそうなのがみつかりませんでした。
TABLE_A
親番号 子番号 項目a... b....
3 , 1 , xxxxxxxxxxx
3 , 2 , xxxxxxxxxxxx
TABLE_AとリンクしているフォームXを開きます。
開いたあと、filterをかけています。(例 filter : 親番号 = 3)
そのフォームには、コントロールソースがいくつもあります。
編集ロックを解除して、データベースの内容を上書きしています。
新規作成時には、子番号という、テーブルのキー情報にだけ値を入れて(既存のmax値+1)、その他の項目を全てnullにして、データの新規登録を可能にさせています。
(例 : 3, 3 , xxxxxxxxのデータが作成される)
ここまでは動作しています。
やりたいことは、親番号4という、TABLE_Aにない情報で、上記で、同じくフォームxを開いたあと、新規登録を可能にしたいのですが、
子番号のコントロールボックス(テキストボックス)に、1という新規番号をいれようとしたら、エラーになります。
内容は、{このオブジェクトに値を代入することはできません}です。
この解決方法がなかなかみつかりません。
説明が難しいので伝わりにくいかもしれません。
なにかありましたら、説明させて頂きます。
フォームは、
DoCmd.OpenForm stDocName, , , stLink
で開いています。
No.1ベストアンサー
- 回答日時:
どのように設定しているのかわかりませんが、
>子番号という、テーブルのキー情報
>にだけ値を入れて(既存のmax値+1)、
ならば、3の次は4しか入らないのでしょうし、
入れられないでしょう。
以下は一つの案です。以下のコードは
DAOです。
まず、フォームの子番号のフィールドの
入力の縛りを解除します。
TABLE_子番号というテーブル数値型
の子番号というフィールドをつくる。
主キーは無し。このテーブルの子番号の
値を更新させて参照用に使います。
次の段階も考え方はいろいろです。
親番号の取得時に子番号をリセット
するか、子番号のリセットを単独で
するかです。
親番号の取得をどのようにしているのか
わかりませんから、ここでは子番号の
リセット、番号の取得をボタンクリック
にしておきます。
'子番号のリセット:
Private Sub 子番号リセット_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("TABLE_子番号", dbOpenDynaset)
rs.Edit
rs!子番号 = 0
rs.Update
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
End Sub
'子番号の取得表示:
Private Sub 子番号入力_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("TABLE_子番号", dbOpenDynaset)
If rs>Recordcount > 0 Then
rs.Edit
rs!子番号 = rs!子番号 + 1
rs.Update
Me![子番号] = rs!子番号
'TABLE_子番号のセットをすれば
'上記のIfの行と以下のEnd Ifまで
'は必要ない。
Else
rs.AddNew
rs!子番号 = 1
rs.Update
rs.MoveFirst
rs.Edit
rs!子番号 = 0
rs.Update
rs.Edit
rs!子番号 = rs!子番号 + 1
rs.Update
Me![子番号] = rs!子番号
End If
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
End Sub
TABLE_子番号のセット:
TABLE_子番号は作ったままだとレコードがない
とAccessが文句を言うので子番号に適当に
数値を入れて一回レコードを登録します。
その後、レコードの数値を0にしておきます。
これで完了です。これを準備した場合は
上記のコードでいらないところは削るか
コメントアウトしてください。
二つのプロシージャはクリックイベントに
なっていますが、関数にして適当にアレンジ
してプログラムの中で使ってください。
質問の状況だと、レコードの上書きだとか、
TABLE_Aには主キーが無い様子だとか、
親番号の取得も手動であるとか、何か
漠然とした内容ですが、大丈夫なので
しょうか。
誰かがオールインワンのコードを書けば
適当に選択してください。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) CICでの情報開示について CICのインターネット開示を利用しているのですが、必要事項を入力後に確定 1 2023/04/04 16:11
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Yahoo!メール Yahooアカウントにログインできなくなって困っています。 2 2023/05/16 02:28
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Accessのリンクテーブルのパスを相対パスにする方法について教えて頂きたいです 1 2023/02/08 13:29
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
このQ&Aを見た人はこんなQ&Aも見ています
-
このオブジェクトに値を代入することはできません
その他(データベース)
-
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
Access VBA エラー2448について
Visual Basic(VBA)
-
-
4
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
5
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
6
「#エラー」の回避
Access(アクセス)
-
7
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
8
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
9
Access2010実行時エラー-21473525
その他(データベース)
-
10
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
プログラミングを学べる!?進化している子どものおもちゃについて専門家に聞いた!
プログラミングを学べるレゴブロックがあることはご存知だろうか。レゴに限らず最近のおもちゃには、プログラミングの要素がどんどん取り入れられているようだ。「教えて!goo」にも、「プログラミングを学べる子供...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
固定電話着信履歴 181 ・・・・...
-
823で始まる電話番号
-
電話をかけるのに、違う番号を...
-
66から始まる番号
-
すべて「ひとつ・・・」ではじ...
-
同じ商品なのに、JANコード...
-
電話番号 +817673467911という...
-
MS Wordで図表番号を1から振り...
-
81・・・・・から始まる電話...
-
フリーダイヤルのけた数
-
学籍番号の下一桁
-
1から5までの番号が1つずつ書か...
-
その曲が弾けるようになるまで...
-
ファイル名に「1-1、1-2...
-
公衆電話番号
-
エクセル ADO Filterでは一気...
-
不気味な番号
-
パチンコの抽選入場って、番号...
-
P/Nとは?
-
映画のチケットをスマホで購入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
999で始まる電話番号から着信が...
-
電話をかけるのに、違う番号を...
-
81・・・・・から始まる電話...
-
固定電話着信履歴 181 ・・・・...
-
至急お願いいたします! ゆう...
-
同じ商品なのに、JANコード...
-
体育の時の4列横隊ってどーやっ...
-
823で始まる電話番号
-
フリーダイヤルのけた数
-
電話番号 +817673467911という...
-
if関数を使って割引率をだす
-
すべて「ひとつ・・・」ではじ...
-
pcでGoogleアカウントを作ろう...
-
1から5までの番号が1つずつ書か...
-
携帯番号変える時は、それなり...
-
昔のスマホのLINEからプッシュ...
-
内線番号一覧が分かりづらい
-
不気味な番号
-
P/Nとは?
-
FAX番号の英語表記とは?
おすすめ情報