Oracle窗体中的复选框

Oracle窗体中的复选框,oracle,oracleforms,Oracle,Oracleforms,我有一个包含3列的数据库块。因为所有这些都是字符列。 我已经创建了一个包含2个文本项和一个复选框的表单中的多记录块 表中的值如下所示 col1 col2 col3 值1值2 N 值3值4 N 价值5价值6 Y 在表单中,我只想在col3中找到值为“N”的记录 我想使用Enter-Query,Execute-Query方法查找这些值,但在我的表单中,col3是复选框。如果勾选-Y,则未勾选的值将为“N” 我知道,我们不能使用Enter-Query,Execute-Query方法搜索'N'值 是否有

我有一个包含3列的数据库块。因为所有这些都是字符列。 我已经创建了一个包含2个文本项和一个复选框的表单中的多记录块

表中的值如下所示

col1 col2 col3

值1值2 N

值3值4 N

价值5价值6 Y

在表单中,我只想在col3中找到值为“N”的记录

我想使用Enter-Query,Execute-Query方法查找这些值,但在我的表单中,col3是复选框。如果勾选-Y,则未勾选的值将为“N”

我知道,我们不能使用Enter-Query,Execute-Query方法搜索'N'值


是否有其他搜索方法?

如果希望允许基于复选框查询块,则需要将复选框值存储在某个位置,可能存储在块所基于的表的Y/N列中

在查询块之前,您只需要确保将复选框值发布到数据库


如果无法将它们保存到表本身,另一种方法是将它们保存到其他地方,但必须是查询本身可以访问的内容,例如全局临时表。

为什么不使用复选框从col3表中输入所需的搜索条件?我不明白为什么这不可能,我甚至很快测试了它。请尝试以下方法

按如下方式设置col3复选框的属性

  • 选中时的值=Y
  • 未选中时的值=N
  • 其他值的复选框映射=不允许
  • 初始值=N或Y,适合您的业务需要
  • 数据库项=是
  • 列名=col3

如果使用此类设置,您可以在“输入查询”模式下选择是否要查询col3=N,方法是确保在执行查询时未选中该复选框。

您的问题是,在“输入查询”标准功能中,该复选框包含空值(null)且未选中。要搜索未选中的值,只需进入“输入查询”模式,然后单击复选框以在您的案例中显示“Y”值,然后再次单击以显示“N”值。从现在起,您可以选中和取消选中该值。
如果您犯了一个错误,希望它再次为空,请使用clear item键将其设置回null。

我正在存储复选框值。在表单中,我只想查询col3中值为“N”的记录。我们怎么做?我告诉过你了。您需要将复选框值存储在数据库可以访问的位置。在服务器上运行查询时,它无法从客户端上实现的复选框中读取值。您可以覆盖块的
预查询
触发器,并根据复选框的值在那里设置
where子句
。如果您为复选框设置初始值,则进入查询模式时,该复选框将不为空。不,不是这样对,初始值是默认值,仅适用于新记录。不用于查询请参阅我的帖子,使用该设置,查询可以工作,无需首先单击复选框。虽然可能是初始值和设置为“不允许”的其他值的复选框映射的组合。谢谢。这是我所需要的。