请看一下: 在模块里: Sub aa() Dim aa As String aa = "1984" End Sub然后在FORM1里: Private Sub Command1_Click() MsgBox (aa) End Sub 他说缺少函数和变量,是否我用的有问题?
public Sub aa() Dim aa As String aa = "1984" End SubPrivate Sub Command1_Click() MsgBox aa End Sub
应这样: public function aa() aa = "1984" End function然后在FORM1里: Private Sub Command1_Click() MsgBox aa End Sub
Dim cnt As New ADODB.Connection Dim cust As New ADODB.Recordsetcnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + App.Path + "\temp1.mdb;" 那如果是这样,我怎么才能让以上ADO连接时在别的每个窗体里都能调用呢?然后,在每个窗里,我只要直接用cust.Open ......就可以了,这样子能否可以啊?请各位再帮一下吧!
不要反复去连,你设置一个公共变量连一次即可,在模块中加入:public cnt As New ADODB.Connection private sub Connect() cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + App.Path + "\temp1.mdb;" end sub然后,在工程的起始窗体的load事件中调用一次call Connect 即可,记得在unload中关闭他( (cnt.close set cnt=nothing)
Option Explicit Public conn As adodb.Connection Public Rs As adodb.Recordset Public cmd As adodb.Command 'Pr_EDP_DBConn()过程功能:打开数据库联接 Public Sub Pr_EPD_DBConn() ' On Error GoTo Err Set conn = New adodb.Connection Set cmd = New adodb.Command Set Rs = New adodb.Recordset conn.ConnectionString = "Provider=SQLOLEDB.1;Password=zxg;Persist Security Info=True;User ID=userid;Initial Catalog=databasename;Data Source=DATASERVERName" conn.CursorLocation = adUseClient conn.CommandTimeout = 30 ' conn.Mode = adModeReadWrite conn.Open Exit Sub Err: msg = "数据库联接失败,请与系统管理员联系!" MsgBox msg, vbCritical, title End Sub 'Pr_EDP_DBClose()过程功能:关闭数据库联接,释放对象 Public Sub Pr_EPD_DBClose() If Not TypeName(conn) = "Nothing" Then Set conn = Nothing End If If Not TypeName(cmd) = "Nothing" Then Set cmd = Nothing End If If Not TypeName(Rs) = "Nothing" Then Set Rs = Nothing End If End Sub
在模块里:
Sub aa()
Dim aa As String
aa = "1984"
End Sub然后在FORM1里:
Private Sub Command1_Click()
MsgBox (aa)
End Sub
他说缺少函数和变量,是否我用的有问题?
Dim aa As String
aa = "1984"
End SubPrivate Sub Command1_Click()
MsgBox aa
End Sub
public function aa()
aa = "1984"
End function然后在FORM1里:
Private Sub Command1_Click()
MsgBox aa
End Sub
Dim cust As New ADODB.Recordsetcnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + App.Path + "\temp1.mdb;"
那如果是这样,我怎么才能让以上ADO连接时在别的每个窗体里都能调用呢?然后,在每个窗里,我只要直接用cust.Open ......就可以了,这样子能否可以啊?请各位再帮一下吧!
private sub Connect()
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + App.Path + "\temp1.mdb;"
end sub然后,在工程的起始窗体的load事件中调用一次call Connect 即可,记得在unload中关闭他(
(cnt.close
set cnt=nothing)
Public conn As adodb.Connection
Public Rs As adodb.Recordset
Public cmd As adodb.Command
'Pr_EDP_DBConn()过程功能:打开数据库联接
Public Sub Pr_EPD_DBConn()
' On Error GoTo Err
Set conn = New adodb.Connection
Set cmd = New adodb.Command
Set Rs = New adodb.Recordset
conn.ConnectionString = "Provider=SQLOLEDB.1;Password=zxg;Persist Security Info=True;User ID=userid;Initial Catalog=databasename;Data Source=DATASERVERName"
conn.CursorLocation = adUseClient
conn.CommandTimeout = 30
' conn.Mode = adModeReadWrite
conn.Open
Exit Sub
Err:
msg = "数据库联接失败,请与系统管理员联系!"
MsgBox msg, vbCritical, title
End Sub
'Pr_EDP_DBClose()过程功能:关闭数据库联接,释放对象
Public Sub Pr_EPD_DBClose()
If Not TypeName(conn) = "Nothing" Then
Set conn = Nothing
End If
If Not TypeName(cmd) = "Nothing" Then
Set cmd = Nothing
End If
If Not TypeName(Rs) = "Nothing" Then
Set Rs = Nothing
End If
End Sub