一、
二、MSHflexgrid控件
MSHflexgrid控件的使用:https://blog.csdn.net/lxl51666/article/details/52663989
三、理解
这个界面就不画思维导图了,很好理解。
但是更新这个按钮有点意思:
添加是添加用户的,添加完用户直接就添加到数据库了。同样删除也是直接添加到数据库,那么更新的作用呢?
更新有两种:
(一)是把客户的添加和删除的信息更新到数据库。
(二)是把客户的添加和删除的信息从数据库里面反应到界面上。
很显然第一种是错误的,应该是第二种把数据库里面新的信息更新到界面。
更新的代码
Private Sub cmdUpdate_Click() '更新
Dim txtSQL As String
Dim MsgText As String
Dim mrc As ADODB.Recordset
' txtSQL = "select * from User_Info"
' Set mrc = ExecuteSQL(txtSQL, MsgText)
txtSQL = "select * from User_Info where level='" & Trim(ComboUserBank.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
MsgBox "没有内容", vbOKOnly, "提示"
Else
With MSHFlexGrid1
.CellAlignment = 4
.Rows = 1
.TextMatrix(0, 0) = "用户名"
.TextMatrix(0, 1) = "姓名"
.TextMatrix(0, 2) = "开户人"
'显示数据
Do While Not mrc.EOF
With MSHFlexGrid1
.Rows = .Rows + 1
.CellAlignment = 4
.ColWidth(1) = 1000
.TextMatrix(.Rows - 1, 0) = mrc.Fields(0) 'rows+1是横坐标,与上面的.Rows=1代表的有所不同
.TextMatrix(.Rows - 1, 1) = mrc.Fields(3) '.rows=1表示控件加载时总行数为1行(控件行数最小为1)表示坐标时,我们知道是从(0,0)开始的,因此rows-1只是代表坐标从头开始,与控件加载时设定的行数无关
.TextMatrix(.Rows - 1, 2) = mrc.Fields(4)
' .Text(.row + 1, 0) = mrc.Fields(0)
' .Text(.row + 1, 1) = mrc.Fields(3)
' .Text(.row + 1, 2) = mrc.Fields(4)
'' mrc.Fields(0) = .TextMatrix(.row + 1, 0)
' mrc.Fields(3) = .TextMatrix(.row - 1, 1)
' mrc.Fields(4) = .TextMatrix(.row - 1, 2)
mrc.MoveNext
End With
Loop
End With
End If
End Sub