Chào mừng, Khách
Bạn cần phải đăng ký trước khi bạn có thể đăng trên trang web của chúng tôi.

Tên người dùng
  

Mật khẩu
  





Diễn đàn Tìm kiếm

(Tìm kiếm nâng cao)

Diễn đàn Thống kê
» Thành viên: 294
» Thành viên mới nhất: Winston nguyen
» Các chủ đề diễn đàn: 233
» Các bài viết diễn: 1,864

Thống kê đầy đủ

Thành viên online
Hiện đang có 22 người dùng trực tuyến.
» 1 Thành viên | 21 Khách
dangninh

Chủ đề Mới nhất
[Góc thơ] THAO THỨC
Chuyên mục: Góc Thơ
Đăng bởi lần cuối: Nguyễn Thành Sáng
Hôm qua, 07:08 PM
» Bài trả lời: 588
» Lượt xem: 29,462
form tìm kiếm sản phẩm
Chuyên mục: Forms
Đăng bởi lần cuối: duynamvnn1208
Hôm qua, 04:43 PM
» Bài trả lời: 5
» Lượt xem: 442
Đoản khúc...
Chuyên mục: Quán cóc
Đăng bởi lần cuối: Hạ Vàng
Hôm qua, 10:28 AM
» Bài trả lời: 128
» Lượt xem: 43,357
Giúp đỡ Hàm dsum trong re...
Chuyên mục: Report
Đăng bởi lần cuối: MTNQ
23-02-18, 10:54 PM
» Bài trả lời: 15
» Lượt xem: 465
Demo Import/Export Excel ...
Chuyên mục: Tương tác Chương trình ngoài
Đăng bởi lần cuối: thanh.thkt
23-02-18, 11:57 AM
» Bài trả lời: 61
» Lượt xem: 5,142
Rèn luyện các kỹ năng
Chuyên mục: Kỹ năng văn phòng
Đăng bởi lần cuối: Hạ Vàng
23-02-18, 12:42 AM
» Bài trả lời: 1
» Lượt xem: 58
Lỗi Return without gosub
Chuyên mục: Forms
Đăng bởi lần cuối: toidjtjmtoi
22-02-18, 12:50 PM
» Bài trả lời: 3
» Lượt xem: 126
Giúp mình tạo backup d...
Chuyên mục: Thư viện thủ thuật
Đăng bởi lần cuối: tvn_hut
18-02-18, 12:41 PM
» Bài trả lời: 4
» Lượt xem: 1,241
Crosstab trong crosstab
Chuyên mục: Report
Đăng bởi lần cuối: duynamvnn1208
13-02-18, 08:32 PM
» Bài trả lời: 3
» Lượt xem: 204
Demo Hàm report tự canh đ...
Chuyên mục: Thủ thuật VBA
Đăng bởi lần cuối: maidinhdan
12-02-18, 08:52 PM
» Bài trả lời: 70
» Lượt xem: 8,743

 
  Không in số 0 trong report
Viết bởi: Noname - 13-08-10, 10:13 PM - Chuyên mục: Report - Bài trả lời (3)

Khi in 1 trường bằng số thì format #,### sẽ không in nếu dữ liệu bằng 0.
- format : #,###.## : 0 không in ra nhưng 300.00 thì in ra 300. (có 2 khoản trắng phía sau)
- format #,###.00 : 0 thì in ra 0.00; 300.15 in ra 300.15 (đúng)

Mình muốn format trường số với 2 số lẻ (ví dụ trường Ngoại tệ USD) khi dữ liệu bằng 0 sẽ không in ra nếu có dữ liệu thì sẽ in ra với 2 số lẻ:

Trong phần Detail_Format của report, bạn nhập code như sau:
Code:

Mã:
If Soluongtxt.Value = 0 Then
Soluongtxt.DecimalPlaces = 0
Else
Soluongtxt.DecimalPlaces = 2
End If

soluongtxt là field bạn cần format!

In mục này

  Msgbox dùng Unicode Tiếng việt
Viết bởi: Noname - 13-08-10, 10:10 PM - Chuyên mục: Thư viện thủ thuật - Bài trả lời (19)

Gần đây 1 số bạn ở các forum hay hỏi làm cách nào để hiện câu thông báo kiểu msgbox bằng tiếng Việt.
Có 1 số bạn hướng dẫn theo nhiều cách, tuy nhiên mình thấy vẫn chưa hợp lý:
- Cách 1: chỉnh Regional and Language Options thành Tiếng Việt.
Cách này chưa hợp lý ở kiểu gõ và sẽ bị lỗi ở hệ thống bàn phím dùng số.
- Cách 2: thay đổi font hệ thống trong thẻ Appearance. Chuyển thành font TCVN3 hay VNI. Sau khi đóng chương trình, hệ thống sẽ trả về lại như cũ.


