【问题标题】:Entering Alphanumeric value from Access to textbox - VBScript - Powerbuilder从 Access 到文本框输入字母数字值 - VBScript - Powerbuilder
【发布时间】:2021-08-10 11:43:11
【问题描述】:

我正在尝试将 NI 编号从 Access DB 输入到 Powerbuilder 应用程序中。 每当我尝试在我的应用程序中输入“AA123456A”时,UFT 都会将该值作为 123456 传递。

If f_GetAccessFieldValue("NINumber") <> "" Then
    PbWindow("w_genapp_frame").PbWindow("Client Details").PbDataWindow("dw_ap010_03_02"). SetCellData "#1","custp_ni_code",f_GetAccessFieldValue("NINumber")
End If

Access 中的值肯定是作为字符串传入的。

这是我的应用程序的限制,还是有一种简单的方法可以解决这个问题,而无需拆分字符串并使用分隔变量输入值?

编辑:刚刚注意到即使单独发送信件(“AA”)也行不通。

【问题讨论】:

  • f_GetAccessFieldValue("NINumber") 的值包含什么?在尝试传递到 Powerbuilder 应用程序之前,您是否确认预期结果来自 f_GetAccessFieldValue("NINumber")
  • @user692942 它返回 AA123456(字符串)
  • 那么,根据official documentation for SetCellData(),SAPGuiGrid 中的单元格可能与您期望的不匹配 - “数据的可能值 取决于单元格。例如,复选框或单选按钮单元格的值可能是“ON”或“OFF”,或者可能仅限于组合框的可用值。”
  • @user692942 这一定是 VB 脚本与我的应用程序或 PowerBuilder 交互的方式。我尝试使用 WshShell.SendKeys 发送“AA123456A”,效果很好。但我需要能够从数据库中传递这个值,所以发送密钥不好
  • 尝试拆分它。尝试 .Selectcell "#1","custp_ni_code".type f_GetAccessFieldValue("NINumber") 的组合

标签: automation vbscript powerbuilder hp-uft


【解决方案1】:

解决方案是使用 SendKeys 并传入一个变量

If f_GetAccessFieldValue("NINumber") <> "" Then
    strNINo = f_GetAccessFieldValue("NINumber")
    PbWindow("w_genapp_frame").PbWindow("Client Details").PbDataWindow("dw_ap010_03_02").SelectCell "#1","custp_ni_code"
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.SendKeys strNINo
    WshShell.SendKeys "{TAB}"
End If

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2013-06-20
    • 2010-12-16
    • 2018-02-05
    相关资源
    最近更新 更多