Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1782 / 2272 ツリー ←次へ | 前へ→

【5314】ダブルクリックで、データ入力画面に移動 サチチ 05/6/7(火) 11:56 質問[未読]
【5315】Re:ダブルクリックで、データ入力画面に移... 小僧 05/6/7(火) 14:14 回答[未読]
【5316】Re:ダブルクリックで、データ入力画面に移... サチチ 05/6/7(火) 15:04 質問[未読]
【5317】Re:ダブルクリックで、データ入力画面に移... 小僧 05/6/7(火) 15:24 回答[未読]
【5318】Re:ダブルクリックで、データ入力画面に移... サチチ 05/6/7(火) 15:58 質問[未読]
【5319】Re:ダブルクリックで、データ入力画面に移... 小僧 05/6/7(火) 17:10 回答[未読]
【5322】Re:ダブルクリックで、データ入力画面に移... サチチ 05/6/8(水) 10:11 質問[未読]
【5323】Re:ダブルクリックで、データ入力画面に移... 小僧 05/6/8(水) 11:36 回答[未読]
【5327】Re:ダブルクリックで、データ入力画面に移... サチチ 05/6/8(水) 17:14 質問[未読]
【5328】Re:ダブルクリックで、データ入力画面に移... サチチ 05/6/8(水) 17:20 お礼[未読]

【5314】ダブルクリックで、データ入力画面に移動
質問  サチチ  - 05/6/7(火) 11:56 -

引用なし
パスワード
   1.フォームで、1.山田 2.佐藤 3.鈴木 など1件ずつ入力できる様に
単票形式で作成し、
2.フォームで、一覧が分る様に、データシート型で作成したのですが、

2.フォームのレコードセレクタをダブルクリックすると、(1.山田さんをダブルクリック)
1.フォームの1.山田さんの入力画面が飛ぶ様にできますか?
同様に、2.佐藤さんをクリック→入力画面の2.佐藤さんに・・・

よろしくご教授願います。

【5315】Re:ダブルクリックで、データ入力画面に移...
回答  小僧  - 05/6/7(火) 14:14 -

引用なし
パスワード
   ▼サチチ さん:
こんにちは。

前回の質問から判断して「1.フォーム」がメインで「2.フォーム」はサブフォームでしょうか?

フォーム名に「.」が入るのは好ましくないので

「F_メイン」「F_サブ」として…

「山田」「佐藤」 などが入っているフィールドを「名前」フィールドと仮定します。

「F_サブ」に以下のコードでどうでしょうか?

(※要DAO参照設定)
Private Sub Form_DblClick(Cancel As Integer)
Dim MainRS As DAO.Recordset
Dim SubRS As DAO.Recordset
  Set MainRS = Forms![F_メイン].Recordset
  Set SubRS = Me.Recordset
    MainRS.FindFirst "[名前] = '" & Me.名前 & "'"
  Set SubRS = Nothing
  Set MainRS = Nothing
End Sub

【5316】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/7(火) 15:04 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは!

>前回の質問から判断して「1.フォーム」がメインで「2.フォーム」はサブフォームでしょうか?

そうです。

貼り付けてみたのですが、エラーが出てしまいました。

Private Sub Form_DblClick(Cancel As Integer)
Dim MainRS As DAO.Recordset
Dim SubRS As DAO.Recordset
  Set MainRS = Forms![F_発生+被災+実態全体].Recordset
  Set SubRS = Me.Recordset
    MainRS.FindFirst "[T●発生状況.事故ID] = '" & Me.T●発生状況.事故ID & "'"
  Set SubRS = Nothing
  Set MainRS = Nothing
End Sub

↑氏名はサブフォームには持ってきていなかったので、事故IDとしました。
1.のフォームは F_発生+被災+実態全体 という名前です。
サブフォームのダブルクリック時に、上記を貼り付けました。

コンパイルエラー となり、
Private Sub Form_DblClick(Cancel As Integer)  黄色くなる
Dim MainRS As DAO.Recordset           ここが指定される

となっています。

【5317】Re:ダブルクリックで、データ入力画面に移...
回答  小僧  - 05/6/7(火) 15:24 -

引用なし
パスワード
   ▼サチチ さん:
こんにちは。

>>(※要DAO参照設定)

DAOの参照設定は大丈夫でしょうか?

コードを表示させた状態で、ツールバーより

