我希望通过检查以下条件,通过另一个表的数据更新MS_Access 2007中的表(ehraz)中的一些数据:if tableA.siba = Table2.siba然后通过Table2.Field2更新Table1.field1。 我在sql server中使用这个t-sql命令并运行:
update ehraz set
ehraz.B_CODEMELI =bn.B_CodeMelli ,
ehraz.B_NAME =ltrim(rtrim(cast(bn.B_Name as nvarchar(20)))) ,
ehraz.B_FAMILY =ltrim(rtrim(cast (bn.B_Family as nvarchar(30)))) ,
ehraz.B_FATHER_N = ltrim(rtrim(cast(bn.B_Father_N as nvarchar(20)))),
ehraz.B_SHENAS =ltrim(rtrim(bn.B_Shenas)) ,
ehraz.B_TAVALOD = ltrim(rtrim(cast(bn.B_Tavalod as nvarchar(15)))),
ehraz.B_MOSHTARI = ltrim(rtrim(cast(bn.B_Moshtari as nvarchar(20)))) ,
ehraz.B_BARNO = ltrim(rtrim(cast(bn.B_Brno as nvarchar(10)))) ,
ehraz.CLOS = ltrim(rtrim(cast(bn.CLOS as nvarchar(5))))
from bn_data bn
where ehraz.siba = bn.Siba
我如何在MS-Access 2007中执行此操作?此查询在ms访问中无效。
答案 0 :(得分:0)
此查询在MS-Access中不起作用,因为MS-Access不支持查询中使用的某些关键字,因为MS-Access不支持强制转换功能。而是使用CStr
函数将类型转换为文本格式,使用CInt
函数以数字格式输入转换....
尝试替换这些关键字并告诉我这是否有帮助。
答案 1 :(得分:0)
这对你有用吗?
update ehraz
inner join bn_data bn
on ehraz.siba = bn.Siba
set
ehraz.B_CODEMELI = bn.B_CodeMelli,
ehraz.B_NAME = Trim(CStr(bn.B_Name)),
ehraz.B_FAMILY = Trim(CStr(bn.B_Family)),
ehraz.B_FATHER_N = Trim(CStr(bn.B_Father_N)),
ehraz.B_SHENAS = Trim(CStr(bn.B_Shenas)),
ehraz.B_TAVALOD = Trim(CStr(bn.B_Tavalod)),
ehraz.B_MOSHTARI = Trim(CStr(bn.B_Moshtari)),
ehraz.B_BARNO = Trim(CStr(bn.B_Brno)),
ehraz.CLOS = Trim(CStr(bn.CLOS));