是的。如果是复杂的掩码例如身份证、带分割符的包含国家和地区代码的电话号码等要在SQL服务器端处理,就需要使用表定义的扩展属性,BOL中也有详细说明。我没有碰到过这类问题,一般最多碰到的就是数字-字符串转换及日期处理,这个用SQL的函数已经足够了。(例如你的具体情况就是如此)
另外一个替代方法可以使用recordset取得纪录以后在客户端逐条处理要格式化的数据,组成一个很长的字符串, 再给listbox显示,如果确有必要的话。这个我在国外一些编程例子中看见过。不过他是在SQL服务器那边,遍历一个cursor来组成一个nvarchar(8000)送回带分割符‘;’的字符串让access的listbox显示,当然你也可以取得纪录集在客户端作同样的处理。要根据具体情况权衡一下。这种情况下,listbox的行来源类型就是值列表。
客户端处理代码示例
private sub populateListbox()
dim rst as new adodb.recordset, listSource as string
set rst = currentproject.connection.execute ("SELECT id, PhoneNum FROM tblTest")
listSource = ""
While not rst.eof
listSource =listSource & rst(0) & ", " & Format(rst(1), "000-0000") & "; "
rst.movenext
Wend
listbox1.rowsource = listSource
End Sub
[此贴子已经被作者于2003-11-13 23:22:07编辑过]
|