在VB程序中格式化SQL字符串2008-03-21在写SQL语句时,需要对不同类型的数据分别加上#号,""号等来表示,用以下函数,就可以实现操作的简化.不管是什么类型,只需用这个Q函数转化一下,不需动手加格式化符号,就OK了.实在是方便.本人一直在用它,实在是方便.Function Q(ByVal SqlVariable As Variant) As String "----------------------------------------- " Notes: Useful in creating properly formatted SQL statements " Usage: sql="select * from table where name= " & Q(vntName) " 这个版本格式化适用于Access的变量,若支持其它数据库或许需要对其进行修改 "----------------------------------------- On Error GoTo ErrTrap Q = SqlVariable "format the string Select Case VarType(SqlVariable) Case vbNull, vbEmpty Q = "NULL" Case vbString Q = """ & Replace(SqlVariable, """, """") & """ "date variable Case vbDate "format and enclose in pounds signs for Access Q = "#" & Format$(SqlVariable, "general date") & "#" "otherwise treat as numeric Case Else On Error Resume Next Q = CStr(SqlVariable) If Err.Number <> 0 Then Q = SqlVariable End Select Exit Function ErrTrap: On Error GoTo 0 End Function