捕获要在QUERY中使用的LABEL文本

时间:2018-10-16 22:26:16

标签: sql vba ms-access

那时我已经重新组织了一切。

我想按顺序捕获表单中具有的标签中包含的文本 用作WHERE条件的输入。

查询是下一个称为 qry_A 的查询:

SELECT
tbl_R.ID_R,
tbl_C.Cuenta, 
tbl_C.Nombre, 
IIf(tbl_RD.Deb Is Null,0,tbl_RD.Deb) AS Deb, 
IIf(tbl_RD.Cre Is Null,0,tbl_RD.Cre) AS Cre, 
tbl_R.NIT, 
tbl_R.Fecha, 
tbl_R.Com, 
tbl_F.ID_F, 
tbl_R.ID_U

FROM 
(tbl_F INNER JOIN tbl_R ON tbl_F.ID_F = tbl_R.Fideicomiso) 
INNER JOIN (tbl_C RIGHT JOIN tbl_RD ON tbl_C.Cuenta = tbl_RD.Cuenta) ON tbl_R.ID_R = tbl_RD.ID_R

WHERE ((tbl_R.ID_U)=[Forms]![frm_qry_A]![lbl_Usuario]);

我已经检查了标签的名称和表单的名称。不知道是否可以通过标签来完成此操作,我已经检查并尝试了表单中的“文本字段”,它是否有效,我的意思是,如果我捕获了我拥有的另一种形式的“文本字段”的文本,这是添加到查询中的行,以说明我做了什么:

WHERE ((tbl_R.ID_U)=[Forms]![frm_B]![txt_Usuario]);

这样,我捕获了在 form_B 表单中声明的​​条件或文本,如下所示:

Private Sub Form_Load()
    Me.lbl_Usuario.Caption = LCase(UsuarioLogeado)
    Me.txt_Usuario = UsuarioLogeado
End Sub

2 个答案:

答案 0 :(得分:1)

您忘记键入Parameters集合名称:

'Associate parameter
tomarConsulta.Parameters!capturarUsuario = txt_Usuario

或更好:

'Associate parameter
tomarConsulta.Parameters("capturarUsuario").Value = txt_Usuario

答案 1 :(得分:0)

标签的Caption属性包含标签显示的文本。因此,当您在SQL语句中引用标签时,应明确引用Caption

WHERE tbl_R.ID_U=[Forms]![frm_B]![lbl_Usuario].Caption