在编写与其他表单相关的程序时,如何引用表单?
当我尝试引用表单(不是当前表单)时,它返回null。在图像中,项目数据库窗口中突出显示的脚本是写入代码的位置。表单Forms("All Patient Info")
为空。
Image
答案 0 :(得分:0)
此代码正常运行。但是必须打开您要引用的用户表单,否则将无法找到它。所以添加一些这样的例程:
public class PropertyProvider {
private static Map<Class<?>, Properties> pMap = new HashMap<>();
public static String getValue(Enum<?> enumValue, final String path) {
Properties properties = pMap.get(enumValue.getClass());
if (properties == null) {
properties = new Properties();
try {
properties.load(PropertyProvider.class.getResourceAsStream(path));
}
catch (Exception e) {
throw new RthosRuntimeException(e);
}
pMap.put(enumValue.getClass(), properties);
}
return (String) properties.get(enumValue.toString());
}
}
public enum ConverterErrorEnum{
INVALID_EXTRACTION_PATH,
...
PATIAL_DATA_GENERATED;
private static final String PATH= "/i18n/converterErrorText.properties";
private String value;
...
public String getValue() {
if (value == null) {
value = PropertyProvider.getValue(this, PATH);
}
return value;
}
}
如果您不希望在执行某些操作时看到该表单,请添加
If Not CurrentProject.AllForms("All Patient Info").IsLoaded Then
DoCmd.OpenForm "All Patient Info", acNormal
End If
Forms("All Patient Info").txtTest.Caption = "LEL"
在打开表单之前。修改完表单后,用
关闭它Application.Echo False
再次启用Echo:
DoCmd.Close acForm, "All Patient Info"