1

在 Access 中,我有一个包含如下字段的表:

零件号

A/B/C

A/B/R

T/Y/V

D/A/I

我想将所有第三部分的颜色更改为红色。所以在这种情况下 C,R,V,I 将被涂成红色。但我无法更改 Access 2007 中部分文本字段的颜色。如果我在“主页”选项卡下使用“字体更改”,它会更改整个表格的字体。我对微软很失望。有什么方法可以改变颜色吗:D 你可以推荐 VBA ,表格中的宏,查询,报告...... P/S:我使用 Access 2007

4

2 回答 2

3

如果您可以使用 Access 报表,则可以在报表中添加一个 TextBox。在文本框中,您可以使用如下公式:

="<font color=""blue"">" & [ColumnA] & "</font> <u>" & [ColumnB] & "</u>"

请参阅访问富文本:支持 HTML 的哪个子集?更多细节。

于 2013-11-03T01:01:08.150 回答
0

好的,我认为唯一的方法是自动导出到 Excel。最后我可以做到这一点

Private Sub CommandExport_Click()
Dim db As Database
Dim rec1 As Recordset
Dim xlFile As Object
Dim xlWorkBook As Object
Dim xlActiveWkb As Object
Dim xlActiveSheet As Object
Dim iCols, iRows, flag As Integer

Set db = CurrentDb
Set xlFile = CreateObject("Excel.Application")
Set xlWorkBook = xlFile.Workbooks.Add
Set xlActiveWkb = xlFile.Application.ActiveWorkBook

xlFile.Visible = True
xlActiveWkb.Sheets.Add
xlActiveWkb.Worksheets(1).Name = "My_Report"

Set xlActiveSheet = xlActiveWkb.Worksheets("My_Report")
Set rec1 = db.OpenRecordset("Report")

For iCols = 0 To rec1.Fields.Count - 1
    xlActiveSheet.Cells(1, iCols + 1).Value = rec1.Fields(iCols).Name
    If rec1.Fields(iCols).Name = "FS Number" Then
        flag = iCols
    End If
Next

xlActiveSheet.Range(xlActiveSheet.Cells(1, 1), xlActiveSheet.Cells(1, rec1.Fields.Count)).Font.Bold = True
xlActiveSheet.Range(xlActiveSheet.Cells(1, 1), xlActiveSheet.Cells(1, rec1.Fields.Count)).Interior.ColorIndex = 15
xlActiveSheet.Cells(2, 1).CopyFromRecordset rec1
xlActiveSheet.Columns("A:AD").EntireColumn.AutoFit

iRows = 1
rec1.MoveFirst
While Not rec1.EOF
    xlActiveSheet.Cells(iRows + 1, flag + 1).Characters(InStr(rec1![FS Number], "*")).Font.ColorIndex = 3
    iRows = iRows + 1
    rec1.MoveNext
Wend

Set xlSheet = Nothing
Set xlWorkBook = Nothing
Set xlActiveWkb = Nothing
rec1.Close
db.Close
Set rec1 = Nothing
Set db = Nothing

结束子

魔法就在这里

xlActiveSheet.Cells(iRows + 1, flag + 1).Characters(InStr(rec1![FS Number], "*")).Font.ColorIndex = 3
于 2013-07-04T02:12:44.543 回答