四、完成下面用VB编写的折旧计算程序,并画出本题的程序框图。1. 编写一个用户删除程序模块。在删除用户前,先在Text1输入要删除的用户名称,在Text2中输入该用户的口令,然后按确定按钮,删除保存在use 表中的相应用户数据。假设ExecuteSQL()函数已经编好,下面的程序是确定按钮对应的程序段。请补上空出的语句并画出程序框图。 
Dim mrc As ADODB.Recordset
Sqlml = "select * from        where username='" & Trim(     ) & "'and password='" & Trim(     ) & "'"
Set mrc = ExecuteSQL(      )
If    .EOF =       Then
MsgBox " 该用户不存在!", vbExclamation + vbOKOnly, "警告"
   .SetFocus
   
   
Sqlml = "delete * from use where  username='" & Trim(Text1.Text) & "'      password='" & Trim(Text2.Text)     "'"
    
  .Close
MsgBox " 用户删除成功!", vbExclamation + vbOKOnly, "警告"
Text1.    = ""
_ __.Text = ""
Text1.SetFocus
 
2. 现有未完成程序如下,请按要求完成并画出该程序的程序框图。现已编好了SQL语句执行程序ExecuteSQL.。“开始计算”按钮程序如下:
Private Sub Command1_Click()
Dim mm As ADODB.Recordset
tsql = "select * from salary " ‘选取企业职工库的全部数据
Set mm = ExecuteSQL(___)  ‘执行SQL语句
If mm.EOF = ____ Then  ‘如果库中有数据,则执行下面的程序。
   mm.MoveFirst
   sum0 = 0         ‘将相关变量清零。
   sum1 = 0
   sum2 = 0
   rs0 = 0
   rs1 = 0
   rs2 = 0
   Do While mm.EOF = ____
      sum0 = sum0 + _________  ‘计算所有职工工资总额。
      rs0 = rs0+1
      If _______ Then
         _______        ‘计算男职工人数
         sum1 = sum1 + _______ + mm.Fields(4)
      Else
         sum2 = sum2 +__ _.Fields(3) + ________  ‘计算女职工工资总额
         ___ = rs2 + 1
      ______
      mm.MoveNext
   ______
   pj0 = sum0 / rs0       ‘计算总平均工资
   pj1 = sum1 / rs1
   pj2 = sum2 / rs2
   Text1.Text = sum0    ‘设置显示结果,以便在窗口中显示结果
   Text2.Text = sum1
   Text3.Text = sum2
   _____ = pj0
   _____ = pj1
   _____ = pj2
______
   MsgBox "对不起,数据库中无数据!"
End If
mrc.Close
End Sub
 
3. 一个库存管理系统。当采购物品在当前录入窗口录入后,按“确定”按钮后程序要在库存表中对输入的采购物品编号进行检查,如果库存表中已有该物品,则按移动加权平均方法计算其发出价格(公式见下面)。如果没有输入的物品编号,则在库存表中追加一条空记录,并将当前录入的数据记入相应的数据项中。处理完本物品入库后,将各输入框清空,光标置于第一个文本录入框。在该录入窗口中,有4个文本录入框,TEXT1中输入物品编号,TEXT2中输入物品名称,TEXT3中输入该物品单价,TEXT4中输入该物品数量。库存数据表(inventory)中字段按顺序有:No为物品编号,Object为物品名称,Price为物品发出价格,Number为库存数量。要求画出程序框图,并补充缺失的程序。
移动加权平均方法计算公式:
出库的物品发出价格=(本次录入的物品单价*本次录入的物品数量+原库存物品发出单价*原库存数量)/(本次录入的物品数量+原库存数量)
Dim txtstr As String
Dim mrc As ADODB.Recordset
Txtstr = "select * from inventory"
Set mrc = ExecuteSQL(txtstr)
Do While Not mrc.EOF
   If  mrc.Fields(0) = _____________ Then
      _____________
   __________
   mrc.MoveNext
Loop
If  Not  mrc.EOF  Then
   __________________________________________________________
   mrc.Fields(3) = Val(Text4.Text) + mrc.Fields(3)
   _________________________________________
Else
   _______________________
mrc.Fields(0) = Text1.Text
mrc.Fields(1) = Text2.Text
mrc.Fields(2) =val(Text3.Text)
mrc.Fields(3) = val(Text4.Text)
End If
______________
______________
MsgBox " 数据添加成功!", vbExclamation + vbOKOnly, "警告"
______________
______________
______________
______________
                 ______________

