ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
بعلت حجیم شدن دیتابیس از بکار بردن فیلد Attachment پرهیز کنید.
برای باز شدن فایلی چه اکسل چه اکسس چه عکس از FollowHyperLink استفاده کنید
Application.FollowHyperLink "مسیرو نام فایل"
Fields List :
کالمن FileData در فیلدی با دیتا تایپ Attachment ( مثل تصویر زیر فیلد با نام image که Child است و Parent ، جدول ) - داده ها باینری هستند ! نه تکست چندین بار عنوان کردم
به قول شخصی خودم فیلدی است ( FileData ) در فیلد دیگر ( Image )
شئ ADO STREAM برای خواندن ، نوشتن و مدیریت یک جریانی از داده های باینری یا تکست استفاده می شود.یک Stream Object از سه طریق می تواند حاصل شود : از یک URL که به سندی اشاره می کند ، یک فولدر ، یا یک شئ رکورد ( Record Object )
لینک زیر ویژگیها ، متدها و رویدادهای Stream Object ذکر شده
از Charset مثل تنظیم روی "UTF-8" زمانی استفاده می شود که بخواهید متنی رو از فرضا Ansi به کاراکترهای یونیکد UTF-8 تبدیل کنید.
Set stream = CreateObject("ADODB.Stream")stream.Open stream.Type = 2 'text
stream.Charset = "utf-8"stream.Position = 0 stream.WriteText str stream.Flushstream.Read(3) 'skip BOMstream.Position = 0 stream.Type = 1 'binary utfStr = stream.Readstream.Close
ado-api/stream-object-properties-methods-and-events
Set Rs=CreateObject("ADODB.Recordset")
Rs.Edit
Set StreamObj=CreateObject("ADODB.Stream")
StreamObj=adTypeBinary
StreamObj.Open
Stream.LoadFromFile FileName
Rs.Fields("FieldName").Value=StreamObj.Read
Rs.Update
Rs.Close
SaveToFile اضافه کردن فایل به دیسک
LoafFromFile بارگزای فایل مشخص شده از دیسک
راه های زیادی برای لود کردن فایل به bytearray وجود دارد .که میتوان از آبجکت ADODB.Stream استفاده نمود.
Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("dbo_WATER_FILES", dbOpenDynaset, dbSeeChanges)
rst.Edit
Dim strm As Object
Set strm = CreateObject("ADODB.Stream")
strm.Type = 1 'adTypeBinary
strm.Open
strm.LoadFromFile "C:\test.jpg"
rst.Fields("Binary_File").Value = strm.Read 'FileData
strm.Close
rst.Update
برای برگشت باینری به یک فایل :
With CreateObject("ADODB.Stream")
.Type = 1 'adTypeBinary
.Open
.Write rst.Fields("Binary_File").Value
.SaveToFile "C:\testcopy.jpg", 2 'adSaveCreateOverWrite
.Close
End With
تبدیل باینری به تکست یا تکست به باینری هم از همین آبجکت
می توان بهره برد.
Field Name Description FileData The file itself is stored in this field. FileFlags Reserved for future use. FileName The name of the file in the attachment field. FileTimeStamp Reserved for future use. FileType The file extension of the file in the attachment field. FileURL The URL for the file for a linked SharePoint list. Will be Null for local Access tables.