Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba MS Access中的附件字段_Vba_Ms Access_Attachment - Fatal编程技术网

Vba MS Access中的附件字段

Vba MS Access中的附件字段,vba,ms-access,attachment,Vba,Ms Access,Attachment,我想更改一个表并创建一个带有类型附件的新字段 首先我想到了以下几点: Dim SQL_Attachement_Str As String SQL_Attachement_Str = "ALTER TABLE tbl_FinalTable_summerized ADD CoCAttachement ATTACHMENT" DoCmd.RunSQL SQL_Attachement_Str Dim SQL_Attachement_Str As String SQL_Attachement_Str =

我想更改一个表并创建一个带有类型附件的新字段

首先我想到了以下几点:

Dim SQL_Attachement_Str As String
SQL_Attachement_Str = "ALTER TABLE tbl_FinalTable_summerized ADD CoCAttachement ATTACHMENT"
DoCmd.RunSQL SQL_Attachement_Str
Dim SQL_Attachement_Str As String
SQL_Attachement_Str = "ALTER TABLE tbl_FinalTable_summerized ADD CoCAttachement TEXT"
DoCmd.RunSQL SQL_Attachement_Str

Dim tbl As TableDef

Set db = CurrentDb
Set tbl = db.TableDefs("tbl_FINALtable_Summerized")
tbl.Fields("CoCAttachement").Type = dbAttachment

Set tbl = Nothing
Set db = Nothing
但不幸的是(就我而言)这是不可能的

我的第二次尝试是,首先将字段创建为文本类型,然后将类型更改为附件,如下所示:

Dim SQL_Attachement_Str As String
SQL_Attachement_Str = "ALTER TABLE tbl_FinalTable_summerized ADD CoCAttachement ATTACHMENT"
DoCmd.RunSQL SQL_Attachement_Str
Dim SQL_Attachement_Str As String
SQL_Attachement_Str = "ALTER TABLE tbl_FinalTable_summerized ADD CoCAttachement TEXT"
DoCmd.RunSQL SQL_Attachement_Str

Dim tbl As TableDef

Set db = CurrentDb
Set tbl = db.TableDefs("tbl_FINALtable_Summerized")
tbl.Fields("CoCAttachement").Type = dbAttachment

Set tbl = Nothing
Set db = Nothing
因此,我需要的是一种将带有类型附件的字段添加到表中的方法


谢谢大家:D

如果您不添加数据,只需添加一个字段,您可以始终保持简单,并在设计视图中添加该字段,不是吗

你刚刚激发了一些研究

currentdb.TableDefs("Table").CreateField("Attachment",dblongbinary)

如果不添加数据,只需添加一个字段,您可以始终保持简单,并在设计视图中添加该字段,不是吗

你刚刚激发了一些研究

currentdb.TableDefs("Table").CreateField("Attachment",dblongbinary)

如果有人在搜索这个问题的答案,这就有了窍门:

Dim fld As DAO.Field

Set fld = CurrentDb().TableDefs("MyTable").CreateField("NewField", 101&)
CurrentDb().TableDefs("MyTable").Fields.Append fld
CurrentDb().TableDefs.Refresh

Set fld = Nothing
其他复杂数据类型的FieldType值可在此处找到:

如果有人在搜索这个问题的答案,这就有了窍门:

Dim fld As DAO.Field

Set fld = CurrentDb().TableDefs("MyTable").CreateField("NewField", 101&)
CurrentDb().TableDefs("MyTable").Fields.Append fld
CurrentDb().TableDefs.Refresh

Set fld = Nothing
其他复杂数据类型的FieldType值可在此处找到:

不要将文本字段用于二进制数据。文本字段受字符集转换规则和验证的约束。二进制数据可能/将包含对字段使用的任何排序规则/字符集都无效的字节序列,并且可能/将被损坏。那么我该怎么做呢?我可以将不同的字段类型转换为附件吗?为什么需要代码解决方案?设计师是否因为某种原因而无法接受?它应该是自动化的。这就是问题所在。我的想法是将所有内容写入一个模块,然后运行它。该项目的要求是不必手动调整db.tbldefs(“tbl…”)。createfield(“CoCAtt..”,dblongbinary)不要将文本字段用于二进制数据。文本字段受字符集转换规则和验证的约束。二进制数据可能/将包含对字段使用的任何排序规则/字符集都无效的字节序列,并且可能/将被损坏。那么我该怎么做呢?我可以将不同的字段类型转换为附件吗?为什么需要代码解决方案?设计师是否因为某种原因而无法接受?它应该是自动化的。这就是问题所在。我的想法是将所有内容写入一个模块,然后运行它。该项目的要求是不必手动调整db.tbldefs(“tbl…”)。createfield(“CoCAtt..”,dblongbinary)不能用附件替换文本。它给出了一个错误。请尝试
OLE对象
,然后?您不能用附件替换文本。它给出了一个错误。请尝试
OLE对象
,然后呢?