|
テーブル フィールド
社員名テーブル :社員ID、社員名、社員名フリガナ、削除フラグ
ステータステーブル:ステータスID、ステータス名、ステータスフラグ
日付テーブル :日付ID、社員ID、ステータスID、日付、
様子伺いの担当者、備考(帰社した期間)
1.、社員名一人一人の今日の日付から日付を引く計算(date-日付ですか?)
とステータス名が太子堂勤務開始日の場合の計算は0にして表示させたいので
すがどうすればいいですか。
・今日の日付ー日付(date-日付ですか?)
・ステータス名が太子堂勤務開始日の計算は0(太子堂勤務開始日=0)
2.、表形式のフォームに表示させたいです。
社員名、ステータス名、日付、様子伺いの担当者、備考(帰社した日付)、
計算した結果を表示させたいです。
教えてください。お願い致します。
コードには計算、フォームに表示させるコードを書いてないです。
Private Sub コマンド62_Click()
Dim adoCON As ADODB.Connection
Dim adoRS As ADODB.Recordset
Set adoCON = Application.CurrentProject.Connection
Set adoRS = adoCON.Execute
("SELECT T04.社員名, T04.ステータス名, T04.日付, T04.様子伺いの担当
者, T04.備考(帰社した期間)
FROM [SELECT T02.社員ID,
T03.社員名,
T01.ステータス名,
MAX(T02.日付) AS 日付,
T02.様子伺いの担当者,
T02.備考(帰社した期間)
FROM (ステータステーブル T01
INNER JOIN 日付テーブル T02
ON T01.ステータスID = T02.ステータスID)
INNER JOIN 社員名テーブル T03
ON T02.社員ID = T03.社員ID
WHERE T01.ステータスフラグ=Yes
AND T03.削除フラグ=No
GROUP BY T02.社員ID,
T03.社員名,
T01.ステータス名,
T02.様子伺いの担当者,
T02.備考(帰社した期間)]. AS T04
INNER JOIN [SELECT T02.社員ID,
T03.社員名,
MAX(T02.日付) AS 日付
FROM (ステータステーブル T01
INNER JOIN 日付テーブル T02
ON T01.ステータスID = T02.ステータスID)
INNER JOIN 社員名テーブル T03
ON T02.社員ID = T03.社員ID
WHERE T01.ステータスフラグ=Yes
AND T03.削除フラグ=No
GROUP BY T02.社員ID,
T03.社員名]. AS T05 ON (T04.社員ID = T05.社員
ID) AND (T04.日付 = T05.日付);")
Do Until adoRS.EOF = True
MsgBox (adoRS!日付)
adoRS.MoveNext
Loop
adoRS.Close
adoCON.Close
Set adoRS = Nothing
Set adoCON = Nothing
End Sub
|
|