代码之家  ›  专栏  ›  技术社区  ›  Raphael Schweikert miya

Filemaker:在每个相关记录中设置特定字段的最佳方法

  •  1
  • Raphael Schweikert miya  · 技术社区  · 14 年前

    我有一个计算值的FileMaker脚本。我有 1 表中的记录 A n B . 最好的方法是什么 B::Field 每一个的这个值 n

    Set Field [B::Field; $Value] 将只设置 第一 n 相关记录。但有效的方法如下:

    Go to Related Record [Show only related records; From table: "B"; Using layout: "B_layout" (B)]
    Loop
        Set Field [B::Field; $Value]
        Go To Record/Request/Page [Next; Exit after last]
    End Loop
    Go to Layout [original layout]
    

    即使用户不应该注意到任何变化的视图

    3 回复  |  直到 13 年前
        1
  •  3
  •   Mikhail Edoshin    14 年前

    FileMaker主要是一个最终用户工具,所以它的所有脚本都更像是重复用户操作的宏。它远没有面向程序员的环境那么灵活。实际上,转到另一个布局是处理相关值的标准方法。如果你想复制一个相关的记录或者打印一份报告,你就必须这样做。

    1. 您的脚本相当不错,只是可以使用Replace Field Contents脚本步骤。同时在开头添加冻结窗口脚本步骤;这将阻止屏幕更新。

    2. FileMaker插件API可以执行SQL,并且有一些插件公开了此功能。所以如果你 真正地

        2
  •  2
  •   toddgeist    11 年前

    循环浏览相关记录的门户

    1. 你不必离开布局。如果门户尚未在布局中,则可以将其隐藏或放置在屏幕之外。

    这里有一些关于 FileMaker transactions .

    Go To Portal Row [First]
    Loop
        Set Field [B::Field; $Value]
        Go To Portal Row [Next; Exit after last]
    End Loop
    
        3
  •  0
  •   Tim Cooper    13 年前

    这取决于你用这个值做什么。如果您需要硬连线某个字段,那么听起来您并没有一个非常规范化的数据结构。最简单的方法是在TableB中进行计算,而不是存储字段,或者如果这是存储的内容,是否可以在创建记录时设置查找字段?

    表B中的字段用于什么?如何使用?