Trim在VBA和Windows服务(VB.Net)之间有什么区别?
我目前正在使用多年前已经实现的VBA创建一个Windows服务(VB.Net)。有些代码我不懂,如果有人能让我更容易理解和解释,我会非常感激 strOrderNo=修剪(rs1(“工单”)和“) 这里rs1是一个ADODB记录集,我理解这一部分,但我不明白&“部分做了什么Trim在VBA和Windows服务(VB.Net)之间有什么区别?,vba,vb.net,trim,adodb,Vba,Vb.net,Trim,Adodb,我目前正在使用多年前已经实现的VBA创建一个Windows服务(VB.Net)。有些代码我不懂,如果有人能让我更容易理解和解释,我会非常感激 strOrderNo=修剪(rs1(“工单”)和“) 这里rs1是一个ADODB记录集,我理解这一部分,但我不明白&“部分做了什么 谢谢大家! 它确保返回的值是字符串而不是数字1&“将返回1”。它将Int更改为字符串。或者只是尝试将null值转换为空字符串。VB.NET中的Trim函数(如果取自Microsoft.VisualBasic“legacy ba
谢谢大家! 它确保返回的值是字符串而不是数字
1&“
将返回1”
。它将Int更改为字符串。或者只是尝试将null值转换为空字符串。VB.NET中的Trim
函数(如果取自Microsoft.VisualBasic“legacy back compat”命名空间)没有区别。它从字符串中去掉前导空格和尾随空格,仅此而已&
是字符串concat运算符,用于连接两个字符串;在这里,它似乎被用作Access'Nz
函数的惰性替代品,因为将空字符串连接到NULL
将生成空字符串,如果strOrderNo
被声明为字符串,这可能会防止类型不匹配错误,正如它的匈牙利符号前缀所示。@MathieuGuindon既然你提到了Access Nz函数,我就用谷歌搜索它。我还发现这段代码作为一个单独的模块添加到VBA中。那对我来说像是新西兰的功能,你觉得呢?感谢代码==>函数FXA(str1,可选allownull为Boolean=False)作为字符串str1=IIf(IsNull(str1),“”,RTrim(str1))FXA=Replace(str1,“,””),如果Trim(FXA)=”和allownull=True,那么FXA=“Null”Else FXA=“”&FXA&“”,如果End函数看起来像它,则结束。除了IIf
是一个函数之外,VBA在调用它之前必须计算它的所有参数,这意味着RTrim(str1)
实际上正在进行它试图阻止的隐式转换,由于对RTrim
实现的意外假设,如果将str1
命名为unverifiedInput
,则会突出该假设;最好将IIf
扩展为适当的If…然后…Else…结束If
block IMO。