2013-08-26 128 views
-1

我正在使用MS Access進行數據庫管理。我有看到的鏈接表生成不同的報告。我已經在stackoverflow上發現了一個類似的問題,並在這個問題上做了我的研究。我試圖根據條件繪製行(持續時間< 20 Paint米色,2060紅色)根據條件更改行顏色

我正在使用VBasic。這是我的代碼。

請讓我知道您的想法。非常感謝您的幫助!

Sub ChangeBackType() 

    Me.Date.BackStyle = 1 
    Me.Cell.BackStyle = 1 
    Me.Maintenance_Category.BackStyle = 1 
    Me.Duration.BackStyle = 1 
    Me.Line_Description.BackStyle = 1 
    Me.Machine_Description.BackStyle = 1 
    Me.Station_Number.BackStyle = 1 
    Me.Fault_Description.BackStyle = 1 
    Me.GM.BackStyle = 1 
    Me.Remarks.BackStyle = 1 
    Me.Intervention.BackStyle = 1 
    Me.Technician_Name.BackStyle = 1 
    Me.Shop_Floor.BackStyle = 1 

End Sub 

Sub Paint_Rows_Red() 

「其它顏色

Me.Date.BackColor = RGB(255, 29, 29) 
    Me.Cell.BackColor = RGB(255, 29, 29) 
    Me.Maintenance_Category.BackColor = RGB(255, 29, 29) 
    Me.Duration.BackColor = RGB(255, 29, 29) 
    Me.Line_Description.BackColor = RGB(255, 29, 29) 
    Me.Machine_Description.BackColor = RGB(255, 29, 29) 
    Me.Station_Number.BackColor = RGB(255, 29, 29) 
    Me.Fault_Description.BackColor = RGB(255, 29, 29) 
    Me.Intervention.BackColor = RGB(255, 29, 29) 
    Me.GM.BackColor = RGB(255, 29, 29) 
    Me.Remarks.BackColor = RGB(255, 29, 29) 
    Me.Technician_Name.BackColor = RGB(255, 29, 29) 
    Me.Shop_Floor.BackColor = RGB(255, 29, 29) 

End Sub 

    Private Sub Report_Load() 


    ChangeBackType 
    Dim Test As String 

    Test = TestString2 

    TestString2 = Me!Duration.Value 
    TestString2 = FormatDateTime(TestString2, vbShortTime) 

    If TestString2 <= CDate("00:20") Then 

     Paint_Rows_Beige 

    ElseIf TestString2 > CDate("00:20") And TestString2 < CDate("00:60") Then 

     Paint_Rows_Orange 

    ElseIf TestString2 >= CDate("00:60") Then 

     Paint_Rows_Red 

    End If 

同樣方法,我想根據報告上述條件作畫行。使用此代碼,我只獲取一種顏色..

+0

你的問題到底是什麼?什麼可行,什麼不行? –

+0

我試圖根據報告中提到的情況繪製行。有了這段代碼,我只能得到一種顏色。 – Cuta

回答

2

當您打開包含多行的報表/表單時,您使用的代碼僅適用於出現在數據中的第一行。所以簡而言之,你的代碼將無法工作。

然而,有一種方法可以使用條件格式對不同標準的行着色。

+0

當你談論條件格式時,我應該嘗試使用宏嗎? – Cuta

+0

不,實際上您可以在該行中選擇多個文本框(在設計視圖中)。單擊菜單,如下所示:表單設計工具>格式>條件格式。在訪問2007年,它只限於3個條件,但你可以做更多,如果你有2010年。 – Mudasser

+0

好找到一種方法,現在唯一的問題是改變持續時間從HH:MM:SS格式到分鐘數。 – Cuta