检查访问表中是否已经存在数据

时间:2018-10-22 20:31:06

标签: vba ms-access

我正在尝试检查表中是否存在日期类型。我拥有的代码是这样的:

If CurrentDb.OpenRecordset("SELECT tbl_Fechas_Proceso_Contable.Fecha FROM tbl_Fechas_Proceso_Contable WHERE tbl_Fechas_Proceso_Contable.Fecha= " & Forms!frm_Proceso_Contable!txt_Fecha_Creacion & ";").Fields(1) > 0 Then
    MsgBox "La fecha ingresada ya ha sido consultada"
    End If

我看到了类似的问题,但是使用Integer时,不确定如何进行日期类型的处理,我也不明白为什么表达式> 0。我这样执行,Access表示项目不在此集合中,错误3265。

我的表 tbl_Fechas_Proceso_Contable 是这样的:

|---------------------|
| ID  | Fecha         |
|---------------------|
| 1   | 16/10/2018    |
|---------------------|
| 2   | 17/10/2018    |
|---------------------|

1 个答案:

答案 0 :(得分:2)

日期是Access中的保留字。尝试使用方括号,并且查询中的日期值必须用#括起来。另外,索引通常以零开头,因此,fields(0)在那里。

If CurrentDb.OpenRecordset("SELECT tbl_Fechas_Proceso_Contable.[Fecha] FROM tbl_Fechas_Proceso_Contable WHERE tbl_Fechas_Proceso_Contable.[Fecha]=#" & Forms!frm_Proceso_Contable!txt_Fecha_Creacion & "#;").Fields(0) > 0 Then
        MsgBox "La fecha ingresada ya ha sido consultada"
End If