我想用早期记录中该字段中插入的内容填充下拉菜单(不是带有管道的表单)。
具体来说,我有一个名为"Journal"的字段。如果有人之前记录了“代谢组学”杂志,我希望它出现在下拉菜单中(或类似的东西)。
如果期刊是新的,我会添加一个可以添加新期刊的文本字段。
感谢您的帮助
我想用早期记录中该字段中插入的内容填充下拉菜单(不是带有管道的表单)。
具体来说,我有一个名为"Journal"的字段。如果有人之前记录了“代谢组学”杂志,我希望它出现在下拉菜单中(或类似的东西)。
如果期刊是新的,我会添加一个可以添加新期刊的文本字段。
感谢您的帮助
如果我理解正确,您希望人们从下拉列表中进行选择,如果不存在正确的选项,您希望允许他们自己输入。这可以通过只有管理员才能配置的动态 SQL 查询字段来完成,因此您需要本地管理员为您执行此操作。
本质上,如果动态 SQL 字段不包含所需的选项,您将有一个动态 SQL 字段(我正在调用它[journal_query]
)来查找已输入的不同值,以及一个文本框字段 ( ) 来输入新值[journal_other]
.
SQL 字段有这个[journal_query]
查询:
SELECT DISTINCT value FROM redcap_data WHERE project_id = [project-id] AND field_name = 'journal_other' UNION SELECT 'Other';
它显示所有现有值并在列表中添加“其他”选项。
并且该[journal_other]
字段具有分支逻辑,仅在[journal_query] = 'Other'
.
复杂之处在于数据现在仅存在于两个字段中的一个中,因此可以使用第三个字段将两者结合起来,[journal_other]
如果值为 则[journal_query] = 'Other'
选择 的值,否则选择 的值[journal_query]
。如果您使用的是最新版本并且可以访问@CALCTEXT
操作标签,那么您将创建一个文本输入字段(我会调用此字段,[journal]
因为它始终包含记录的正确值),并应用此操作标签:
@CALCTEXT(if([journal_query]='Other',[journal_other],[journal_query]))
然后[journal]
(根据需要重命名字段)的值包含受访者选择或手动输入的日记帐类型,您可以将其用于管道或报告。