将表中的字段更新或插入另一个表VBA sql

时间:2017-10-24 05:36:24

标签: sql vba combobox field

首先这是我的第一篇文章,所以我为布局或任何其他演示文稿的错误道歉。

我有两张桌子。

tempWkEndHrs:当用户从两个组合框中选择一个周末日期及其名称时创建。结果是5个字段:Name1,Task,Closed Date,Initiated Date和#xx / xx / xxxx#< - 用户从组合框中选择创建表的相同日期。这样做是为了限制返回并构建到临时表中的日期字段数。

此表的目的是让用户可以在#xx / xx / xxxx#field /列下填充尽可能多的值,以显示/查看该周任务的小时数分布。 (它也用作检查以确保输入的值按预期总结)

我想将在tempWkEndHrs中#field / xx / xxxx#下输入的新值保存到tblHrs中的相同字段#xx / xx / xxxx#。

tblHrs:有字段...任务,#xx / xx / xxxx#,#xx / xx / xxxx#,#xx / xx / xxxx#,#xx / xx / xxxx#等。< - - 组合框中的相同日期。

我很难找到一个将多个记录从一个表更新到另一个表以满足我的情况的例子。

以下是我最近几次尝试的尝试。

Dim strITEM As String
Dim strWkEnd As String

strWkEnd = Me.cmbWkEnd
strSQL = "UPDATE tblHrs SET " & _
        "[" & strWkEnd & "] = [" & strWkEnd & "] " & _
        "FROM tempWkEndHrs " & _
        " WHERE [Task] = [Task]"

*更新10-24-2017 5:37 pm

Dim strITEM As String
Dim strWkEnd As String

strWkEnd = Me.cmbWkEnd
strSQL = "UPDATE tblHrs " & _
       "SET tempWkEndHrs.[" & strWkEnd & "] = tblHrs.[" & strWkEnd & "] "& _
       "FROM tempWkEndHrs " & _
       " WHERE tempWkEndHrs.[Task] = tblHrs.[Task]"

结果: UPDATE tblHrs SET tempWkEndHrs。[9/30/2017] = tblHrs。[9/30/2017] from tempWkEndHrs WHERE tempWkEndHrs。[TASK] = tblHrs。[TASK] ***运行时错误' 3075 ***查询表达式中的语法错误(缺少运算符)< tblHrs。[9/30/2017] FROM tempWkEndHrs'。

如果这很清楚,请告诉我。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

大喊大叫

Oscar Anthony和Parfait

https://stackoverflow.com/a/34910889/8797058

5.您不需要SQLReplace String中的FROM tblTemp子句。

6.EDIT:正如@Parfait指出的那样,tblTemp在SQLReplace语句的范围内不存在。你应该做一个INNER JOIN来解决这个问题:< - AWESOME !!

strWkEnd = Me.cmbWkEnd
strSQL = "UPDATE tblHrs INNER JOIN tempWkEndHrs ON tblHrs.TASK = tempWkEndHrs.TASK SET tblHrs.[" & strWkEnd & "] = tempWkEndHrs.[" & strWkEnd & "] "

作品! >:P

我没有收到这篇文章的任何答案,所以很明显我需要写更好的问题,我觉得它很泥...感谢~21个观点?哈哈。