あなたの習慣について教えてください!!

いつも同じような質問で申し訳ありません。

今、アクセスでお客様管理のデータベースソフトを作っています。

検索フォームを作り、そこにお客様のIDを入れると、該当するお客様の情報が、表形式のフォームで出るようにしました。

しかしその場合だと、クエリを参照して作成しているため、入力(テーブルの更新)ができません。

特にそのフォーム上でなくてもかまいませんので、入力させる方法はないでしょうか?

新規・更新用のフォームは作ってありますので、クリックするとそのフォームが開いて入力できるようになるとか・・・。

よろしくお願いします。

A 回答 (3件)

>クエリを参照して作成しているため入力(テーブルの更新)ができません。


グループ化されたクエリを使っていなければ更新できるはずですが。

>特にそのフォーム上でなくてもかまいませんので、入力させる方法はないでしょうか?
>新規・更新用のフォームは作ってあります
>お客様の情報が表形式のフォームで出るようにしました。
簡単にできます。
表形式のフォーム?をプロパティを開き既定のビューを帳票フォームにします。
詳細の左端にでもボタンを作りそのボタンをクリックすると更新用フォームが開くようにすれば良いのではないでしょうか。
ツールボックスからボタンコントロールを配置するとウィザードが開きますので順次進めます。
フォームの操作→フォームを開く→更新用フォームを選択する→特定のレコードを表示する→関連付けるフィールドを選択します。(例えばお客様IDとお客様IDなどキーになるもの)→ボタンの表示やアイコンなど設定する→完了ボタン
で出来ます。

ボタンのクリック時イベントでやるなら
Private Sub ボタン名_Click()
On Error GoTo Err_ボタン名_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "更新用のフォーム名"

stLinkCriteria = "[お客様ID]=" & "'" & Me![お客様ID] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_ボタン名_Click:
Exit Sub

Err_ボタン名_Click:
MsgBox Err.Description
Resume Exit_ボタン名_Click

End Sub
こんな感じです。
    • good
    • 0
この回答へのお礼

ありがとうございます。

その方法でボタンを設置してうまく行きました。
これでとりあえず様子を見てみます。

お礼日時:2005/09/29 15:09

#1です。



>主キーが設定できません。その場合はどのようにすればよろしいでしょうか。

既定のフィールドにキーを設定できない場合は「ID」などのフィールドを作成し
じどうオートナンバー型で連番を振るフィールドを主キーに設定しては如何ですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。

ダミーで主キーを設定してみましたが、うまくいきませんでした。
ですので、下記で教えてもらったやり方でやりました。

もし上司に怒られましたら、また直接入力する方法をやってみます。

お礼日時:2005/09/29 15:06

>しかしその場合だと、クエリを参照して作成しているため、入力(テーブルの更新)ができません。



テーブルに主キーの設定をしていないのではないですか?
クエリからの入力も出来ますよ?
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございます。

確認したところ、一つのテーブルで主キーが設定されていませんでした。
ただ、そこはすべての項目で重複する可能性があるので、主キーが設定できません。その場合はどのようにすればよろしいでしょうか。

お礼日時:2005/09/29 11:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す