- ベストアンサー
アクセスで内容を変更していきたい。
初心者です。あるリストで、テーブルを作成してみました。その整理番号を入力したら、内容が変更できるようにしたいのですが、どうすればいいのですか?。フォームを作成する?クエリを作成する?今まではクエリを使って集計、検索しかしたことなくて。フォームを作ってみたのですが、主キーに指定した整理番号を入力しても、データが一番始めのデータから動きません。勉強不足ですみません。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
モジュールを作ると便利ですがちょっと作業がたいへんです。以下の通りやってみてください。わからなかったら また質問してください。 (1)フォームを普通に作成する。 (表示したいテーブル) (2)フォームのデザインモードにする (3)プロパティボックスを開く (4)ツールボックスから新しいテキストボックスをフォーム上に作成する (5)そのテキストボックスの名前を仮にテキスト2 とする (6)そのテキストボックスをクリックしてプロパティボックスからイベントのタグを選択して、その中ならフォーカス喪失時の右のボックスからイベントプロシージャを選択 (7)すると新たにVBAモジュールボックスが開きます。 ここに作業する内容(プログラム)を書くのですが 以下の部分をコピーペーストして下さい。 実際1行目と最後の行は書かれていると思うので それ以外の行をコピーして貼り付けします。 そのまま保存ボタンを押して、VBAを閉じても結構です。 (8)フォームデザインを終了して実行して下さい。 (9)作成したテキスト2をクリックして数字を入れて下さい。レコードが指定したところに移動するのを 確認して下さい。 ★最後にタブなどで形式を整えます。 後その数字がない場合の処理などですが、取りあえず ここまで動くかどうかチェックして下さい。 ★尚途中でおかしくなったら困るのでフォームは 練習用のものか、コピーなどを浸かって下さい。 ★テキストボックスの名前が違うとエラーになりますので モジュール内のテキスト2を正しい名前に変更します。 これでどうですか? ------------ Private Sub テキスト2_Exit(Cancel As Integer) On Error GoTo テキスト2_Change_Err Dim Num As Integer If IsNumeric(テキスト2.TEXT) Then Num = テキスト2.TEXT DoCmd.GoToRecord acForm, "test1", acGoTo, Num End If テキスト2_Change_Exit: Exit Sub テキスト2_Change_Err: MsgBox Error$ Resume テキスト2_Change_Exit End Sub ------------
その他の回答 (2)
- butaichi
- ベストアンサー率26% (4/15)
パラメータを設定したいということでしょうか? であれば、クエリの抽出条件に[整理番号を入力]と入力して保存したらそのクエリを元にフォームを作成で良いと思います。 やりたいことと違ってたらごめんなさい。
お礼
回答ありがとうございます。 やてみます。
- laputart
- ベストアンサー率34% (288/843)
やりたい内容がいまいち理解できません。 整理番号をテーブルの主キーに設定して、フォームで 主キーを指定するテキストボックスを設けてその番号を入力すると該当するデータを表示させたいという事ですか?
補足
内容が曖昧ですみません。 はい。主キーで検索、表示して、記入されてない内容を追加して行きたいです。
お礼
御丁寧な回答ありがとうございます。 モジュールの設定ですね。 あけたことのないテキストボックスとかなのですが、 やってみます。