• 締切済み

ACCESSで値を代入できないとは?

ACCESS2000を使用しています。 フォームを作り、画面のテキストボックスに値を入れると、エラーになります。 エラーコードは 2448。 エラーメッセージは オブジェクトに値を代入できない と出ますが、ヘルプが参照できません。 どういうことなのでしょうか。

みんなの回答

  • oribeyaki
  • ベストアンサー率45% (18/40)
回答No.4

返答が遅くなりましてすいません。 >連結<->非連結はプロパティでマニュアル変更が出来そうな気がするのですが、>その方法が見つかりません。 マニュアルでプロパティを操作する場合、 「プロパティ」ウィンドウの「データ」タグの「コントロールソース」を設定します。 連結コントロールの場合、ここに連結されている項目名が表示されています。 非連結にするには、ここを消してください。 (普通にBackSpaceとかで消えます。) これでOKです。 >今度はクエリーで2つのファイルをマッチングして作成したのですが・・・・ これは、別の問題になると思いますので、これでもう一つ質問を投げてはいかがでしょうか? そうすればこの質問を見た方以外の方の目にも触れますから、それだけ回答が来る可能性が高くなりますよ。 また、記入していただいた内容だけでは原因を特定するのは厳しいと思いますので、今回で補足していただいたようにサンプルソースや、テーブルの関係、どのタイミングでどのように操作したか、エラーNoはこれ・・・ といったようにできるだけ細かく書いたほうが回答される可能性が高いと思いますよ。(めんどくさいんですけどね。) では、がんばってください。

  • oribeyaki
  • ベストアンサー率45% (18/40)
回答No.3

これが原因かわかりませんが、 こちらで試して同じようなエラーが出るものをお知らせします。 1・連結テキストボックスの連結項目が、   現在のフォームにリンクしているテーブルの項目にない。 2・連結テキストボックスの連結項目が、   オートナンバー型などの入力を許さないデータ型になっている。 別のフォームからコピーされたものということなので、 そのテキストに設定されている項目が違う可能性はあります。また、内部的にそのリンクの設定がコピーによって変になっている 可能性もありますので、一度そのテキストのデータ項目を再設定して みてはいかがでしょうか? コントロール自体をコピーして使うということは通常やってます。 そのほうが効率いいですからね。 ですから、やり方自体は問題はないはずです。 駄目なようでしたら補足してください。

yamamichi
質問者

お礼

早速回答いただきましてありがとうございます。  ウィザードで作成するということは、フォームに貼り付ける項目は非連結以外はすべてテーブルにリンクしていなければなら無いということですね。 連結<->非連結はプロパティでマニュアル変更が出来そうな気がするのですが、その方法が見つかりません。  今度はクエリーで2つのファイルをマッチングして作成したのですが、マッチングキーに新しい値をセットしようとすると、エラーになります。 テーブル”xxx”のレコードに、'一'側と対応するレコードがなくなります。 と、いうエラーが出て、またヘルプを参照できません。 結合プロパティで、両方一致するものだけという条件をはずしてあるので構わないと思ったのですが、うまくいきません。  それに、こういう処理をすると、ACCESSが正常に終了しません。 どういうことなのでしょうか。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.2

 テキストボックスに値を入れるタイミングは? ユーザが入れるの?  → 例えば、キーボード等から値を入力するのですか? これでエラーになる様なら、その時のコードと作成手順を書いて下さい。また、再現方法等が解りましたら、教えて下さい。 コード(VBA)から入れるの?  この場合が多いと思いますが、どのタイミングでいれるかでエラーになります。フォームのロード時では、またテキストボックスのオブジェクトができていないので、上記の様なエラーになります。その場合には、フォームのアクティブ時等にコードを移して実行してみて下さい。

yamamichi
質問者

補足

回答ありがとうございます。 説明が不足していました。 コードは No.1 の補足に記述しました。 フォームをウィザードで作成したのですが、うまくいかない部分は、別のフォームからコピーして張り付けたテキストボックスです。 こんなやり方は出来ないのでしょうか。 よろしくお願いいたします。

  • oribeyaki
  • ベストアンサー率45% (18/40)
回答No.1

エラーの状況をもう少し詳しくうかがってよろしいですか? >フォームを作り、画面のテキストボックスに値を入れると、エラーになります。 テキストボックスに値を入れるとは? テキストボックスにキーボードから入れている。 VBAで、テキストコントロールに値を代入している。 などなど また、VBAでやられているのでしたら、エラーの出るコードも教えていただけると助かります。

yamamichi
質問者

補足

回答ありがとうございます。 説明が不足しておりました。 コードを記述します。 Private Sub Furigana_Change() '============================================== Set SB = DBEngine.Workspaces(0).OpenDatabase("\acs\skw.mdb") Set CUrc = SB.OpenRecordset("custom") Set CTrc = SB.OpenRecordset("karte") CUrc.Index = "cualtkey" CTrc.Index = "ctaltymd" CUrc.Seek "=", Me!furigana Me!shimei = CUrc!shimei        ' (1) ok CTrc.Seek "=", CUrc!cuscd Me!raitendate = CTrc!raikyakudate   ’(2) ok Me!PermaKusuri = CTrc!PermaKusuri ' (3) err End Sub (1)はウィザードでフォームを作成しました。 (2)は非連結です。 (3)は 元は別のフォームで作成し、コピーして、該当フォームに貼り付けたのです。 どうもこのやり方がうまくいかないのか指定の仕方が違うのかと思います。(2)も最初は(3)と同様でしたが、うまくいかないので非連結にしました。 (2)と(3)のフォームレイアウトは帳票形式です。 (1)は単票形式です。 このぐらいでお分かりでしょうか。

