Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
MS Access数据库使用vba和sql查询在列上插入值_Sql_Vba_Ms Access - Fatal编程技术网

MS Access数据库使用vba和sql查询在列上插入值

MS Access数据库使用vba和sql查询在列上插入值,sql,vba,ms-access,Sql,Vba,Ms Access,是否有任何方法可以使用VBA和SQL查询将列添加到MS Access数据库中,然后使用其他列中的公式插入值 例如,我想创建一个列employee,它应该在所有记录上都有计算值。我想在employee字段中使用LEFT(col2,3) 这是我的代码: Sub-createcolumn() 作为对象的暗淡对象 Set objAccess=CreateObject(“Access.Application”) 调用objAccess.OpenCurrentDatabase(“H:\VBA\Array P

是否有任何方法可以使用VBA和SQL查询将列添加到MS Access数据库中,然后使用其他列中的公式插入值

例如,我想创建一个列
employee
,它应该在所有记录上都有计算值。我想在
employee
字段中使用
LEFT(col2,3)

这是我的代码:

Sub-createcolumn()
作为对象的暗淡对象
Set objAccess=CreateObject(“Access.Application”)
调用objAccess.OpenCurrentDatabase(“H:\VBA\Array Practice\Database1array.accdb”)
objAccess.CurrentProject.Connection.Execute(“ALTER TABLE Company ADD COLUMN employee CHAR”)
端接头
Sub insertvalues()
作为对象的暗淡对象
Set objAccess=CreateObject(“Access.Application”)
调用objAccess.OpenCurrentDatabase(“H:\VBA\Array Practice\Database1array.accdb”)
objAccess.CurrentProject.Connection.Execute“插入员工(总)剩余值([全名],3)”
端接头

我可以创建一个新列,但无法插入值。

您可以直接使用列全名而不是插入来更新表。我已经测试了以下代码,它正在工作

Sub test()
Dim dbs As Database
Set dbs = OpenDatabase("Database1.accdb")  
dbs.Execute "UPDATE EMPLOYEE SET GROSS=LEFT(FULL_NAME, 3)"
dbs.Close
End Sub

您向名为Company的表中添加了一列,但正在尝试向名为employee的表中插入值


如果表名为company as records,则需要使用update语句向新列employee中添加值,但如果该表没有任何记录,则可以使用insert语句向employee字段中添加值。

我不确定sql查询是否会运行,是否有可能执行此操作并创建列。如果你觉得答案有用,请投票表决。