 |
|
KINH NGHIỆM LẬP
TRÌNH |
|
Tạo macro chuyển
đổi kiểu chữ trong Microsoft Access |
|
Trong Microsoft Word, muốn chuyển đổi kiểu chữ in
thường thành kiểu chữ in hoa hay ngược lại, ta chỉ
cần chọn trình đơn Format > Change Case
hoặc dùng tổ hợp Shift-F3 một cách dễ dàng. Trong
Access, Microsoft không cung cấp sẵn chức năng này.
Tôi xin trình bày một macro chuyển đổi kiểu
chữ trong Access. |
|
Trước hết, bạn mở cơ sở dữ liệu
của mình, chọn thẻ Modules > New. Cửa
sổ Access Basic hiện ra như hình1. Bên dưới
dòng lệnh Option Compare Database, ta nhập
đoạn mã 1. Nhập xong, bạn lưu module đang xét
với tên là Change_Case. |

H1 |
|
Đoạn mã 1 |
|
Option Compare Database ‘ dòng này
có sẵn
Dim ShiftCase As Integer
Function ChangeCase() ‘hàm chuyển đổi kiểu chữ
Dim obj As Object
Dim ctl As Control
On Error GoTo GetSelection_Err
Set obj = Screen.ActiveDatasheet
Set ctl = Screen.ActiveControl
Dim TableName As String
TableName = obj.Name
DoCmd.OpenTable (obj.Name)
ShiftCase = ShiftCase + 1
If (ShiftCase = 4) Then ShiftCase = 1
Dim d As Database
Dim r As Recordset
Set d = CurrentDb()
Set r = d.OpenRecordset(obj.Name, dbOpenTable)
Dim f As Field
r.MoveFirst
For Each f In r.Fields
If f.Name = ctl.Name Then
Do Until r.EOF
r.Edit
If (ShiftCase = 1) Then
f = LCase(f)
ElseIf (ShiftCase = 2) Then
f = UCase(f)
Else
Dim s As String
s = f
For i = 2 To Len(s)
If (Mid(s, i, 1) <> Space(1) And Mid(s, i - 1, 1) =
Space(1)) Then
Mid(s, i, 1) = UCase(Mid(s, i, 1))
Else
Mid(s, i, 1) = LCase(Mid(s, i, 1))
End If
Next
f = s
End If
r.Update
r.MoveNext
Loop
End If
Next
DoCmd.Close
DoCmd.OpenTable (TableName)
GetSelection_Err:
End Function |
|
Kế đó, ta tiến hành tạo macro bằng cách chọn
thẻ Macro > New. Trong cột Action,
chọn RunCode (hình 2). Bên dưới, tại dòng
Function Name, nhập tên hàm chuyển đổi kiểu chữ
đã tạo trong module, ở đây là ChangeCase().
Bạn lưu tên macro với tên M_ChangeCase
rồi đóng cửa sổ macro. |

H2 |
|
Từ thanh trình đơn chính, bạn chọn View >
Toolbars > Customize, chọn thẻ Toolbars,
đánh dấu chọn Menu Bar trong danh sách bên
dưới, rồi bấm nút New bên phải, đặt tên gì đó
cho trình đơn mới (tùy bạn). Biểu tượng của trình
đơn sẽ xuất hiện, nhưng bạn đừng đóng nó lại. Bạn
chọn tên trình đơn vừa tạo, chọn Propertiers
để mở hộp thoại Toolbar Properties. Trong ô
Type của hộp thoại này, bạn chọn Menu Bar
rồi chọn Close (nếu cơ sở dữ liệu của bạn
đã có sẵn một trình đơn nào đó thì không cần thực
hiện các bước trên.) |
|
Bạn chuyển qua thẻ Commands,
chọn All Macros trong khung Categories.
Tên các macro trong cơ sở dữ liệu sẽ hiển thị
trong khung Commands bên phải (hình 3). Bạn
chọn tên macro của ta (M_ChangeCase),
kéo và thả trên trình đơn vừa tạo, sau đó kéo trình
đơn này lên trên, đặt cạnh các trình đơn chính. |
|

H2 |
|
Bây giờ, bạn thử mở một bảng dữ liệu, chọn một cột
nào đó và bấm vào trình đơn vừa tạo. Bạn sẽ thấy kết
quả như khi ta nhấn Shift–F3 trong Word. |
|
Mai Trang (ntmtrang@pmail.vnn.vn) |
|
Lời bàn của CHƯƠNG
CAN CHÍP
Khi kiểm tra bài này, tui xài Microsoft
Access 2000 trên vài máy tính hiệu
cha-chung-hổng-ai-khóc, nên vấp phải hai
cái "ổ gà" sau đây:
1. Thông báo lỗi Compile-error:
User-defined type not defined tại dòng
lệnh Dim d As Database.
2. Thông báo lỗi Method or data member
not found tại dòng lệnh r.Edit.
Nếu bà con nào bị lọt "ổ gà" như tui, chỉ
cần chọn Tools > References để mở hộp
thoại References, chọn Microsoft
DAO 2.5/3.51 Compatibility Library, hoặc
Microsoft DAO 3.51 Object Library
hoặc các phiên bản Microsoft DAO Object
Library cao hơn. |
|
|
|
|
 |
|
 |