امکان جستجو در فیلد Attachment
دوستان عزیز سلام. بنده به تازگی کار با اکسس را شروع کرده ام. یه فایل اکسس درست کردم که اطلاعات یه سری جزوه رو نگه داری میکنه. از جمله یه فیلد دارم که فایل Word جزوه را در او بارگذاری میکنم. آیا امکان جستجو وجود داره بتونم در بین جزوه ها به دنبال یه کلمه یا یک جمله بگردم؟ ممنون میشم راهنمایی کنید.
نقل قول: امکان جستجو در فیلد Attachment
سلام و روز خوش
راه درست این هست که پیش از (یا همزمان با) attach کردن فایلهای word،
متن اون رو در یک فیلد long text بریزین (با VBA و نه دستی).
به جز اون، برای هر فایل باید فیلدهایی مثل تاریخ، موضوع و کلیدواژه ها رو هم در نظر بگیرین،
و جستجو رو در این فیلدها انجام بدین و نه خود داکیومنت ورد.
بدون پیاده سازی اینها جستجوی مستقیم در فایل پیوست،
هم سخت تر و پیچیده هست،
هم کندتر و هم این که نهایتا به یک فایل محدود میشه،
و برای هر فایل باید جستجو تکرار بشه.
1 ضمیمه
نقل قول: امکان جستجو در فیلد Attachment
با سلام
از نمونه پیوست استفاده کنید
نقل قول: امکان جستجو در فیلد Attachment
نقل قول:
نوشته شده توسط
dastgerdi
با سلام
از نمونه پیوست استفاده کنید
سلام و روز خوش
وقتی از هوش ساختگی درخواست کد میکنین،
باید خواسته خیلی دقیق مطرح بشه:
جستجو در اسم فایل پیوست شده هیچ ارتباطی با جستجو در محتوای فایل پیوست شده نداره.
نقل قول: امکان جستجو در فیلد Attachment
جناب دستگردی ممنون از راهنماییتون. لطف کردین.
یه سئوال دیگه: نام یکی از فیلدهای جدولم را تغییر دادم ولی موقع کد نویسی اون فیلد را نمیشناسه دلیلش چیه؟
نقل قول: امکان جستجو در فیلد Attachment
نقل قول:
نوشته شده توسط
banihoseiny
جناب دستگردی ممنون از راهنماییتون. لطف کردین.
سلام
ممکنه برای ما هم توضیح بدهین که به چه صورتی از نمونه جناب دستگردی استفاده کرده این که به نتیجه رسیدن ؟
1 ضمیمه
نقل قول: امکان جستجو در فیلد Attachment
درود خدمت همه عزیزان
ببخشید نمونه قبلی جهت جستجوی فایل های پیوست بود
نمونه زیر برای جستجوی یک متن در فایل های Word پیوست شده در فیلد Attachment می باشد.
نقل قول: امکان جستجو در فیلد Attachment
2 روز برای کپی کردن هوش ساختگی،
و پاک کردن کامنتهای اون،
و چسبوندن تبلیغ زمان زیادیه!
کد اصلی پیشنهادی هوش ساختگی که در برنامه پیوست پست شماره 7 بدون آوردن منبع کپی شده رو پایین آوردم،
ولی موضوع اصلی این نیست.
اشکال کار سر این هست که مشخصا هیچ شناختی از موقعیت های واقعی و دید عملی در این کد نیست -
برای هر جستجو باید همه فایلهای پیوست شده روی دیسک ساخته و یکی یکی در word باز بشه،
و بعد در content جستجو انجام بشه.
این پروسه در عمل کاملا غیرمنطقی هست، کافی هست تعداد و اندازه پیوست ها بیشتر باشه تا خودش رو نشون بده.
روش درست همونی هست که در پست شماره 2 گفتم
هوش ساختگی ممکنه به شما کد پیشنهاد بده،
ولی تشخیص این که کد در شرایط واقعی چه اندازه موثر و عملی هست نیاز به تجربه کافی و اشراف به همه جوانب داره که در این پاسخ نیست.
Sub SearchWordInAttachment()
Dim db As DAO.Database
Dim rs As DAO.Recordset2
Dim rsAttach As DAO.Recordset2
Dim wordApp As Object
Dim wordDoc As Object
Dim searchText As String
Dim foundText As Boolean
Dim tempFilePath As String
' Open the database
Set db = CurrentDb
' Open the recordset
Set rs = db.OpenRecordset("YourTableName")
' Loop through records
Do While Not rs.EOF
' Check if there is an attachment
If Not rs("YourAttachmentFieldName").Value Is Nothing Then
' Get the attachment field
Set rsAttach = rs("YourAttachmentFieldName").Value
' Loop through attachments (if there are multiple)
Do While Not rsAttach.EOF
' Save the attachment to a temporary file
tempFilePath = Environ("Temp") & "" & rsAttach("FileName")
rsAttach("FileData").SaveToFile tempFilePath
' Open Word application
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = False
' Open the Word document
Set wordDoc = wordApp.Documents.Open(tempFilePath)
' Search for text
searchText = "YourSearchText"
foundText = wordDoc.Content.Find.Execute(FindText:=searchText)
' Display result
If foundText Then
MsgBox "Text found in document: " & rsAttach("FileName")
Else
MsgBox "Text not found in document: " & rsAttach("FileName")
End If
' Close the Word document
wordDoc.Close SaveChanges:=False
' Quit the Word application
wordApp.Quit
' Move to the next attachment (if there are multiple)
rsAttach.MoveNext
Loop
End If
' Move to the next record
rs.MoveNext
Loop
' Clean up
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
نقل قول: امکان جستجو در فیلد Attachment
جناب دستگردی سلام و عرض ادب. ممنون از وقتی که گذاشتین