1

従業員情報を含むテーブルを含むアクセス データベースがあります。私の問題は、最初に特定の特性が真か偽かを判断するために別のテーブルをループしてから、真であるすべてのレコードを連続した形式で表示したいということです。真のレコードだけでなく、すべてのレコードを入力します。以下のコードを参照してください。

Private Sub RunQuery_Click()
Dim strSQL As String
Dim dba As Database
Dim tbl As Recordset
Dim Code As String
Dim status As String

Set dba = CurrentDb
strSQL = "SELECT DISTINCT EmployeeName,SSN,Location,SystemAssignedPersonID FROM dbo_tbl_Random "
strSQL = strSQL & "WHERE MenuUsed = 'Random' ORDER BY Location,EmployeeName"
Set tbl = dba.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges)
With tbl
  .MoveFirst
  If tbl.EOF Then
    MsgBox "There are no employees on Random at this time.", , "Oops! Try Again"
  Else
    Do Until tbl.EOF
      status = getEmpStatusID(tbl!SystemAssignedPersonID)
      If status = "A" Then
        Set Me.Recordset = tbl
        .MoveNext
      Else
        .MoveNext
      End If
    Loop
  End If
End With
Set tbl = Nothing
Set dba = Nothing
End Sub

getEmpStatusID は別の関数で、問題はありません。従業員 ID を検索して情報を取得し、正常に返します。

助けてくれてありがとう!

4

1 に答える 1

2

私はあなたがすでにほとんどそこにいると思います。getEmpStatusID何ができるかによって、このようなことができます

SELECT DISTINCT EmployeeName,SSN,Location,T.SystemAssignedPersonID 
FROM dbo_tbl_Random R
Inner JOin Table_Where_Status_Is_Found as T 
    on T.SystemAssignedPersonID = R.SystemAssignedPersonID
WHERE MenuUsed = 'Random' and T.SystemAssignedPersonID = 'A'
ORDER BY Location,EmployeeName

それをフォームの行ソースとして使用し、VBA を使用しないでください。ただし、を使用したため、フォームは更新できませんdistinct。それは必要ですか?

于 2014-04-01T18:15:01.550 に答える