関連するQ&A

  • Access2000でTextBox変数の代入

    Access2000でTextBox変数を作成し、条件に応じて フォーム上に配置した2つのテキストボックスをその変数に代入したいのですが、うまくいきません。 Public tBox as TextBox If i = 1 Then Set tBox = テキスト1 ElseIf i = 2 Then Set tBox = テキスト2 End if ※ テキスト1、テキスト2はフォーム上に配置した テキストボックスの名称 このコードを実行すると、テキスト1は テキスト1.Textと解釈され、Textプロパティに何も設定 されていない場合、tBoxにはNULLが代入されます。 Textプロパティの値ではなく、テキストボックスオブジェクトそのものを変数に代入するにはどうすればよいのでしょうか。 ご教授お願いします。 環境は OS:Windows2000 Professional   Access2000 です。

  • accessのこのオブジェクトに値を代入することはできません エラー

    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 で開いています。

  • ACCESSの値の代入に関して

    ACCESS2000を使用しています。 あるテキストコントロールに8桁のコードを入力します。 入力後、更新後のアクションで隣にあるコントロールに=left(8桁のコントロール,4)の 値を代入する仕組みを作成したのですが、この8桁に数字と文字(アルファベット)が 混在することがあり、数字のみの場合はなんなく代入できるのですが、文字が混在する 場合、エラーとなってしまいます。 代入するコントロールのデータ型は勿論テキスト型にしております。 このエラーの対処方をご存知の方がいらっしゃいましたらご教授お願いします。

  • Access(office)のマクロの「値の代入」を使用するとき、式に

    Access(office)のマクロの「値の代入」を使用するとき、式にフォームにテキストボックス値を入力させたいのですが、対象のテキストボックスが「001234」と頭に「0」がつくテキストのせいか、入力値は「1234」となってしまいます。頭に「0」を入れて入力させたいのですがどうしたらよいでしょうか? 使用ソフトはAccess2000です。 ご教授お願いします。

  • ACCESS2021に変えたら値が代入されない

    開いてくださりありがとうございます。 MS-ACCESS2003で開発した業務システムがあります。 今回、ACCESS2021(Microsoft365)に変更したところ、不可解な動作が生じていて非常に困っています。 以下に抜粋したコードを記載します。 -- Me!税抜合計 = Me!小計 Me!消費税 = Me!消費税計 Me!伝票合計 = Me!総額 -- 伝票入力フォームから伝票明細を入力し、その合計が表示されるテキストボックスの値を作業用のテキストボックスに代入しています。 ブレイクポイントで停止させて確認すると、右側の項目には間違いなく値が入っている(マウスポインターを合わせると例えば1000と表示される)のですが、左側の項目は0のままです。 この状況は伝票明細が5行以上の時に発生します。 (4行以下の伝票では発生しません) しかもACCESS2003では問題なく動作していました。 値が代入されないのは長く開発していて初めての現象です。 ぜひアドバイスをお願いします。

  • Accessのレポート上のテキストボックス値を設定したい

    AccessのVBAを使っているのですが、作成したレポートに貼り付けたテキストボックスに値を入れることができません。 Report名.textbox名 = "設定したいデータ" ↑とすると「このオブジェクトに値を代入することはできません。」とエラーメッセージが出ます。 どのようにすれば、値を代入することができるのか教えてください。

  • アクセス2003のサブフォームの値の代入

    アクセス2003でメインフォームにデータシートビューのサブフォームを作成しています。 そのサブフォームのフィールドにイベントで検索用の別のフォームを開くようにしています。 検索用フォームからサブフォームへマクロで値を代入するように しているのですが、サブフォームが見つからないというエラーが表示されます。 どこに問題があるのでしょうか? (ちなみにサブフォームだけ開いて検索フォームを開き値を代入するとうまく行きます。メインフォームからだとエラーになります。) どうぞよろしくお願いします。

  • テキストボックスの値を変数に代入したい。

    テキストボックスの値を変数に代入したいのですが、どういうコードを書けばいいですか? 例えばTextBox1の値を変数xに代入したいのですが。

  • アクセス2013の値集合ソース内の検索か抜き出し

    アクセス2013のフォームのコンボボックスの『値集合ソース』内に書かれたSQLコードの検索か抜き出しはできませんか。 ※書き方がよくなかったので再投稿しています。 アクセス2013でゴリゴリに作られた画面があります。 そこで使われているテーブルを検索して影響範囲の調査をしたいのですが、検索しても『値集合ソース』内に書かれたSQLコードにはヒットしてくれません。 どの画面とどの画面のどこでそのテーブルが使用されているのかが知りたいですが、 コンボボックスとその『値集合ソース』を多用しているために困っています。 『値集合ソース』内に書かれたSQLコード内のテーブルを検索する方法か、 フォームに書かれた『値集合ソース』のコードをテキストで抜き出す方法はありませんか。

  • ACCESS 値の代入

    テキストボックスの値の代入をさせたい下記 例1 Aのテキストボックス Is not Null Bのテキストボックス null 結果 Cのテキストボックス OK 例2 Aのテキストボックス null Bのテキストボックス null 結果 Cのテキストボックス NG 例3 Aのテキストボックス Is not Null Bのテキストボックス Is not Null 結果 Cのテキストボックス NG