机房收费系统之标识是否已经被修改

        我们常常在编写代码的时候是以程序员的思想参与编写的,而有时会忽略编程本身的思想,这就需要我们程序员的思维向编程本身的思维转变。如何才能做到这一点呢?

       答案为以编程的思维去做编程,或许有人看到我这一句话是废话,说我是在瞎说。在我写这篇文章的时候我的水平仅停留在vb上,让我们来看一个例子。

   

上述图为机房收费系统中基本数据设定的窗体,在这里我有一个非常显眼的知识,那就是怎么能够标识textbox中的文本是否已经被修改 。让我先来量示一下我正确的做法。

Dim mcclean As Boolean              rem:mcclean用来标识是否被修改,定义为布尔型
Dim mybookmark
Dim mrcbasic As ADODB.Recordset

Private Sub form_load()
    Dim txtsqlbasic As String
    Dim msgtextbasic As String
 
    Dim ctrl As Control
    
    Rem:使textbox不能用
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Then
                ctrl.Enabled = False
        End If
    Next
        
    Rem:连接basicdata_info
    txtsqlbasic = "select * from basicdata_info"
    Set mrcbasic = executesql(txtsqlbasic, msgtextbasic)
    
    Rem:加载数据到基本数据设定窗体
    If mrcbasic.EOF = False Then
            txtrate.Text = mrcbasic!Rate
            txttmprate.Text = mrcbasic!tmprate
            txtunittime.Text = mrcbasic!unittime
            txtleasttime.Text = mrcbasic!leasttime
            txtpreparetime.Text = mrcbasic!preparetime
            txtlimitcash.Text = mrcbasic!limitcash
    End If
    
    mybookmark = mrcbasic.Bookmark
    mcclean = False                       rem:没被修改
End Sub

Rem:修改
Private Sub cmdmodify_click()
    
    mcclean = True                        rem:可以修改
    Dim ctrl As Control
    
    Rem:使textbox能用
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Then
                ctrl.Enabled = True
        End If
    Next
   mybookmark = mrcbasic.Bookmark
End Sub

Rem:确定
Private Sub cmdok_click()
    
    Dim txtsqlbasic As String
    Dim msgtextbasic As String
    
    
    If mcclean = False Then                 rem:如果没被修改
            MsgBox "请先修改数据!", vbOKOnly + vbInformation, "温馨提示"
            Exit Sub
    Else
            txtsqlbasic = "select * from basicdata_info"
            Set mrcbasic = executesql(txtsqlbasic, msgtextbasic)
            
            If mrcbasic.EOF = False Then
                    mrcbasic!Rate = Trim(txtrate.Text)
                    mrcbasic!tmprate = Trim(txttmprate.Text)
                    mrcbasic!unittime = Trim(txtunittime.Text)
                    mrcbasic!leasttime = Trim(txtleasttime.Text)
                    mrcbasic!preparetime = Trim(txtpreparetime)
                    mrcbasic!limitcash = Trim(txtlimitcash)
                    mrcbasic.Update
                    
            End If
    End If
    mrcbasic.Bookmark = mybookmark
    MsgBox "修改成功!", vbOKOnly + vbInformation, "温馨提示"
End Sub

看上述代码中的“rem”部分,这个“rem”的过程就是对是否被修改的一个定义的过程,如果在“确定”部分直接用mcclean,那么这个功能是不能实现的,解释到这里,我不知读者是否能看懂我所要讲述的。欢迎大家留言来一起探讨!!!

猜你喜欢

转载自blog.csdn.net/yang18831636208/article/details/83448919
今日推荐