繁体   English   中英

如何在Access的特定字段中更改部分文本的颜色?

[英]How to change color for part of the text in a particular field in Access?

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

零件号

A / B / C

A / B / R

吨/ / V

d / A / I

我想将所有第三部分的颜色更改为红色。 因此,在这种情况下,C,R,V,I将被涂成红色。 但是我无法在Access 2007中更改部分文本字段的颜色。如果在“主页”选项卡下使用“字体更改”,它将更改整个表格的字体。 我对微软感到非常失望。 有没有什么方法可以改变颜色呢?:D您可以推荐VBA,Form中的Macro,Query,Report ... P / S:我使用Access 2007

如果可以使用Access报告,则可以将TextBox添加到报告中。 在文本框中,您可以具有如下公式:

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

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

好的,我认为唯一的方法是自动导出到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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM