Ms access 关于使用带有case的函数更新字段

Ms access 关于使用带有case的函数更新字段,ms-access,vba,ms-access-2013,Ms Access,Vba,Ms Access 2013,我试图使用带有If和Case的函数更新一些字段值,这取决于两个字符串字段,函数如下: 私有函数checkDATI(tipotransazione作为字符串,tipovendita作为字符串)作为字符串 调暗r为字符串 r=“” 如果tipotransazione=“VENDITA”,则 选择案例tipovendita “ARMI”案 如果Me.txtmarticola=“”那么r=“Matricola” 如果Me.txtModello=“”则r=“Modello” 如果Me.txtCalibro

我试图使用带有
If
Case
的函数更新一些字段值,这取决于两个字符串字段,函数如下:

私有函数checkDATI(tipotransazione作为字符串,tipovendita作为字符串)作为字符串
调暗r为字符串
r=“”
如果tipotransazione=“VENDITA”,则
选择案例tipovendita
“ARMI”案
如果Me.txtmarticola=“”那么r=“Matricola”
如果Me.txtModello=“”则r=“Modello”
如果Me.txtCalibro=“”那么r=“Calibro”
如果Me.txtTipoArma=“”那么r=“Tipo Arma”
如果Me.txtfactrica=“”那么r=“Fabbrica”
“VENDITA ARMI/MUNIZIONI”案
“MUNIZIONI”案
结束选择
如果结束
如果tipotransazione=“ACQUISTO”,则
选择案例tipovendita
“ARMI”案
如果Me.txtmarticola=“”那么r=“Matricola”
如果Me.txtModello=“”则r=“Modello”
如果Me.txtCalibro=“”那么r=“Calibro”
如果Me.txtTipoArma=“”那么r=“Tipo Arma”
如果Me.txtfactrica=“”那么r=“Fabbrica”
“VENDITA ARMI/MUNIZIONI”案
“MUNIZIONI”案
结束选择
如果结束
checkDATI=r
端函数
然后当我在命令按钮事件中调用此函数时:

MsgBox(checkDATI(Me.CausaleMov,Me.txt_tipomov))
它不会更新那个字段。怎么了?

当你说:

如果Me.txtmarticola=“”那么r=“Matricola”
您要做的是将值:
“Matricola”
赋给变量:
r
。相反,我认为你想要的是:

如果Me.txtmarticola=“”那么Me.txtmarticola=“Matricola”

这实际上将字段的值设置为:
txtmarticola
“Matricola”
。这适用于
Case
语句中的所有字段

你的意思是问题在于
Me.CausaleMov
Me.txt_tipomov
中包含的值没有被更改吗?不,不是这样,如果Me.CausaleMov和Me.txt_tipomov获得的值和值与case“ARMI”匹配,那么if语句中提到的所有要更新的字段。