(五)机房收费系统--重要代码展示

前言:这部分是我在敲机房的时候,卡了一天或者两天的问题。尤其是”管理员--学生基本信息维护-修改“这个窗体,卡了两天才解决,有的可能是简单拿的问题,但是思路想好了,不会表达也是个麻烦,但是在小伙伴的帮助下,和自己的努力下,终于完成啦~


1.将数据导出excel表
①在工程中引用MicrosoftExcel类型库 
工程菜单中选择引用,选择“Microsoft Excel 14.0 Objects Library” ,点击确定。
②代码展示:

 Private SubcmdExportExcel_Click()

 

     '定义循环变量

    Dim i As Integer

    Dim j As Integer

    '定义表,工作薄,工作表

    Dim xlApp As Excel.Application

    Dim xlBook As Excel.Workbook

    Dim xlSheet As Excel.Worksheet


    '显示表

    Set xlApp =CreateObject("Excel.Application")

    xlApp.Visible = True


     '创建表簿和工作表

    Set xlBook = xlApp.Workbooks.Add

    Set xlSheet = xlBook.Worksheets(1)


    ' 循环

    For i = 0 To MSHFlexGrid1.Rows - 1

        For j = 0 To MSHFlexGrid1.Cols - 1

            ' 把myflexgrid1里面的值赋给工作表

            MSHFlexGrid1.Row = i

            MSHFlexGrid1.Col = j

            xlSheet.Cells(i + 1, j + 1) =Trim(MSHFlexGrid1.Text)

          

        Next

    Next

End sub

更多思路,在这里推荐一篇文文师姐的博客链接,写的非常好~

http://blog.csdn.net/yanwenwennihao/article/details/52216866



2.快速清除textbox,和combobox中的内容

开始清楚的时候,通常会用到控件=“”就可以了,可以控件数量多的时候,可以设置代码,来快速清楚text和combox里的内容,会方便~


 '清除的按钮,快速清除各个空间里的信息
PrivateSub cmdCls_Click()
   Dim ctl As Control  '定义一个变量,把控件装载到里面
   For Each ctl In Controls
    '删除所有text文本框内容
   If TypeOf ctl Is TextBox Then ctl.Text = ""              
       Nextctl
   '删除所有combobox文本框内容
   For Each ctl In Controls
       If TypeOf ctl Is ComboBox Then ctl.Text = ""
   Next ctl
  MSHFlexGrid1.Clear
EndSub



3.管理员--学生基本信息维护-修改

修改学籍信息
这个窗体的难点是,怎样把选中的MSHflexGrid行导入到修改窗体中,这个真的是想了好久,后来在张连康的帮助下,终于实现啦~

①先要在学生基本信息维护窗体中设置对修改窗体的调用

Private SubcmdModify_Click()

    Dim txtsql As String

    Dim mrc As adodb.Recordset

    Dim msgtext As String

   

   '判断是否选中了要修改的数据

   With MSHFlexGrid1

    If .RowSel = 0 Then

        MsgBox "请选择要修改的数据", vbOKOnly + vbExclamation, "提示"

        Exit Sub

    Else

    frmmodifystudentinfo.Show   

    End If

   End With

   

End Sub

 

 

Private SubMSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y AsSingle)

       

        cardNo = Trim(MSHFlexGrid1.Row)

        cardNo =MSHFlexGrid1.TextMatrix(cardNo, 0)

End Sub


②这一步非常重要

同时要在模块中定义public   cardno as cardno



③对修改窗体的设置

(1)

Private SubForm_Load()

  Combosex.AddItem "男"

  Combosex.AddItem "女"


  Combostate.AddItem "使用"

  Combostate.AddItem "不使用"

   

  Combotype.AddItem "临时用户"

  Combotype.AddItem "固定用户"

 

 txtsql = "select * from student_infowhere cardno='" & Trim(cardNo) & "'"

 Set mrc = executesql(txtsql, msgtext)

 

 Call viewdata

            

End Sub

 (2)

Private Subcommodify_Click()

txtsql ="select * from student_info where cardno='" & Trim(cardNo) &"'"

    Set mrc = executesql(txtsql, msgtext)

  ‘此处没有mrc,addnew,否则更新数据会重复出现

    mrc.Fields(1) = txtStudentNo.Text

    mrc.Fields(2) = txtStudentName.Text

    mrc.Fields(3) = Combosex.Text

    mrc.Fields(4) = txtDepartment.Text

    mrc.Fields(5) = txtGrade.Text

    mrc.Fields(6) = txtClass.Text

    mrc.Fields(0) = txtcardno.Text

    mrc.Fields(7) = txtCash.Text

    mrc.Fields(10) = Combostate.Text

    mrc.Fields(8) = txtexplain.Text

    mrc.Fields(14) = Combotype.Text   

    mrc.Update

    MsgBox "修改学生信息成功!", vbOKOnly + vbExclamation, "警告"

   Call viewdata  


'防止每次运行都重复出现

    Combosex.Clear

    Combotype.Clear

    Combotype.Clear


End Sub

 (3)

Public Sub viewdata()

 

       txtStudentNo.Text = mrc.Fields(1)

       txtStudentName.Text = mrc.Fields(2)

       Combosex.Text = mrc.Fields(3)

       txtDepartment.Text = mrc.Fields(4)

       txtGrade.Text = mrc.Fields(5)

       txtClass.Text = mrc.Fields(6)

       txtcardno.Text = mrc.Fields(0)

       txtCash.Text = mrc.Fields(7)

       Combostate.Text = mrc.Fields(10)

       txtexplain.Text = mrc.Fields(8)

       Combotype.Text = mrc.Fields(14)

 

End Sub



4.设置权限

一般用户只能看一看用户的;操作员可以看一般用户和操作员的;管理员可以看所以的。


 

总结:感谢你的阅读评论,陪伴我走过了机房~

 


机房收费管理系统 问题描述 结合我校计算机机房的运作模式,设计一种适合的收费管理系统,能够实现相关的人员检索,计时收费,管理汇总等功能模块。 开发环境 采用C或C++实现,VC++6.0 基本要求 主要功能模块: (1) 登录模块 (2) 上机管理模块 说明:上机登记时,余额不足3元或卡处于挂失状态,则拒绝登记。 每位同学的一次上机形成一条记录,每30秒遍历一次上机记录表,对表中所有正上机字段为TRUE的记录的上机用时增加30秒,同时减少上机卡表中的余额。 (3) 上机卡管理模块 (4) 充值挂失模块 (5) 查找统计模块:统计某天上机的总时数、每次上机的平均时数和机房的收入;某学生上机的次数、上机总时数、每次上机平均时间;挂失和查询余额。 参考的数据结构: 上机卡(卡号,姓名,专业班级,余额,状态),状态有:正常和挂失。 上机记录(卡号,上机日期,开始时间,上机用时,正上机,管理号代码) 上机记录表永久保存,用于事后查询和统计。 设计要求 1) 界面友好,输入信息符合逻辑:如上机时间设定在合理的时间范围。 2) 能从实践生活出发,设计合理的功能模块 3) 各类信息的数据结构明晰 4) 可根据自身生活体验添加相关功能模块。 拓展功能要求 鼓励采用Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。鼓励引入小型数据作为处理数据的来源,拓展知识面。
评论 60
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值