assembly1010 2023-01-09 17:18 采纳率: 0%
浏览 14
已结题

access中调用日文替换函数失败问题

access中将文本里的日文替换为Jn0、Jn1、Jn2...但是运行SQL查询语句的时候弹出错误:无效的过程调用或参数,调试卡在Jencode = Replace(Jencode, F(i), E(i))这一句上,我看参数传递都是对的,为什么会运行失败呢?


Public Function Jencode(ByVal iStr As String) As String

If IsNull(iStr) Or IsEmpty(iStr) Then

Jencode = ""

Exit Function

End If

Dim F, i, E

E = Array("Jn0;", "Jn1;", "Jn2;", "Jn3;", "Jn4;", "Jn5;", "Jn6;", "Jn7;", "Jn8;", "Jn9;", "Jn10;", "Jn11;", "Jn12;", "Jn13;", "Jn14;", "Jn15;", "Jn16;", "Jn17;", "Jn18;", "Jn19;", "Jn20;", "Jn21;", "Jn22;", "Jn23;", "Jn24;", "Jn25;")

F = Array(ChrW(12468), ChrW(12460), ChrW(12462), ChrW(12464), ChrW(12466), ChrW(12470), ChrW(12472), ChrW(12474), ChrW(12485), ChrW(12487), ChrW(12489), ChrW(12509), ChrW(12505), ChrW(12503), ChrW(12499), ChrW(12497), ChrW(12532), ChrW(12508), ChrW(12506), ChrW(12502), ChrW(12500), ChrW(12496), ChrW(12482), ChrW(12480), ChrW(12478), ChrW(12476))

Jencode = iStr

For i = 0 To 25

Jencode = Replace(Jencode, F(i), E(i))

Next

End Function


  • 写回答

2条回答 默认 最新

  • heart_6662 2023-01-09 17:41
    关注

    望采纳!!!点击回答右侧采纳即可!!
    这个错误的原因可能是因为在调用 Jencode 函数时传递的字符串参数为空或者为 NULL。

    你可以在函数的第一行添加条件判断,如果传入的字符串为空或者为 NULL,就直接返回空字符串。

    Public Function Jencode(ByVal iStr As String) As String
      If IsNull(iStr) Or IsEmpty(iStr) Then
        Jencode = ""
        Exit Function
      End If
    
      Dim F, i, E
      E = Array("Jn0;", "Jn1;", "Jn2;", "Jn3;", "Jn4;", "Jn5;", "Jn6;", "Jn7;", "Jn8;", "Jn9;", "Jn10;", "Jn11;", "Jn12;", "Jn13;", "Jn14;", "Jn15;", "Jn16;", "Jn17;", "Jn18;", "Jn19;", "Jn20;", "Jn21;", "Jn22;", "Jn23;", "Jn24;", "Jn25;")
      F = Array(ChrW(12468), ChrW(12460), ChrW(12462), ChrW(12464), ChrW(12466), ChrW(12470), ChrW(12472), ChrW(12474), ChrW(12485), ChrW(12487), ChrW(12489), ChrW(12509), ChrW(12505), ChrW(12503), ChrW(12499), ChrW(12497), ChrW(12532), ChrW(12508), ChrW(12506), ChrW(12502), ChrW(12500), ChrW(12496), ChrW(12482), ChrW(12480), ChrW(12478), ChrW(12476))
      Jencode = iStr
      For i = 0 To 25
        Jencode = Replace(Jencode, F(i), E(i))
      Next
    End Function
    
    
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月10日
  • 创建了问题 1月9日

悬赏问题

  • ¥20 关于游戏c++语言代码问题
  • ¥15 如何制作永久二维码,最好是微信也可以扫开的。(相关搜索:管理系统)
  • ¥15 delphi indy cookie 有效期
  • ¥15 labelme打不开怎么办
  • ¥35 按照图片上的两个任务要求,用keil5写出运行代码,并在proteus上仿真成功,🙏
  • ¥15 免费的电脑视频剪辑类软件如何盈利
  • ¥30 MPI读入tif文件并将文件路径分配给各进程时遇到问题
  • ¥15 pycharm中导入模块出错
  • ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。
  • ¥15 有关“完美的代价”问题的代码漏洞