Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
Sql Access中的多个更新查询_Sql_Ms Access_Vba - Fatal编程技术网

Sql Access中的多个更新查询

Sql Access中的多个更新查询,sql,ms-access,vba,Sql,Ms Access,Vba,使用Access 2007,我有一个更新,我正在尝试构建一个脚本或宏,甚至只是一个有用的SQL块,我可以随时保存并使用它来运行更新 …我已经想出了如何通过更新查询来实现这一点,但是,我不想每次都花一个小时左右的时间来更新 基本上,我是从旧到新的交叉办公符号……但所有旧办公符号都需要更新: 这是access中的SQL视图: UPDATE [Actions Completed - Back UP] SET [Actions Completed - Back UP].OFC_NEW = [UPDAT

使用Access 2007,我有一个更新,我正在尝试构建一个脚本或宏,甚至只是一个有用的SQL块,我可以随时保存并使用它来运行更新

…我已经想出了如何通过更新查询来实现这一点,但是,我不想每次都花一个小时左右的时间来更新

基本上,我是从旧到新的交叉办公符号……但所有旧办公符号都需要更新:

这是access中的SQL视图:

UPDATE [Actions Completed - Back UP] 
SET [Actions Completed - Back UP].OFC_NEW = [UPDATE TO:]
WHERE ((([Actions Completed - Back UP].OFC) Like [old]));
我使用提示来浏览我的更改列表

谢谢


yoopersmith

您必须更详细地描述您的问题我认为,您试图实现的目标并不完全清楚:解释您正在跟踪的内容、您的表格是如何制作的以及它包含的内容

话虽如此,使用数据表表单是输入数据的一种非常简单的方法(Access 2007):

  • 单击您的
    操作完成-备份
  • 创建新的数据表表单(表单>更多表单>数据表)
  • 可以隐藏不希望显示的列(单击鼠标右键并选择“隐藏”)
  • 您可以错误地锁定不想编辑的列(在属性页>数据>锁定=是中)
  • 您可以对列表进行排序和预筛选(将表放在“主页”>“视图”的“设计”视图中,单击表单,并在属性页中的“数据”下单击“您可以更改顺序”和“筛选”)
  • 查看数据时,您还可以根据列过滤器过滤列表(单击列标题中的三角形,您将获得过滤选项列表,如Excel)
您现在应该能够比必须填写输入框更快地编辑数据


有更多有趣的事情你可以做,但因为我们没有;我不太了解您的问题,但很难知道它是否有帮助。

我建议您创建一个包含所需更改的表:

OldCode  NewCode
SYK      SYSW
SMC/PK   SYSW
AXK      SMC/PK
等等

然后,您可以轻松运行更新查询:

UPDATE tblTable 
INNER JOIN tblNewCodes ON tblTable.Code = tblNewCodes.OldCode
SET tblTable.Code = tblNewCodes.NewCode

你能解释一下“从旧到新的跨行办公符号”的确切含义吗?你能不能用简单的英语解释一下你到底希望查询完成什么。从你对问题的描述中很难看出,“OFC”…它包含了我们组织中不同部门的代码…OFC代码已经过时了。所以以前的SYK现在是SYSW。SMC/PK=SYSW,AXK=SMC/PK。95个旧代码和大约20个新代码。好的……我会更详细地描述一下:我有一列数据,名为“OFC”……其中包含组织中不同部门的代码……OFC代码已经过时了。所以以前的SYK现在是SYSW SMC/PK现在是SYSW AXK是SMC/PK我有大约95个旧的和大约20个新的hanks!我将给它一个tryUPDATE Actions Completed内部连接ofccupdate ON ofccupdate.NEW\u OFC=ofccupdate.OFC SET Actions Completed.NEW\u OFC=ofccupdate.NEW\u OFC;这给了我一个连接不受支持的错误…嗯…顺便说一句,我也想保留旧值,但对新代码进行排序…但我认为它仍然可以工作…您必须在字段名周围用方括号括起空格。您应该使用新代码将主表连接到表,而不是使用新代码将表连接到自身,这就是您所拥有的。您不必更新,如果您只想进行排序,只需从两个表中选择字段:select OFC,New OFC from[Actions Completed]INTERNAR JOIN OFCUDATE ON[Actions Completed],OFC=OFCUDATE.New OFC ORDER BY OFCUDATE.New OFCUDATE OFCUDATE OFCUDATE OFCUDATE OFCUDATE INTERNAR JOIN[Actions Completed-backup],OFCUDATE.OFC=[Actions Completed-backup].OFC设置[Actions Completed-Backup].OFC_NEW=[OFCupdate].[OFC_NEW]其中((OFCupdate.OFC_NEW)不为Null));我需要在另一个表上测试这一点……谢谢大家