[ツール] → [参照設定] で

「Microsoft DAO x.x Object Library」

にチェックがついているか確認をして下さい。

もしくは、

>>Dim MainRS As Object
>>Dim SubRS As Object

でもいけると思われます。

【5318】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/7(火) 15:58 -

引用なし
パスワード
   ▼小僧 さん:

>「Microsoft DAO x.x Object Library」
>にチェックがついているか確認をして下さい。

つけました!つけたら、今度は、コンパイルエラー
メソッドがみつかりません。のエラーメッセージです。

MainRS.FindFirst "[T●発生状況.事故ID] ='" & Me.T●発生状況.事故ID & "'"

↑の.T●発生状況がダメなようです。やはり.が2つもあるとダメなのでしょうか?
ただし、T●発生状況.事故ID からもってきているのですが・・・

【5319】Re:ダブルクリックで、データ入力画面に移...
回答  小僧  - 05/6/7(火) 17:10 -

引用なし
パスワード
   ▼サチチ さん:
こんにちは。

対象のフィールドがテキスト型の時、「FindFirst」メソッドの引数は

[フィールド名] = "文字列"

の形になります。事故IDのデータ型がテキスト型であれば

MainRS.FindFirst "[事故ID] ='" & Me.事故ID & "'"

でどうでしょうか。

【5322】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/8(水) 10:11 -

引用なし
パスワード
   ▼小僧 さん:
おはようございます。

>MainRS.FindFirst "[事故ID] ='" & Me.事故ID & "'"

とした所、3079エラー 事故IDがSQLステートメントのFROMに複数テーブルで
参照しました。と出てしまったので、

事故IDのテキストボックスの名前を事故NOに変更してみたのですが、

実行エラー3070 事故NOを有効なフィールド名・または式として認識されません
と出てしまいました。

違う所にしたら、出来たのですが・・・、何度か出てくるかもしれないので、
この事故IDがいいと思うのですが、どーもうまく出来ません。

ちなみに、このダフルクリックしたら、この画面が前に出てくるようにも
できますか?

【5323】Re:ダブルクリックで、データ入力画面に移...
回答  小僧  - 05/6/8(水) 11:36 -

引用なし
パスワード
   ▼サチチ さん:
こんにちは。
>
>>MainRS.FindFirst "[事故ID] ='" & Me.事故ID & "'"
>
>とした所、3079エラー 事故IDがSQLステートメントのFROMに複数テーブルで
>参照しました。と出てしまったので、

メインフォームのコントロールソースにクエリ(もしくはSQL)を指定していないでしょうか?
そうであれば事故IDというフィールドが2つ以上あるのでエラーが発生していると思われます。

フィールドを指定する時に「*」を使っているのであれば、1個1個指定してあげて
事故IDのフィールドが2個以上にならないように調整してみてください。


>ちなみに、このダフルクリックしたら、この画面が前に出てくるようにも
>できますか?

「この画面」が指しているところが解らないのですが…。

【5327】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/8(水) 17:14 -

引用なし
パスワード
   ▼小僧 さん:

こんにちは。悩んで、結局事故IDがムリでしたので(自分では、ムリみたいなので)
違うものを、クリックで飛ぶようにしました。

>>ちなみに、このダフルクリックしたら、この画面が前に出てくるようにも
>>できますか?
>
>「この画面」が指しているところが解らないのですが…。

分りずらくて、スミマセン。F_入力画面に飛ぶようにしたいのです。
今は、サブフォームで作った、F_一覧で1をクリックすると、
F_入力画面の1になるのですが、表に出てきてくれず、F_一覧を
クリックして、×を押さないと、F_入力画面が見れないのです。
つまり、画面が重なっていると言えばいいのでしょうか!?
それを、上に出てくる様にしたいのです。

【5328】Re:ダブルクリックで、データ入力画面に移...
お礼  サチチ  - 05/6/8(水) 17:20 -

引用なし
パスワード
   ▼小僧 さん:

できました!!ボタンをクリックすると、開くようにしたものを
コピー&ペーストにしたら、OK!でした。

ちょっと、事故IDで出来なかったのが、心残りですが、
全然OKです。ありがとうございました!!

後、少しで、この災害分析のアクセスが出来上がります。
出来上がるまで、がんばります。

1782 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078241
(SS)C-BOARD v3.8 is Free