حسناً ..
سأقدم لك حلين اثنين ، ولربما سيكون هناك حلول أخرى من الأخوة والساتذة والمعلمين ..
الأول :-
باستخدام الدالة البسيطة التالية :-
Public Function Foksh_TXTK1() As String
Dim rs As DAO.Recordset
Dim result As String
Set rs = CurrentDb.OpenRecordset("SELECT TXTK1 FROM Tablek WHERE TXTK1 Is Not Null", dbOpenSnapshot)
Do While Not rs.EOF
If rs!TXTK1 <> "" Then
result = result & rs!TXTK1 & " , "
End If
rs.MoveNext
Loop
If Len(result) > 3 Then
result = Left(result, Len(result) - 3)
End If
Foksh_TXTK1 = result
rs.Close
Set rs = Nothing
End Function
مع استخدام استعلام ليكون مصدر سجلات النموذج ، كمثال :-
SELECT Tablek.IDK, Tablek.Emp_Code, Tablek.TXTK1, Foksh_TXTK1() AS at_aziz
FROM Tablek;
لاحظ ان إسم الحقل الأخير (at_aziz) هو من سيعرض القيم ، وسيكون مصدر بيانات مربع النص TXT1 في نموذجك .
الثاني :-
باستخدام دالةبسيطة مشابهة تقريباً :-
Private Sub Foksh(frm As Form)
Dim rs As DAO.Recordset
Dim combinedText As String
Set rs = frm.RecordsetClone
rs.MoveFirst
Do While Not rs.EOF
If Not IsNull(rs!TXTK1) And rs!TXTK1 <> "" Then
If combinedText <> "" Then
combinedText = combinedText & " , "
End If
combinedText = combinedText & rs!TXTK1
End If
rs.MoveNext
Loop
Me.TXT1.Value = combinedText
rs.Close
Set rs = Nothing
End Sub
ونستدعيها في حدث "في الحالي - Form_Current" ، بالشكل التالي :-
Private Sub Form_Current()
Foksh Me
End Sub
مرفق الحلين :-
at_aziz.zip