'全局变量
Option Explicit
'数据库链接
Private Sub DataEnvironment_Initialize()
'根据目录所在的位置,改变ADO所使用的的连接字符串
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source="
'使用相对路径
strConn = strConn & App.Path & "\关根.mdb" & ";Persist Security Info=True"
Con.ConnectionString = strConn
End Sub
'定义函数
Private Function Foo(X As Integer) As Integer
.....
End Function
'调用函数
Call Foo(y)
'If条件
If condition Then
.....
ElseIf
.....
Else
.....
End If
'For循环(确定性)
For I=1 To 10
....
Next I
'Do循环
Do While condition '当满足条件时开始循环
statements
Loop
Do
statements
Loop While condition '当满足条件时跳出循环
'Mid函数
Private Sub Form_Click()
Dim a As String
a = "abcdef"
b = Mid(a, 3, 3)
Print b
End Sub '显示 cde
'Len函数
Private Sub Form_Click()
Dim a As String
a = "abcdef"
b = Len(a)
Print b
End Sub '显示 6
'Left函数
Private Sub Form_Click()
Dim a As String
a = "abcdefghijklmn"
b = Left(a, 6)
Print b
End Sub '显示 abcdef
'Right函数
Private Sub Form_Click()
Dim a As String
a = "abcdefghijklmn"
b = Right(a, 6)
Print b
End Sub '显示 ijklmn
'Ltrim(string) Rtrim(string) Trim(string)函数
'去掉空格
'数学函数
Abs(number) '绝对值
Int(number) '取整
Sqr(number) '平方
Rnd() '随机
------SQL----------
'Select语句
Select [All | Distinct]<关系表字段(表达式)列表 | *>
From[关系表名(别名)列表]
[Where 查询条件]
[Group By 分组条件]
[Order By 排序要求]
[Into <新关系表名>]
'例子:
Select mingzi,chengji From xuesheng Order By xuehao ASC '升序ASC 降序DESC
'处理函数
Sum() 列总和
Avg() 列平均值
Min() 列最小值
Max() 列最大值
Count() 列内值的个数
Count(*) 表行数
'数据添加
Insert Into <表名>(列名) Values (列值列表)
'数据删除
Delete From <表名> [Where<搜索条件>]
'数据修改
Update <表名>
Set 列名 = 表达式,...,列名 = 表达式
[Where<搜索条件>]
'例子
Update gongzi
Set qian=1000
Where qian Is Null
'数据库操作
①创建表
Create Table guangen
(Id Integer Not Null,
xingming String Not Null,
shijian Date Not Null)
②删除表
Drop Table guangen
③修改表
Alter Table guangen
(Add xingbie )
④授予权限
Grant
⑤取消权限
Revoke
⑥事务处理
Commit Work 成功
RollBack Work 失败
-----Date控件-----
Connect 连接数据库类型
DatabaseName 数据库地址
RecordSource 数据表
'用TextBox控件、Label控件来显示
DataSource 数据来源哪个Data
DataField 表中列名
|--ADO Data 控件
| Name属性
| ConnectionString属性 连接字符串
| RecordSource属性 Select * From abc
| Caption属性
|
| |--DataCombo 控件
| | Name属性
| | DataSource属性
|-| DataField属性
| RowSource属性
| ListField属性
| BoundColumn属性
|--DataGrid 控件
Name属性
DataSource属性
Caption属性
鼠标运动
Screen.MousePointer = vbHourglass
Screen.MousePointer = vbArrow
'--------------------图形按钮---------------------------
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case Is = "addStu"
MsgBox "提示", , "添加学生"
Case Is = "delStu"
MsgBox "提示", , "删除学生"
Case Is = "extMIS"
Unload Me
Case Is = "abtMIS"
MsgBox "提示", , "关于系统"
End Select
End Sub
'---------------状态栏----------------
Private Sub Form_Load()
StatusBar1.Panels(1).Text = "ABC"
StatusBar1.Panels(2).Text = "DEF"
StatusBar1.Panels(3).Text = "GHI"
End Sub
'----------------读取SQL2000-------------
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim connstr As String
Dim sql As String
Dim cmd As New ADODB.Command
Private Sub cmdEnd_Click()
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
Unload Me
End Sub
Private Sub cmdFrist_Click()
rs.MoveFirst
Call showData
End Sub
Private Sub cmdLast_Click()
rs.MoveLast
Call showData
End Sub
Private Sub cmdNext_Click()
rs.MoveNext
If rs.EOF Then
rs.MoveFirst
End If
Call showData
End Sub
Private Sub cmdPrevious_Click()
rs.MovePrevious
If rs.BOF Then
rs.MoveLast
End If
Call showData
End Sub
Private Sub Form_Load()
connstr = "provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Secruity Info=False;User ID=sa;User Password=sa;Initial catalog=guangen;Data Source=localhost"
conn.ConnectionString = connstr
conn.Open connstr
'将数据放在内存中
rs.CursorLocation = adUseClient
rs.Open "test", conn, adOpenKeyset, adLockBatchOptimistic
rs.MoveFirst
Call showData
End Sub
Sub showData()
txtID.Text = rs.Fields(0)
txtName.Text = rs.Fields(1)
End Sub
-------------分页显示--------------------------------------
Public Sub fenye()
Dim rs As ADODB.Recordset
Dim strCnn As String
Dim strMessage As String
Dim intPage As Integer
Dim intPageCount As Integer
Dim intRecord As Integer
strCnn = "provider=sqloledb; data source=localhost; initial catalog=gg; user id=sa; password=sa;"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "emplyee", strCnn, , , adCmdTable
rs.PageSize = 6
intPageCount = rs.PageCount
For intPage = 1 To intPageCount
rs.AbsolutePage = intPage
strMessage = ""
For intRecord = 1 To rs.PageSize
strMessage = strMessage & rs!fname & rs!lname & rs!hire_date & vbCr
rs.MoveNext
If rs.EOF Then Exit For
Next intRecord
MsgBox strMessage, , "数据列表"
Next intPage
rs.Close
End Sub
Private Sub Command1_Click()
Call fenye
End Sub
Private Sub Command2_Click()
End
End Sub
----------------添加数据---------------------
Public Sub tianjia()
Dim rs As ADODB.Recordset
Dim strCnn As String
Dim strMessage As String
Dim intPage As Integer
Dim intPageCount As Integer
Dim intRecord As Integer
strCnn = "provider=sqloledb; data source=localhost; initial catalog=gg; user id=sa; password=sa;"
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "emplyee", strCnn, , , adCmdTable
strFN = Trim(InputBox("输入姓:"))
strLN = Trim(InputBox("输入名:"))
strDA = Date
rs.AddNew
rs!fname = strFN
rs!lname = strLN
rs!hire_date = strDA
rs.Update
MsgBox "新纪录:" & rs!fname & rs!lname, , "已添加记录!"
rs.Close
End Sub
Private Sub Command1_Click()
Call tianjia
End Sub
Private Sub Command2_Click()
End
End Sub
---------------删除记录----------------------
Public Sub shanchu()
Dim rs As ADODB.Recordset
Dim strCnn As String
Dim strMessage As String
Dim intPage As Integer
Dim intPageCount As Integer
Dim intRecord As Integer
strCnn = "provider=sqloledb; data source=localhost; initial catalog=gg; user id=sa; password=sa;"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockOptimistic
rs.Open "select * from emplyee where fname='叼'", strCnn, , , adCmdText
rs.Delete
rs.UpdateBatch