2014-01-15 60 views
0

我正试图在InfoPath中开发一个计算器类型,用户将被要求结束体重,身高和年龄。然后,我将采取这些值并使用它们查找基于该数字的其他值。例如,如果列标题是Gender,Age,Height,L,M和S.我想查找与该高度关联的'L,M,S'值。案件中的所有值都不相同。所以如果身高是45,L = -1,M = 1,S = 2;如果身高是50,L = -2,M = 5,S = 3。InfoPath 2010的Vlookup

在Excel中,一个VLOOKUP用的语法:

Dim A as double 
Dim Height as double 
height = txtHeight.Value 
A = Application.WorksheetFunction.VLookup(height, Range("C2:F652"), 2, False) 

这将使你在那个高度位于该行的“L”值。

如何在InfoPath中执行此操作?我已经看到,您可以对下拉列表和组合框执行级联查询,但我希望它们能够键入值,根据该号码在SharePoint列表中找到值,然后将该号码返回到另一个文本框以使用为我的计算。

回答

3

如果要查找的值位于SharePoint列表中,则需要创建一个到该列表的数据连接。确保包含您需要的所有字段。不要在表单加载时加载数据连接。

让用户输入高度。为字段更改时触发的高度字段创建规则。添加一个操作,将辅助数据源的查询字段设置为高度字段的值,然后查询数据连接。现在,辅助数据源包含具有该高度的记录,并且辅助数据源中的字段包含这些值。您可以将值复制到画布上的文本框中。

更多详细信息: 在建立与高度列表的数据连接后,单击高度字段并通过单击新建>操作添加规则。

enter image description here

单击Add按钮,添加一个动作来设置字段的值。

enter image description here

点击旁边的按钮 “字段” 文本框中。如果您没有看到顶部下拉菜单选择与主数据源不同的数据源,请点击“显示高级视图”链接。选择高度列表的辅助数据源,打开queryFields的节点及其下面的节点,然后选择高度字段。

enter image description here

点击FX按钮旁边的“值”文本框中,然后单击“插入域或组”,然后选择主数据源的“高度”字段。

enter image description here

OK了所有的对话框。

添加另一个规则来查询数据。

enter image description here

选择辅助数据源到高地列表。

添加另一个规则来设置字段的值。对于“字段”,选择要将查找值复制到其中的主数据源字段。对于“值”,选择辅助数据源并深入到dataFields节点,直到看到字段名称。选择所需的字段并在所有对话框中选择确定。

enter image description here

规则面板应该与此类似,但列名。

enter image description here

测试形式。在高度字段中输入有效高度并单击该字段。高度列表中的相应值将写入文本框。该屏幕截图显示后台的SharePoint列表,突出显示了heigt“66”的项目。返回到InfoPath文本框“getV1”的值来自SharePoint列表的“V1”字段。

enter image description here

希望这是更清晰。

+0

我确实创建了数据连接,我应该提到这一点。在“添加一个操作,将辅助数据源的查询字段设置为高度字段的值,然后查询数据连接”。所以我设置了一个规则来在字段更改时触发,但我不知道要在“运行这些操作”块中放置什么。 – mcadamsjustin

+0

@mcadamsjustin,我增加了更多细节。 – teylyn

+0

非常感谢@Teylyn,我在工作中遇到了这种情况,而我很遗憾。所有的屏幕截图和解释都让你满意,但它解决了我的问题。感谢一群 – mcadamsjustin

相关问题