複合キーに関連するすべてのフィールドをフォームフィールドに表示する方法を探しています。これは、ユーザーが複数のレコードを入力しているときに、作業中のレコードを追跡するのに役立ちます。現在、複合キーのフィールドにのみアクセスが表示されます。ms vbaにアクセスすると、複合キーのすべてのフィールドがフォームに表示されます
フォームには、現在、HeaderDataテーブルにリンクするための参照フィールドがあります。私はそれから値を取って、フォームフィールドに関連するレコードを見つけて表示して、ユーザーが正しい入力を入力したことを知り、データ入力中に場所を失わないようにします。ここで
は、私が試したものですが、私は結果を示していない午前:
Private Sub ProviderName_LostFocus()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim vcatch As String
strSQL = "SELECT ID, AgencyID, ProviderName, AssessmentPeriod FROM HeaderData"
Set db = CurrentDb
Set rs = db.OpenRecordset("strSQL", dbOpenDynaset)
If Not (rs.BOF And rs.EOF) Then
rs.MoveFirst
Do While Not rs.EOF
If Me.ProviderName.Value = rs.Fields(ProviderName) Then
vcatch = rs.Fields(ID) + " " + rs.Fields(AgencyID) + " " + rs.Fields(ProviderName) + " " + rs.Fields(AssessmentPeriod)
Me.Text22 = vcatch
rs.MoveLast
Else
rs.MoveNext
End If
Loop
Me.Tally1.SetFocus
End If
rs.Close
db.Close
End Sub
私はすべてのフィールドの表示について何かを見つけることができませんすべてに目を通す必要があります。どんな助けでも大歓迎です。
は、応答のためにありがとうございました。 ITは正しい情報をキャッチしているようだが、それは私にエラーを与えている:ランタイムエラー13: "vcatch = ..."行にタイプの不一致。なぜこの問題が起こっているのか分かりません。任意の提案をいただければ幸いです。 – user1084089
最後のコメントは無視してください。私がしなければならなかったのは、 "+"記号を "&"記号に変えることでした。これにより不一致エラーが解消されました。 – user1084089
VBAの連結演算子は、 "+"ではなく、 "+"です。 – JimmyPena