2010年8月6日 星期五

Access 2007 表單 程式碼

image

按鈕控制項

進入設計模式,點選按鈕在表單上拖曳一大小,點選屬性表,在屬性表中的名稱及標題輸入需要的名稱

image

這邊的示範使用"確定"按鈕

image


建立程式碼幫手

點選按鈕,啟動屬性表功能,把屬性表的分類選擇事件,在On Click點選瀏覽按鈕,選擇程式碼建立幫手,再點選確定按鈕

image

進入Visual Basic程式碼編輯器,即可開始編寫程式碼

image


Private Sub 日期由今天_Click()
    日期由 = Date                   '取今天日期
End Sub

說明:

Private Sub 日期由今天_Click()    => 表示為日期由今天控制項按鈕,按下時的動作

日期由 = Date =>表示為把日期由的文字方塊,使用Date日期函數取得今天日期

End Sub  => 1表示控制項結束

' 單引號表示為註解的意思


Private Sub 日期由月初_Click()
    日期由 = Year(Date) & "/" & Month(Date) & "/1"  '取本月份的1號
End Sub

Year(Date) =>功能為取得目前的年份

Month(Date) =>功能為取得目前的月份

& =>為連結符號


Private Sub 日期由減一_Click()
    日期由 = CDate(日期由) - 1                      'cdate為日期型態轉換 ,將日期減少一天
End Sub


Private Sub 日期由增一_Click()
    日期由 = CDate(日期由) + 1                      'cdate為日期型態轉換 ,將日期增加一天
End Sub

CDate =>日期型態轉換


Private Sub 日期到今天_Click()
    日期到 = Date                                   '取今天日期
End Sub


Private Sub 日期到月底_Click()
    Dim StrMonth                '判斷月份的變數
    Dim StrDay                 '存放天的變數
    StrMonth = Month(Date)      '判斷目前的月份,找出最後一天的天數
        Select Case StrMonth
            Case 1
                StrDay = "31"
            Case 2
                StrDay = "28"
            Case 3
                StrDay = "31"
            Case 4
                StrDay = "30"
            Case 5
                StrDay = "31"
            Case 6
                StrDay = "30"
            Case 7
                StrDay = "31"
            Case 8
                StrDay = "31"
            Case 9
                StrDay = "30"
            Case 10
                StrDay = "31"
            Case 11
                StrDay = "30"
            Case 12
                StrDay = "31"
        End Select
    日期到 = Year(Date) & "/" & Month(Date) & "/" & StrDay     '將判斷出來的月份,重新組合成月底的日期

End Sub


Private Sub 日期到加一_Click()
    日期到 = CDate(日期到) + 1
End Sub


Private Sub 日期到減一_Click()
    日期到 = CDate(日期到) - 1
End Sub


Private Sub 本月_Click()
    Dim StrMonth
    Dim StrDay
    StrMonth = Month(Date)
        Select Case StrMonth
            Case 1
                StrDay = "31"
            Case 2
                StrDay = "28"
            Case 3
                StrDay = "31"
            Case 4
                StrDay = "30"
            Case 5
                StrDay = "31"
            Case 6
                StrDay = "30"
            Case 7
                StrDay = "31"
            Case 8
                StrDay = "31"
            Case 9
                StrDay = "30"
            Case 10
                StrDay = "31"
            Case 11
                StrDay = "30"
            Case 12
                StrDay = "31"
        End Select
    日期到 = Year(Date) & "/" & Month(Date) & "/" & StrDay
    日期由 = Year(Date) & "/" & Month(Date) & "/1"
End Sub


Private Sub 清除_Click()
        日期由 = Null
        日期到 = Null
        公司名稱.Value = Null
End Sub

Null =>表示為空白的意思


Private Sub 預覽列印_Click()
Dim str        '定義變數
str = ""        '將變數清空
        If IsNull(日期由) = False Then                         '判斷是否有輸入內容
            str = str & "[訂單日期] >= #" & 日期由 & " # "     '將STR變數組合日期
        End If
        If IsNull(日期到) = False Then
                If str <> "" Then str = str & "And"
            str = str & "[訂單日期] <= #" & 日期到 & " # "
        End If
        If 公司名稱.Value <> "" Then
                If str <> "" Then str = str & "And"
            str = str & "[公司名稱] ='" & 公司名稱.Value & "'"
        End If
        DoCmd.OpenReport "查詢訂貨單子表", acViewPreview, , str        '將組合好的str傳給報表,找出符合的內容
End Sub


Private Sub 篩選_Click()
Dim str
str = ""
        If IsNull(日期由) = False Then
            str = str & "[訂單日期] >= #" & 日期由 & " # "
        End If
        If IsNull(日期到) = False Then
                If str <> "" Then str = str & "And"
            str = str & "[訂單日期] <= #" & 日期到 & " # "
        End If
        If 公司名稱.Value <> "" Then
                If str <> "" Then str = str & "And"
            str = str & "[公司名稱] ='" & 公司名稱.Value & "'"
        End If

        Me![查詢定貨單子表].Form.Filter = str              '將STR變數傳給表單篩選
        Me![查詢定貨單子表].Form.FilterOn = True      '啟動篩選功能
        Me![查詢定貨單子表].Form.Requery                  '篩選結果

End Sub

張貼留言

LinkWithin

Related Posts Plugin for WordPress, Blogger...

熱門文章