Access VBA質問箱 IV

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

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


3200 / 9994 ←次へ | 前へ→

【10056】うまく値を取得できないのですが・・。
質問  あおぎん  - 07/12/5(水) 9:54 -

引用なし
パスワード
   いつもお世話になります。
またわからなくなったので教えてください。


健康診断等を管理するデータベースを作成しています。

その中で衛生管理者等の意見を記入するため、コメントリストを作成し選択するようにしています。

T_コメントは
以下のようなテーブル構成で、1指導 2再検査 3治療 3つの区分にわかれ、それぞれにコメント番号を付してコメントリストを作っています。(各区分の項目は現在10〜15くらい)
T_コメント
コメント区分コード コメント区分 コメント番号 コメント 
1          指導     1     ○○に注意しましょう。
1          指導     2     ○○を控えましょう
2          再検査    1     ○○の検査を受けましょう
2          再検査    2     ▲▲の検査を受けましょう
3          治療     1     ○○の治療が必要です。
3          治療     2     ▲の値について○○の治療を受けてください。

このT_コメントを元に各受検者のデータの意見欄に入力していくのですが、リストにない意見をその都度増やす必要があるため、F_コメントリストフォームのコマンドボタンをクリックすると、そのコメントの新しい番号を取得しそのレコードに飛ぶようにコメント追加ボタン(コマンド66)を配置し、下のようにコードを書いています。


Private Sub コマンド66_Click()
On Error GoTo Err_コマンド66_Click
 Dim intX As Integer
Select Case Forms!F_コメント入力!フレーム33
Case 1
   DoCmd.GoToRecord , , acNewRec
   DoCmd.OpenTable "T_コメント", acNormal, acEdit
   intX = DMax("コメント番号", "T_コメント", "コメント番号>0 and コメント区分コード=1 ")
  コメント番号 = intX + 1
  コメント区分コード = 1
  コメント区分 = "指導"
   DoCmd.Close acTable, "T_コメント"
 Case 2
  DoCmd.GoToRecord , , acNewRec
  DoCmd.OpenTable "T_コメント", acNormal, acEdit
  intX = DMax("コメント番号", "T_コメント", "コメント番号>0 and コメント区分コード=2 ")
  コメント番号 = intX + 1
  コメント区分コード = 2
  コメント区分 = "再検査"
  DoCmd.Close acTable, "T_コメント"
Case 3
  DoCmd.GoToRecord , , acNewRec
  DoCmd.OpenTable "T_コメント", acNormal, acEdit
  intX = DMax("コメント番号", "T_コメント", "コメント番号>0 and コメント区分コード=3 ")
  コメント番号 = intX + 1
  コメント区分コード = 3
  コメント区分 = "治療"
   DoCmd.Close acTable, "T_コメント"
   End Select
Exit_コマンド66_Click:
  Exit Sub
Err_コマンド66_Click:
  MsgBox Err.Description
  Resume Exit_コマンド66_Click
 
End Sub

F_コメント入力!フレーム33はコメント区分を選択するオプショングループです。
フレーム33で1を選択すると、コメント区分が「指導」のF_コメントリストフォームが表示されます。

F_コメント入力!フレーム33で「指導」を選択している場合は、T_コメントテーブルの、指導区分のコメント番号のいちばん大きい値を取得し、1を加えた数値をコメント番号に入力し、ついでにコメント区分コードと区分も入力するという処理を行っているつもりなのですが、

実際にコマンドボタンをクリックすると、3の治療を選択しているのにもかかわらず、2の再検査の値を取得したりと、処理がうまくいきません。


解消方法をどなたか教えていただけたらと思います。
よろしくお願いします。

(Win /Accessともに2000)

680 hits

【10056】うまく値を取得できないのですが・・。 あおぎん 07/12/5(水) 9:54 質問[未読]
【10057】Re:うまく値を取得できないのですが・・。 VBWASURETA 07/12/5(水) 10:56 発言[未読]
【10060】Re:うまく値を取得できないのですが・・。 あおぎん 07/12/5(水) 13:44 お礼[未読]
【10059】Re:うまく値を取得できないのですが・・。 小僧 07/12/5(水) 11:43 回答[未読]
【10061】Re:うまく値を取得できないのですが・・。 あおぎん 07/12/5(水) 13:59 回答[未読]

3200 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free