我创建了一个全局名称,我试图通过仅使用名称开头的相同字符来打印出匹配的名称。示例:输入 Sm 并返回值 Smith, John A。
我创建了这个:
N prompt,val
S prompt="Enter a name (LAST,FIRST MI): "
F W !,prompt R val Q:val="" D
. I val'?1.A1",".1" "1.A.1(1" "1A) W !,"Invalid name"
. E S ^ZNAME(val)=""
F S val=$O(^ZNAME(val)) Q:val="" D
. W !,"You entered: ",val
Q
我输入了两个名字,得到了想要的结果。^ZNAME("MITCHELL, DAVID J")^ZNAME ("SMITH, JOHN A")。
我希望能够读取部分名称并搜索 ^ZNAME 并返回它匹配的值。在这种情况下,读取“Sm”并返回“Smith, John A”。
N partial,val
S partial="Enter a name or partial name: "
F W !,partial R val Q:val="" D
. W !,$O(^ZNAME("val"))
Q
当我从读取命令中输入“Sm”时,它会循环返回输入名称或部分名称,而不是给我想要的 Smith,John A 的结果。我错过了一些我知道的东西,但有点筋疲力尽。任何帮助都会非常感谢您!