有两个窗体,A和B。A中填写内容(我设定的全局变量),然后点“确定”,我想让这个变量传递到B中,同时查询出的结果在B中显示出来。
请问我该怎么写代码,如果有类似的代码可以帖出来让我看看好吗,我现在是边学边做程序。
对了,我是照VB书修改的,其中B中只有label和textbox两种控件,我直接把下面代码加在form_load()内的: Dim txtSQL As String
Dim mrc As ADODB.Recordset
Dim MsgText As String
txtSQL = "select * from .......(我能确定sql语法没错)
Set mrc = ExecuteSQL(txtSQL, MsgText)测试时总提示“编译错误,未找到方法或数据源成员”,调试时在后一个MsgText停住。查询的字段中有char和text两种类型,我不知道是不是定义时有问题啊?那我先谢谢各位了啊!
请问我该怎么写代码,如果有类似的代码可以帖出来让我看看好吗,我现在是边学边做程序。
对了,我是照VB书修改的,其中B中只有label和textbox两种控件,我直接把下面代码加在form_load()内的: Dim txtSQL As String
Dim mrc As ADODB.Recordset
Dim MsgText As String
txtSQL = "select * from .......(我能确定sql语法没错)
Set mrc = ExecuteSQL(txtSQL, MsgText)测试时总提示“编译错误,未找到方法或数据源成员”,调试时在后一个MsgText停住。查询的字段中有char和text两种类型,我不知道是不是定义时有问题啊?那我先谢谢各位了啊!
Dim rst As ADODB.Recordset
Dim sTokens() As String On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL) Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & " query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn,adOpenKeyset,adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & 条记录 "
End IfExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit FunctionExecuteSQL_Error:
MsgString = "查询错误: " & Err.Description
Resume ExecuteSQL_ExitEnd Function不知道哪里出了问题,请大家帮忙看看,如果还有什么要我帖的麻烦告诉我,现在在线等......谢谢!
如txtSQL= "select * from stu where grade like '% & ComboBox.(?) & %' ",我想问的是在&&之间该写什么代码?我在ComboBox内的内容是这样的:
Private Sub ComboBox_Change(Index As Integer)
ComboBox.Item = "大一"
ComboBox.Item = "大二"
ComboBox.Item = "大三"
ComboBox.Item = "大四"
End Sub
-----------------------------------------------
这句没写对(ADODB写成ODB了),改为:
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset还有,代码中的这句
MsgString = "查询到" & rst.RecordCount & 条记录 "
少了一个双引号,改为:
MsgString = "查询到" & rst.RecordCount & "条记录 "
如txtSQL= "select * from stu where grade like '% & ComboBox.(?) & %' ",我想问的是在&&之间该写什么代码?我在ComboBox内的内容是这样的:
Private Sub ComboBox_Change(Index As Integer)
ComboBox.Item = "大一"
ComboBox.Item = "大二"
ComboBox.Item = "大三"
ComboBox.Item = "大四"
End Sub
---------------------------------------------------------------
ComboBox是控件数组?
我猜你的意思是根据ComboBox里所选择的年级,查询对应年级的数据,如果是这样,代码应该这样写:
Private Sub Form_Load()
ComboBox.AddItem "大一"
ComboBox.AddItem "大二"
ComboBox.AddItem "大三"
ComboBox.AddItem "大四"
End SubPrivate Sub ComboBox_Change()
txtSQL = "select * from stu where grade like '%" & ComboBox.Text & "%' "
End Sub如果你的ComboBox是控件数组,那么Change事件这样写:
Private Sub ComboBox_Change(Index As Integer)
txtSQL = "select * from stu where grade like '%" & ComboBox(Index).Text & "%' "
End Sub