SỐ 184
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.

[Đầu trang]
Trang chủ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Cõi người ta
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền Công ty Phần mềm & Truyền thông VASC
 99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn
Mọi chi tiết về kinh doanh và quảng cáo xin liên hệ Phòng Quảng cáo. Tel: (04) 9782077 kd@vasc.com.vn