解决方案 »

  1.   

    Dim mrc As ADODB.Recordset 
    Sqlml = "select * from        where username='" & Trim( Text1.text ) & "'and password='" & Trim( text2.text  ) & "'" 
    Set mrc = ExecuteSQL( Sqlml ) 
    If    .EOF =       Then 
    MsgBox " 该用户不存在!", vbExclamation + vbOKOnly, "警告" 
       .SetFocus 
        
        
    Sqlml = "delete * from use where  username='" & Trim(Text1.Text) & "'password='" & Trim(Text2.Text)     "'" 
         
      .Close 
    MsgBox " 用户删除成功!", vbExclamation + vbOKOnly, "警告" 
    Text1.text= "" 
    Text2.Text = "" 
    Text1.SetFocus 
      

  2.   

       
    Dim mrc As ADODB.Recordset 
    Sqlml = "select * from use where username='" & Trim( text1.text ) & "'and password='" & Trim( text2.text ) & "'" 
    Set mrc = ExecuteSQL(Sqlml) 
    If mrc.EOF =true Then 
    MsgBox " 该用户不存在!", vbExclamation + vbOKOnly, "警告" 
       mrc.SetFocus 
        
        
    Sqlml = "delete * from use where  username='" & Trim(Text1.Text) & "'  and   password='" & Trim(Text2.Text)     "'" 
         
     mrc.Close 
    MsgBox " 用户删除成功!", vbExclamation + vbOKOnly, "警告" 
    Text1.text  = "" 
    text2.Text = "" 
    Text1.SetFocus 
      
    2. 现有未完成程序如下,请按要求完成并画出该程序的程序框图。现已编好了SQL语句执行程序ExecuteSQL.。“开始计算”按钮程序如下: 
    Private Sub Command1_Click() 
    Dim mm As ADODB.Recordset 
    tsql = "select * from salary " ‘选取企业职工库的全部数据 
    Set mm = ExecuteSQL(tsql )  ‘执行SQL语句 
    If mm.EOF = true Then  ‘如果库中有数据,则执行下面的程序。 
       mm.MoveFirst 
       sum0 = 0         ‘将相关变量清零。 
       sum1 = 0 
       sum2 = 0 
       rs0 = 0 
       rs1 = 0 
       rs2 = 0 
       Do While mm.EOF = false
          sum0 = sum0 + mm.salary ‘计算所有职工工资总额。 
          rs0 = rs0+1 
          If mm.sex=man Then 
             rs1=rs1+1       ‘计算男职工人数 
              sum1 = sum1 +  mm.salary  + mm.Fields(4) 
          Else 
             sum2 = sum2 + mm_.Fields(3) +mm.salary   ‘计算女职工工资总额 
              rs2 = rs2 + 1 
          ______ 
       mm.MoveNext 
       loop
       pj0 = sum0 / rs0       ‘计算总平均工资 
       pj1 = sum1 / rs1 
       pj2 = sum2 / rs2 
       Text1.Text = sum0    ‘设置显示结果,以便在窗口中显示结果 
       Text2.Text = sum1 
       Text3.Text = sum2 
       text4.text = pj0 
       text5.text = pj1 
       text6.text = pj2 
    ______ 
       MsgBox "对不起,数据库中无数据!" 
    End If 
    mrc.Close 
    End Sub 
      
    3. 一个库存管理系统。当采购物品在当前录入窗口录入后,按“确定”按钮后程序要在库存表中对输入的采购物品编号进行检查,如果库存表中已有该物品,则按移动加权平均方法计算其发出价格(公式见下面)。如果没有输入的物品编号,则在库存表中追加一条空记录,并将当前录入的数据记入相应的数据项中。处理完本物品入库后,将各输入框清空,光标置于第一个文本录入框。在该录入窗口中,有4个文本录入框,TEXT1中输入物品编号,TEXT2中输入物品名称,TEXT3中输入该物品单价,TEXT4中输入该物品数量。库存数据表(inventory)中字段按顺序有:No为物品编号,Object为物品名称,Price为物品发出价格,Number为库存数量。要求画出程序框图,并补充缺失的程序。 
    移动加权平均方法计算公式: 
    出库的物品发出价格=(本次录入的物品单价*本次录入的物品数量+原库存物品发出单价*原库存数量)/(本次录入的物品数量+原库存数量) 
    Dim txtstr As String 
    Dim mrc As ADODB.Recordset 
    Txtstr = "select * from inventory" 
    Set mrc = ExecuteSQL(txtstr) 
    Do While Not mrc.EOF 
       If  mrc.Fields(0) = trim(text1.text) Then 
           mrc.price=(val(trim(text3.text))*val(trim(text2.text)+mrc.price*mrc.number)/(val(trim(text3.text)+mrc.number)
       end if 
       mrc.MoveNext 
    Loop 
    If  Not  mrc.EOF  Then 
        mrc.field(2)=(val(trim(text3.text))*val(trim(text2.text)+mrc.price*mrc.number)/(val(trim(text3.text)+mrc.number)
        mrc.Fields(3) = Val(Text4.Text) + mrc.Fields(3) 
       _________________________________________ 
    Else 
    mrc.addnew   
    mrc.Fields(0) = Text1.Text 
    mrc.Fields(1) = Text2.Text 
    mrc.Fields(2) =val(Text3.Text) 
    mrc.Fields(3) = val(Text4.Text) 
    End If 
    ______________ 
    ______________ 
    MsgBox " 数据添加成功!", vbExclamation + vbOKOnly, "警告" 
    text1.text=""
    text2.text=""
    text3.text=""
    text4.text=""               
    text1.SetFocus 
      

  3.   

    同意楼上的说法!
    现在回头看学生时代,真TMD爽啊!