前言
刚开始敲此窗体时,头就开始晕了,因为觉得自己啥也不会,觉得这个还挺难的,其实主要还是抗拒产生难。不过还是应征了鲁迅先生说的那句话:有些路走着走着就有了。
流程
因为没有拷流程图,所以我基本上是手动输入的。具体如下:用户级别点击事件,连接数据库,更新至MSFlexGrid1控件中------添加(添加用户:连接user_info数据库)----更新:连接数据库,更新添加用户里的信息到MSFlexGrid1控件中----删除:MSFlexGrid1第一行,与及自己都不能删除,连接user_info删除数据库
挫折
问题1:实时错误30015,不能删除上一个非固定行
原因:在MSFlexGrid1控件中,未选定一行而出错
解决:固定行的原因,把固定行由1改为了0,但总感觉不是这个固定行的问题,但是能运行了。
问题2:点击combtype并没有信息显示出来
原因:此控件的click事件里没有添加代码,而是在更新里写了,所以点击更新才有
解决:为了一点击combtype控件就发生事件,我就在此控件中书写了代码
问题3:添加里添加用户成功后却显示不出来怎么办
原因:在更新里没有进行相关的书写代码
解决:在更新里书写相应的代码
问题4:在添加用户窗体中出现了不报错,但就是添加不上信息的现象
原因:代码逻辑问题
解决:if 语句end if 的关系
问题5:combtype设置为只读后,不能清空
原因:只读属性出现text便会报错
解决:在此控件的Keypress事件中,添加代码:keyascii = 0就可以了
知识点
MSFlexGrid1.Row,表格中的当前行 ,MSFlexGrid1.Col,表格中的当前列
MSFlexGrid1.RowHeight(1)=0 '隐藏第一行
MSFlexGrid1.colWidth(1)=0 '隐藏第一列
Set MSFlexGrid1.CellPicture = LoadPicture("f:\temp\snow.bmp") '在MSFlexGrid1控件的单元格中插入图
MSFlexGrid1.SelectionMode=flexSelectionByRow '选中整行
MSFlexlGrid1.FocusRect = flexFocusNone '选中行显示焦点框
MSFlexGrid1.HighLight = flexHighlightWithFocus '选中行突出显示
MSFlexGrid1.RowHeight(0)=500 '行的宽度
MSFlexGrid1.colwidth(2)=2000 '列的宽度
代码展示
## combtype部分
txtsql = "select * from user_in where userID=' " & combtype.text & "'"
set mrc = executsql(txtsql,msgtext)
With MSFlexGrid1
.Rows =1
.CellAlignment=1
.TextMatrix(0,0) = "用户名"
.TextMatrix(0,1) = "姓名"
.TextMatrix(0,2) = "开户人"
End with
Do while not mrc.eof
with MSFlexGrid1
.rows = .rows +1
.CellAlignment =4
.TextMatrix(.Rows-1,0)= mrc.Fields(0)
.TextMatrix(.Rows-1,1) = mrc.Fields(3)
.TexMatrix(.rows-1,2) = mrc.Fields(4)
end with
mrc.moveNext
loop
## 删除部分
With MSFlexGrid1
if MSFlexGrid1.Rowsel = 0 then '如果选中第一标题行,则提示没选中内容
msgbox " 没有选中内容 ", 48 ," 提示 "
exit sub
'超过第二行
if .rowsel > 0 then
if trim(.TextMatrix(.rowsel,0)) = username then '把username赋给trim(.textMatrix(.rowsel,0), 然后不能删除自己
MSFlexGrid1.remobeItem MSFlexGrid1.rowsel '删除MSFlexGrid1中被选中的行
## 加载窗体
with combtype
.additem "一般用户"
.additem"管理员"
.additem"操作员"
end with
总结
困难是进步的阶梯