最好把整个Word文档保存到数据库,这样就不会丢失Wrod中的格式及所有其它的一些内容。
完整的代码如下:如果是用SQL那么保存文件的字段类型应该是Binary。如果是用Access,那么保存文件的字段应该用OLD对象,在表中显示为长二进制数据。

'将任何文件从数据库中下载到本地:
Public Function LoadFile(ByVal col As ADODB.Field, ByVal FileName As String) As Boolean '获得binary数据
On Error GoTo myerr:
Dim arrBytes() As Byte
Dim FreeFileNumber As Integer
lngsize = col.ActualSize
arrBytes = col.GetChunk(lngsize)
FreeFileNumber = FreeFile
Open FileName For Binary Access Write As #FreeFileNumber
Put #FreeFileNumber, , arrBytes
Close #FreeFileNumber
LoadFile = True
myerr:
If Err.Number <> 0 Then
LoadFile = False
Err.Clear
End If
End Function

&#39;将文件从本地上传到数据库中
Public Function UpLoadFile(ByVal FileName, ByVal col As ADODB.Field) As Boolean
On Error GoTo myerr:
Dim arrBytes() As Byte
Dim FreeFileNumber As Integer
FreeFileNumber = FreeFile
Open FileName For Binary As #FreeFileNumber
n = LOF(FreeFileNumber)
ReDim arrBytes(1 To n) As Byte
Get #FreeFileNumber, , arrBytes
Close #FreeFileNumber
col.AppendChunk (arrBytes)
UpLoadFile = True
myerr:
If Err.Number <> 0 Then
UpLoadFile = False
Err.Clear
End If
End Function

szh的意见:
数据库字段:wjmc 文件名,wjsx 文件的扩展名。Wjnr 文件的内容为二进制。(若access数据库为“ole对象”,sql server为“image”)

该程序可以操作所有的文件类型。
Dim Wenjian As String

Dim RD As Byte

Dim SIZE As Long

Const MYSIZE = 1048576

Dim WENJIANN() As Byte

Dim Rs As New ADODB.Recordset

Rs.Open &#34;sel&#101;ct * from wj&#34;, Cn, 1, 3

Rs.AddNew

Rs!wjmc = Mid(Name, 1, InStr(Name, &#34;.&#34;) – 1)

Rs!wjsx = Mid(Name, InStr(Name, &#34;.&#34;) + 1)

‘name为文件的名称加扩展名

Open Filename For Binary Access Read As #1

SIZE = LOF(1)

Do While SIZE – MYSIZE >= 0

ReDim WENJIANN(MYSIZE) As Byte

Get #1, , WENJIANN

Rs!wjnr.AppendChunk WENJIANN

SIZE = SIZE – MYSIZE

Loop

If SIZE > 0 Then

ReDim WENJIANN(SIZE) As Byte

Get #1, , WENJIANN

Rs!wjnr.AppendChunk WENJIANN

End If

Close #1

Rs.Up&#100;ate

Set Rs = Nothing

ldx的意见:
其实用不着这么复杂。先将你的Word文档转换成RTF文档。再用两个语句方法既可:一个是RichTextBox1.LoadFile strOpen, 0,另一个是rsRecodset(&#34;字段名&#34;).AppendChunk RichTextBox1.TextRTF。其中strOpen是你要打开的RTF文档。
前一个语句将你的RTF文档显示到RichTextBox控件中,后一语句将RichTextBox控件中的格式化文档灌入数据库字段。这是两个核心语句,其余配合的语句我想你应该知道。如果你不想用第二个语句,那么再画一个Data数据控件则更简单。

引用地址:https://www.dfbys.cn/archives/10.html

  留言暂时关闭