标准模块内:
Const connstr As String = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\sale.mdb"
Sub PubConnSub(conn, rs, strSQL, a, b)
conn.Open connstr
rs.Open strSQL, conn, a, b
End Sub
窗体Form1内:
Private Sub Form_Load()
Dim conn1 As ADODB.Connection
Dim rs1 As ADODB.Recordset
Set conn1 = New ADODB.Connection
Set rs1 = New ADODB.Recordset
Dim strSQL1 As String
strSQL1 = "select * from allStorage"
Call PubConnSub(conn1, rs1, strSQL1, 3, 3)
MsgBox ("ok")
End Sub
编译错误,要求常数表达式请指教
Const connstr As String = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\sale.mdb"
Sub PubConnSub(conn, rs, strSQL, a, b)
conn.Open connstr
rs.Open strSQL, conn, a, b
End Sub
窗体Form1内:
Private Sub Form_Load()
Dim conn1 As ADODB.Connection
Dim rs1 As ADODB.Recordset
Set conn1 = New ADODB.Connection
Set rs1 = New ADODB.Recordset
Dim strSQL1 As String
strSQL1 = "select * from allStorage"
Call PubConnSub(conn1, rs1, strSQL1, 3, 3)
MsgBox ("ok")
End Sub
编译错误,要求常数表达式请指教
_______________________________________________________
由于App.Path 不是常亮,因此整个表达式不是常量定义
在启动时将该变量初始化就行。代码修改为:标准模块内:
Public connstr As String Sub PubConnSub(conn, rs, strSQL, a, b)
conn.Open connstr
rs.Open strSQL, conn, a, b
End Sub窗体Form1内:
Private Sub Form_Load()
Dim conn1 As ADODB.Connection
Dim rs1 As ADODB.Recordset
Set conn1 = New ADODB.Connection
Set rs1 = New ADODB.Recordset '初始化连接字符串connstr
connstr="provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\sale.mdb" Dim strSQL1 As String
strSQL1 = "select * from allStorage"
Call PubConnSub(conn1, rs1, strSQL1, 3, 3)
MsgBox ("ok")
End Sub