1、模块
相信大家在写模块代码的时候都会用到一个split函数,那么问题来了,split函数到底是干什么用的?
split函数用一个用于分割字符串的函数,它能以一个字符串内容中的一个(或几个连续的)特定字符为切割位点的标志,将这个字符串分割成若干个小字符串。
举个例子:比如a="1,2,3,4,5"我想把1,2,3,4,5分别取出,应该怎么做?
Dim x() as Variant
a="1,2,3,4,5"
x=Split(a,",")
数据库传递参数代码:
'传递参数SQL传递查询语句,Msgstring传递查询信息
'自身以一个数据集的形式返回
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
Dim cnn As ADODB.Connection '定义连接
Dim rst As ADODB.Recordset '定义一个数据集
Dim sTokens() As String '定义字符串
On Error GoTo ExecuteSQL_Error
'异常处理
sTokens = Split(SQL) '用Split函数产生一个包含各个字串的数组
Set cnn = New ADODB.Connection '创建连接
cnn.Open ConnectString '打开连接
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then '非select语句
cnn.Execute SQL '数据量不大时,可以在连接上,直接执行SQL语句
MsgString = sTokens(0) & "query successful"
'虽然Msgstring不是返回值,但传递方式是Byref,实参地址和这个地址相同
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
'得到临时表,游标指向第一条记录
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing '清空数据集对象
Set cnn = Nothing '中断连接
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误:" & _
Err.Description
Resume ExecuteSQL_Exit
End Function
2、导出excel代码:
Private Sub cmdExportExcel_Click()
Dim ExcelApp As Excel.Application '定义excel表格应用程序
Dim Excelbook As Excel.Workbook '定义excel表格工作簿
Dim ExcelSheet As Excel.Worksheet '定义excel表格工作表
Dim ExcelRange As Excel.Range
Dim i As Integer '定义excel表中的横坐标
Dim j As Integer '定义excel表中的列坐标
Set ExcelApp = CreateObject("Excel.application") '调用程序
Set Excelbook = ExcelApp.Workbooks.Add '创建一个工作簿
Set ExcelSheet = Excelbook.Worksheets(1) '新建一个工作表
DoEvents '因一下代码运行时间较长,所以转让控制权,让操作系统处理其他时间,避免操作不响应误认为死机
'没有数据时提示
If MSFlexGrid1.Rows <= 1 Then
MsgBox "没有可导出数据!", vbOKOnly + vbExclamation, "提示"
End If
With MSFlexGrid1
For i = 0 To .Rows - 1 '循环添加行内容
For j = 0 To .Cols - 1 '循环添加列内容
DoEvents
ExcelApp.ActiveSheet.Cells(i + 1, j + 1) = .TextMatrix(i, j) '添加单元格内容
Next j
Next i
End With
ExcelApp.ActiveWorkbook.SaveAs App.Path & "\学生充值记录查询.xls" '设置保存路径
ExcelApp.ActiveWorkbook.Saved = True '保存excel表格
MsgBox "导出成功", vbOKOnly, "温馨提示"
ExcelApp.Visible = True '显示excel表格
'释放对象
Set ExcelApp = Nothing
Set Excelbook = Nothing
Set ExcelSheet = Nothing
End Sub
3、查询数据库建立连接并赋值的代码:
Dim txtSQL7 As String
Dim MsgText7 As String
Dim mrc7 As ADODB.Recordset
txtSQL7 = "select * from Online_Info"
Set mrc7 = ExecuteSQL(txtSQL7, MsgText7)
lblPeople.Caption = mrc7.RecordCount
mrc7.Close
当然,这是最简单的定义查询,建立数据集并赋值的代码,那些比较复杂的代码都是在这个基础上完成的。