Cách này đáp ứng được nhu cầu gõ tếng Việt. Nhưng các ứng dụng khác của toàn windows có liên quan msgbox sẽ bị ảnh hưởng.( thường là Unicode tiếng Việt không đọc được hoặc xấu hoắc). Mặc dù đây là giải pháp được nhiều lập trình viên lựa chọn vì có thể dùng Code tự động, tuy nhiên mình đánh giá rất thấp vì nó ảnh hưởng hệ thống.
- Cách 3: gọi Code của các ký tự có dấu. Cách này hơi phức tạp mỗi khi gọi 1 thông báo.

Và sau đây mình xin giới thiệu 2 phương pháp để có thể có msgbox bằng tiếng Việt Unicode mà không phải thay đổi hệ thống hay phức tạp gì. Mời bạn xem ứng chương trình demo.
Có thắc mắc gì xin hỏi tại đây!
download

In mục này

  Tự động liên kết các table
Viết bởi: Noname - 13-08-10, 10:07 PM - Chuyên mục: Thư viện thủ thuật - Không có hồi đáp

Hỏi: Tôi có một cơ sở dữ liệu Access và thực hiện split thành backend

File QLVB đặt trong thư mục Run (thư mục Run nằm trong thư mục QLVB) chứa form, repost, ...
File QLVB_en đặt trong thư mục Data (thư mục Data trong thư mục QLVB) chứa các table


Khi tôi di chuyển (hoặc đồng bộ) thư mục QLVB (từ USB vào máy và ngược lại) là các liên kết của các table không còn nữa.
Bạn nào rành về Access có thể viết đoạn mã giúp tôi tự động nối lại các liên kết đó không.


Đáp:


Với T là tên table, Bạn cho gọi đoạn code sau để link. Có bao nhiêu table thì bạn gọi bấy nhiêu lần với tên table T tương ứng.
Code:

Mã:
Sub LinkTable(T As String)
' xoa table link cu~
DoCmd.DeleteObject acTable, T
'link lai tablelink moi
DoCmd.TransferDatabase acLink, "Microsoft Access", CurrentProject.Path & "\" & "QLVB_en.mdb", acTable, T, T
End Sub
.

Chú ý, đọan code này chỉ áp dụng trong trường hợp file chương trình và dữ liệu bạn chung 1 thư mục. Còn khác thư mục thì mình sẽ đưa giải pháp khác. Ví dụ bạn phải khai báo thư mục chứa dữ liệu.

In mục này

  Thao tác với registry
Viết bởi: Noname - 13-08-10, 09:49 PM - Chuyên mục: Thư viện thủ thuật - Không có hồi đáp

Đôi khi bạn có nhu cầu làm việc với registry trong Access, ví dụ lưu vị trí form, lưu đường dẫn mặc định để lấy dữ liệu. Hoặc lưu username mặc định, kiểm tra 1 computer có phải lần đầu tiên sử dụng chương trình không... Mọi việcsẽ dễ dàng hơn nhiều nếu bạn thao tác với registry....


SaveSetting (appname, section, key, setting) : dùng ghi vào registry
GetSetting(appname, section, key[, default]) : đọc giá trị từ registry
DeleteSetting (appname, section[, key] ) : xoá giá trị trong registry
GetAllSettings(appname, section) : Lấy hết giá trị của ứng dụng được lưu tại section


Ví dụ:

Code:

Mã:
' Variant to hold 2-dimensional array returned by GetAllSettings
' Integer to hold counter.
Dim MySettings As Variant, intSettings As Integer
' Place some settings in the registry.
SaveSetting appname := "MyApp", section := "Startup", _
key := "Top", setting := 75
SaveSetting "MyApp","Startup", "Left", 50
' Retrieve the settings.
MySettings = GetAllSettings(appname := "MyApp", section := "Startup")
    For intSettings = LBound(MySettings, 1) To UBound(MySettings, 1)
        Debug.Print MySettings(intSettings, 0), MySettings(intSettings, 1)
    Next intSettings
DeleteSetting "MyApp", "Startup"

In mục này

  Chặn xoay chuột để tới lui record
Viết bởi: Noname - 13-08-10, 09:39 PM - Chuyên mục: Thư viện thủ thuật - Bài trả lời (4)

Chặn xoay chuột để tới lui record
Thiết kết trên Form mình đã tắc Record Selector để không cho tới lui các Record đã nhập trước đó, nhưng khi dùng nút giữa xoay chuột nó vẫn chạy tới lui.

Hỏi: Làm sao để chặn thao tác xoay chuột "Cuộn lên xuống bằng nút xoay trên Mouse".

Đáp: Form Wheel
Trong sự kiện xoay chuột, ta chèn code này vào:

Code:

Mã:
Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
MsgBox "Can't use Wheel Button"
If Count = -3 Then
DoCmd.GoToRecord , , acNext
Else
DoCmd.GoToRecord , , acPrevious
End If
End Sub

In mục này

Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