Access2007を使用して、試料の基礎データと実験経過を記録しています。試料基礎資料フォームと実験経過記録フォームがあります。両方のフォームには試料番号のフィールドがあります。いま、試料基礎資料フォームにボタンをつくり、実験経過記録フォームの新規レコードが開くようになっています。このとき、はじめの試料基礎資料フォーム上で参照されているレコードの試料番号フィールドの試料番号を、ボタンを押して実験経過記録フォームを開いたときに、事件経過記録フォームの新規レコードの試料番号のフィールドに自動的に入力するようにしたのですが・・・
どのようにすれば、よいのでしょうか?よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
遅くなり申し訳ありません。
>試してみましたが、動きませんでした。ちなみにこれだと
>実験結果記録フォームが開いたとき、1番目のレコードが
>開いてしまうからかなと思いました。新しいレコードを開き、
>そこの空欄の試料番号の欄に、試料基礎資料フォームの
>試料番号をコピーするとうまくいくなあと素人考えで
>思いました。すみません基本的なことで、新しいレコードを
>開く部分をどう書けばいいですか。
という補足をいただきましたが、最初に回答する時点で
内容を読み間違えていたかもしれないな、と思っていました。
試料基礎資料フォームを開いてときに、試料番号をコピーし、
新しいレコードを開く、ということはコピーした試料番号を
新しいレコードの主キーの番号にするといことなのでしょうか。
新しいレコードとは新規レコードと解釈してよろしいのでしょうか。
実験記録結果フォームのレコードソース、
たとえばテーブルならばテーブルのフィールドの主キー
の名称、データ型、そのほかいくつかのフィールドについて、
また、試料基礎資料フォームについても同様に補足していただければ
と思います。
いただいた補足から何となく判るのですが、具体的な
補足があればと、思います。
No.2
- 回答日時:
失礼ですがアクセスは初心者ですね、
アクセスはリレーショナルデーターベースの一つです。
アクセスの設計はテーブル作成から始めます。
通常のテーブルには、重複を許さない主キーを設けます。
※主キーは通常オートナンバー設定にします。
たまに商品コード等を主キーに設定されたものも見かけますが、商品コードの変更ができなくなるためこれは別に設定してください。
2つ以上のテーブルに共通の項目を1つ用意して、この項目によりテーブル同士を関連付け(リレーションシップと呼ぶ)ます。
リレーションシップが設定されたテーブル間には1:Nで関連付けられます。
本題に入ります。
試料基礎資料と実験経過記録テーブルは出来上がっていますね
それぞれのテーブルには主キーがオートナンバーで設定されていますね、
この項目名を[試料基礎資料ID]と[実験経過記録ID]とします。
実験経過記録テーブルに[試料基礎資料ID]を追加します。
テーブル間を[試料基礎資料ID]でリレーションシップを設定して初期の目的は達成されます。
実験経過記録テーブルを開いて試料基礎資料データを
[試料基礎資料ID]をとばして登録してください
左端の+マークをクリックしてください。
実験経過記録テーブルの窓が開きます。
ヒューマンインターフェースが悪いですね
ウィザードを使ってフォームを作ってください。
このとき、[試料基礎資料ID]、[実験経過記録ID]はウィザードの対象外
プログラムコーディングは一つもいりません
No.1
- 回答日時:
それぞれのフォームの形式がわからないので
試料基礎資料フォームと実験経過記録フォームは
それぞれ単票形式とします。フォームの形式が
帳票形式、あるいはサブフォームを持っている場合は
コードそのものを変更する必要がある場合も
あります。以下手順です。
(1)
試料基礎資料フォームと実験経過記録フォームに
試料番号が表示されるテキストボックスを
ともにtx試料番号とします。名前は適当に変更
してください。
(2)
以下のコードを標準モジュールに貼り付け
保存してください。
Function IsLoaded(strFrmName As String) As Boolean
' フォームがロードされているかをチェック
Const conFormDesign = 0
Dim X As Integer
IsLoaded = False
For X = 0 To Forms.Count - 1
If Forms(X).FormName = strFrmName Then
If Forms(X).CurrentView <> conFormDesign Then
IsLoaded = True
Exit Function
End If
End If
Next
End Function
(3)
以下はフォームのボタンをクリックスして
実験経過記録フォームを開くときのイベント
で試料基礎資料フォームの試料番号を
実験経過記録フォームに貼り付ける
コードです。適当に変更してください。
Private Sub コマンド1_Click()
'tx試料番号にデータがあるか確認
If IsNull(Me!tx試料番号) Then
MsgBox ("試料番号が入力されていません。")
Exit Sub
End If
'実験経過記録フォームを開く
DoCmd.OpenForm ("実験経過記録フォーム"), acNormal
'実験経過記録フォームが開かれたか確認とデータの貼り付け
If IsLoaded("実験経過記録フォーム") = False Then
MsgBox ("実験経過記録フォームがひらかれていません")
Exit Sub
Else
'データの貼り付け
Forms!実験経過記録フォーム!tx試料番号 = Forms!試料基礎資料フォーム!tx試料番号
End If
End Sub
フォームの構造がわからないので今のところ
このような感じです。はずしているかも
しれませんが。
この回答への補足
ご回答ありがとうございました。試してみましたが、動きませんでした。ちなみにこれだと実験結果記録フォームが開いたとき、1番目のレコードが開いてしまうからかなと思いました。新しいレコードを開き、そこの空欄の試料番号の欄に、試料基礎資料フォームの試料番号をコピーするとうまくいくなあと素人考えで思いました。すみません基本的なことで、新しいレコードを開く部分をどう書けばいいですか。
補足日時:2010/05/21 15:38お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
- 大学・短大 東京工科大学のメディア学部に総合型選抜(AO入試)で入学した方に質問です。筆記試験ではどの範囲の問題 1 2022/07/29 14:17
- Outlook(アウトルック) Microsoftアカウントが復元できない 3 2022/10/17 15:03
- 学校 期末レポートの引用したのにも関わらず、参考資料や参考URLを記載しないで提出してしまいました。 四年 4 2022/08/06 20:55
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- 建築士 二級建築士免許 4 2023/03/04 00:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
YahooのIDがロックされてしまい...
-
「フォームを作成できませんで...
-
マイクロソフト アクセス2021の...
-
Accessで、フォームからフォー...
-
アクセスで、スマホサイズのフ...
-
Access 2010フォームの全画面表示
-
Access2003 リンクテーブルを...
-
エクスポートされたエクセルの...
-
帳票フォームのなかにリストを...
-
無効なパスというエラーメッセ...
-
Accessに関する質問です。 クエ...
-
アクセス フォームをリクエリ...
-
フォームを使ったPDFをネット上...
-
アクセスで、androidのスマホサ...
-
大至急!アクセスのフォームを...
-
Accessでフォームとレポートの...
-
ACCESSでオートメーションエラー
-
アクセスのフォームのサイズ
-
Accessのフォーム更新方法
-
MSワード 年齢を計算表示でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
YahooのIDがロックされてしまい...
-
「フォームを作成できませんで...
-
Accessで、フォームからフォー...
-
フォームの高さを数値で指定し...
-
MSワード 年齢を計算表示でき...
-
デフォルトでチェックボックス...
-
マイクロソフト アクセス2021の...
-
Accessのフォームで開く時のウ...
-
Accessフォームを開くときに決...
-
アクセスで、androidのスマホサ...
-
アクセス フォームをリクエリ...
-
Accessに関する質問です。 クエ...
-
Excelのデータフォームの設定変更
-
アクセスで、スマホサイズのフ...
-
エクセルで各セルをダブルクリ...
-
Access2003 フォーム入力中に...
-
アクセスで複数列にまたがる同...
-
アクセスで同じフォームを違う...
-
Accessのフォームを改ページしたい
-
大至急!アクセスのフォームを...
おすすめ情報