با توجه به اینکه اطلاعات جدول در فرم و در نمای Single Form نمایش داده میشه میتونید کدها رو بصورت زیر هم تغییر دهید:
Public Sub PopulateBookmarks()
Dim sPathName As String
Dim sDocName As String
Dim sFamily As String
Dim sFamilyTable As String
Dim iSeqNum As Integer
Set db = CurrentDb()
Set WordApp = New Word.Application
WordApp.Visible = True
DoCmd.Hourglass True
sPathName = GetCurrentPathName
sDocName = QUOTE & sPathName & "Sanad.Docx" & QUOTE
Set WordDoc = WordApp.Documents.Add(sDocName)
WordDoc.FormFields("ID").result = ID
WordDoc.FormFields("NameP").result = NameP
WordDoc.FormFields("Family").result = Family
'WordDoc.FormFields("Job").result = Job
WordDoc.Bookmarks("Job").Range.InsertAfter Me.Job
Set WordDoc = Nothing
DoCmd.Hourglass False
MsgBox "عمليات انتقال رکورد جاري به محيط ورد به پايان رسيد", vbOKOnly
End Sub
در خصوص مشکل محدودیت 255 کارکتر تکست باکس ورد یک گزینه امتحان کردم و تقریبا جواب هم داد و اون اینکه از خاصیت Range.InsertAfter تکست نشانه گذاری شده استفاده کنی
فرض می کنیم تعداد کارکترهای فیلد Job بیشتر از 255 باشد و میخواهی تمام کارکترهای این فیلد در فایل ورد درج شود . برای اینکار بجای کد :
WordDoc.FormFields("Job").result = Job
از کد :
WordDoc.Bookmarks("Job").Range.InsertAfter Me.Job
استفاده کن
تنها مشکل این حالت اینه که متن در داخل تکست باکس درج نمیشه و بعد از تکست باکس درج میشه
فعلا علی الحساب این حالت رو امتحان کن تا بعدا اگه فرصت بود ان شاءالله حالت های دیگه هم امتحان کنیم