Access VBA質問箱 IV

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

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


5813 / 9994 ←次へ | 前へ→

【7394】Re:日報の作成
回答  小僧  - 06/2/27(月) 10:45 -

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

>テーブル:T_日報情報
>
>  フィールド名 データ型
>  日報ID    オートナンバー型
>  業務内容   テキスト型
>  残業時間   数値型


まず、こちらのテーブルには T_社員 との関連がないので、
社員ID フィールドを追加します。

また、日付のフィールドも追加してみましょう。

テーブル:T_日報情報

  フィールド名 データ型
  日報ID    オートナンバー型
  社員ID    数値型
  日付     日付/時刻型
  業務内容   テキスト型
  残業時間   数値型
  

お望みの日報を作る方法は色々あると思われますが、
一案としてワークテーブル(一時的に使用するテーブル)を使った方法を紹介させて頂きます。

まず、下記の様なテーブルを用意します。

テーブル:T_Work

  フィールド名 データ型
  社員ID    数値型   (主キー)
  日付     日付/時刻型
  業務内容   テキスト型
  残業時間   数値型
  
そしてフォームはこのテーブルを元にウィザードで作成します。
社員名でなく、社員ID のテキストボックスができてしまうので、
こちらを不可視にして、テキストボックスを追加します。

テキストボックス:社員名
コントロールソース:=DLookUp("社員名","T_社員","社員ID=" & [社員ID])

あとは、こちらのフォームの「読み込み時」「読み込み解除時」に
T_Work のデータを出し入れする様な処理を加えてあげます。

Private Sub Form_Load()
Dim strSQL As String

  strSQL = "INSERT INTO T_Work(社員ID, 日付) " _
      & "SELECT 社員ID, Date() FROM T_社員"
     
  DoCmd.RunSQL strSQL
  Me.Requery
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim strSQL As String
  
  strSQL = "INSERT INTO T_日報情報(日付, 社員ID, 業務内容, 残業時間) " _
      & "SELECT 日付, 社員ID, 業務内容, 残業時間 FROM T_Work"
  
  DoCmd.RunSQL strSQL
  
  strSQL = "DELETE FROM T_Work"
  DoCmd.RunSQL strSQL
End Sub

何かしらのヒントになりましたら幸いです。
828 hits

【7389】日報の作成 青首 06/2/25(土) 21:37 質問
【7394】Re:日報の作成 小僧 06/2/27(月) 10:45 回答
【7397】Re:日報の作成 青首 06/2/27(月) 19:45 お礼
【7398】Re:日報の作成 青首 06/2/27(月) 20:57 質問
【7401】Re:日報の作成 小僧 06/2/28(火) 8:58 回答
【7416】Re:日報の作成 青首 06/2/28(火) 22:08 質問
【7417】Re:日報の作成 小僧 06/3/1(水) 10:22 回答
【7419】Re:日報の作成 青首 06/3/1(水) 21:06 お礼
【7420】Re:日報の作成 青首 06/3/1(水) 22:00 質問
【7431】Re:日報の作成 青首 06/3/2(木) 22:27 質問
【7432】Re:日報の作成 青首 06/3/2(木) 22:41 発言
【7433】Re:日報の作成 小僧 06/3/3(金) 11:35 発言
【7434】Re:日報の作成 小僧 06/3/3(金) 11:56 回答
【7445】Re:日報の作成 青首 06/3/5(日) 18:08 質問
【7447】Re:日報の作成 小僧 06/3/6(月) 9:55 発言
【7457】Re:日報の作成 青首 06/3/6(月) 22:28 お礼

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