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: 3,411
» Thành viên mới nhất: turekish1
» Các chủ đề diễn đàn: 8,653
» Các bài viết diễn: 37,863

Thống kê đầy đủ

Thành viên online
Hiện đang có 38 người dùng trực tuyến.
» 1 Thành viên | 34 Khách
AhrefsBot, Bing, Google, notaba

Chủ đề Mới nhất
Nhờ mọi người giúp Đóng g...
Chuyên mục: Forms
Đăng bởi lần cuối: ngochieu8109
Hôm qua, 11:15 AM
» Bài trả lời: 0
» Lượt xem: 29
Đóng gói bài access
Chuyên mục: Bài tập Access
Đăng bởi lần cuối: ngochieu8109
16-02-19, 11:29 PM
» Bài trả lời: 4
» Lượt xem: 701
Phần mềm Quản lý Thư viện...
Chuyên mục: Thư Viện Ứng Dụng
Đăng bởi lần cuối: ongke0711
16-02-19, 09:25 PM
» Bài trả lời: 2
» Lượt xem: 189
Co dãn report dùng can gr...
Chuyên mục: Report
Đăng bởi lần cuối: lewin260684
15-02-19, 03:34 PM
» Bài trả lời: 4
» Lượt xem: 245
Phần mềm quản lý thiết bị...
Chuyên mục: Thư Viện Ứng Dụng
Đăng bởi lần cuối: vietnc
15-02-19, 11:52 AM
» Bài trả lời: 10
» Lượt xem: 560
Quản lý văn bản điện tử q...
Chuyên mục: Thư Viện Ứng Dụng
Đăng bởi lần cuối: vietnc
15-02-19, 11:46 AM
» Bài trả lời: 134
» Lượt xem: 43,546
[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
15-02-19, 01:14 AM
» Bài trả lời: 841
» Lượt xem: 82,688
Cố định các cột ở subform...
Chuyên mục: Vấn đề chung
Đăng bởi lần cuối: Cuong Servenet
14-02-19, 05:10 PM
» Bài trả lời: 6
» Lượt xem: 217
Phần mềm quản lý công văn...
Chuyên mục: Share Code
Đăng bởi lần cuối: soluuhuong85
13-02-19, 03:28 PM
» Bài trả lời: 26
» Lượt xem: 9,494
[Shared Code] Quản lý the...
Chuyên mục: Share Code
Đăng bởi lần cuối: soluuhuong85
13-02-19, 03:24 PM
» Bài trả lời: 56
» Lượt xem: 10,593

 
  [Hỏi] Đánh số thứ tự có điều kiện
Viết bởi: ncxn - 13-09-10, 04:52 PM - Chuyên mục: Thủ thuật VBA - Bài trả lời (15)

Hỏi: tbl (ID(auto), code(text), numChar(int))
1. Giờ muốn update dữ liệu vào field [numChar] từ 1->hết bảng ghi
2. Insert thêm một field [numGroup]
3. Update dữ liệu vào field [numGroup] với điều kiện sau
3.1 Lấy dữ liệu field [numChar] làm gốc cứ cách 10 số thì nhóm thành 1 Group, như thế số thứ tự từ 1-10 [numChar]-> [numGroup] (1)
3.2 Nếu (max[numChar]/10) có số dư từ 0->5 thì đánh số những ID này theo Group cuối cùng , nghĩa là nếu có [numChar] 1->25 thì 10 thuộc Group 1, 15 thuộc Group2
3.3 Nếu số dư trên từ 6-10 thì lấy (số dư +10)/2 . Sau đó đánh số bình thường (lúc này 2 Group cuối không phải là 10) với điều kiện group n có số ID < group n-1 . Nghĩa rằng nhóm cuối cùng bảo giờ cũng có số ID nhỏ nhất"
----------
Mình ngồi nghĩ hoài mà không biết viết thế nào với yêu cầu này
VBA nhé

In mục này

  Mail Merge: Thủ thuật cao cấp trong MS Word
Viết bởi: Noname - 13-09-10, 10:54 AM - Chuyên mục: MS Word - Bài trả lời (2)

Thông thường khi sử dụng chức năng Mail Merge (Trộn thư) trong MS Word để tạo ra các thư mời hay phiếu báo điểm... mặc định của chương trình là ứng với mỗi một Record dữ liệu nhất định sẽ tạo ra một trang tập tin Main chính trên một trang giấy (A4) tương ứng.

Bước 1: Tạo tập tin Main chính trong WORD.

Bước 2: Tạo tập tin nguồn dữ liệu trên Excel với các cột có tên tương ứng (chú ý là tên cột không nên viết dấu tiếng việt, và phải bắt đầu dữ liệu ngay tại Cell A1).

* Chú ý: tập tin dữ liệu này bạn có thể tạo bằng WORD, tuy nhiên nếu thể hiện trong Excel bạn sẽ có lợi hơn nếu bảng dữ liệu đó có hổ trợ nhiều phép tính và hàm phức tạp.

Bước 3
: Trên tập tin Main chính (Word) bạn phủ khối Copy toàn bộ nội dung tập tin Main chính rồi vào menu Tools > Mail Merge.

1. Ở mục 1 Main Document nhấp nút Create > chọn Mailing Labels...

2. Trong hộp thoại kế tiếp nhấp nút Active Windows.

3. Ở mục 2 Data Source nhấp nút Get Data > Open Data Source...> chỉ đường dẫn tới tập tin nguồn cơ sở dữ liệu Excel đã tạo.

[Hình: 1(1).jpg]
Chọn nguồn dữ liệu để trộn thư.

4. Nhấp Ok trong hộp thoại Mirosoft Excel Entire Spreadsheet hiện ra.
[Hình: 2(1).jpg]

Chọn toàn nội dung bảng tinh: Entire Spreadsheet.

5. Nhấp nút Set Up Main Document trong hộp thoại kế.

[Hình: 3(1).jpg]

6. Trong hộp thoại Label Options bạn nhấp nút New Label để tạo một nhãn mới.

[Hình: 4(1).jpg]
Chọn New-Label để tạo nhãn mới.

- Đặt tên cho nhãn mới vào dòng Label Name.

- Chọn khổ giấy thể hiện ở dòng Page Size (ví dụ A4 khổ đứng 21 x 29.7 cm).

- Tiến hành thiết lập tuỳ biến các thông số kích thước thể hiện: Number across (số cột của trang, ví dụ 1), Number Down (số bản ghi thể hiện trên một trang, ví dụ 3).... ở các thông số khác khi vừa thiết lập bạn vừa xem sự thể hiện của khổ giấy ở khung Preview phía trên đến khi cảm thấy ưng ý nhất (các thông số tôi thiết lập trong ví dụ này là do tuỳ biến cá nhân chỉ có mức độ gợi ý tham khảo).
[Hình: 5(1).jpg]
Thiết lập xong nhấp OK 2 lần để thoát khỏi hộp thoại Label Options.

7. Trong hộp thoại Create Label kế tiếp bạn dán nội dung của tập tin Main chính đã Copy ở đầu bước 3 vào khung Sample label, rồi nhấp nút Insert Merge Field phía trên để lần lượt chèn vào các trường dữ liệu tương ứng từ tập tin database vào tập tin Main chính.

[Hình: 6(1).jpg]
Thao tác tương tự như chèn các trường Field bình thường lúc trộn thư, nếu tập tin Main chính dùng Font Vni thì lúc này sẽ không hiển thị tốt Font tiếng Việt.

8. Sau khi chèn xong các trường Filed tương ứng bạn nhấp OK, lúc này trong bảng cảnh báo lỗi của WORD bạn tiếp tục nhấp OK



9. Trở về hộp thoại chính của chức năng Mail Merge bạn nhấp nút Close.

[Hình: 7.jpg]

Bước 4: Lúc này trên giao diện tập tin Main chính nội dung sẽ được trình bày thành 3 bản ghi như đã thiết lập ở bước 3 cùng với các trường Field đã được chèn tương ứng. Tuy nhiên lúc này sự trình bày của văn bản sẽ chưa được tốt và bạn phải tiến hành định dạng thủ công lại từng bản ghi một.zensoft website
[Hình: 8.jpg]
Chú ý phải định dạng sao cho nội dung 3 bản ghi là như nhau (mổi bản ghi sẽ ứng với 1 Record dữ liệu trong tập tin Database), bạn không được sao chép nguyên si nội dung giữa các bản ghi vì làm như thế sau khi trộn WORD sẽ hiểu là 3 bản ghi trên một trang A4 là của cùng một mẩu tin Record.

Bước 5: Sau khi định dạng xong bạn nhấp nút Merge để bắt đầu trộn thư. Kết quả thể hiện sẽ hết sức ưng ý (xem hình 9).
[Hình: 9.jpg]


Sau cùng bạn hãy in ra máy in và dùng mắt cắt hay rọc ra thành từng bản ghi riêng biệt rồi đưa vào sử dụng. Chúc thành công!

zensoft website

(theo XHTT)

In mục này

  Tùy chọn liên kết lại các table từ file data có password
Viết bởi: Noname - 11-09-10, 05:34 PM - Chuyên mục: Thư viện thủ thuật - Bài trả lời (39)



Tips này hướng dẫn chúng ta cập nhật lại link cho table khi chuyển file data có password sang một vị trí khác, hoặc chúng ta có nhiều file data giống nhau password và cấu trúc, chỉ khác nhau nội dung.
Chúng ta không cần phải khai báo lại password mà chỉ nhập password ở lần  link lần đầu tiên (khi thiết kế)
(relink table from Database Access with password)
Writen by: Noname
Writen Site: http://thuthuataccess.com/forum
Please do not removed my info if using or share this code


Để sử dụng được code này, bạn vui lòng khai báo thư viện Office.

- Đầu tiên, bạn tạo 1 form mới, trên form,
+vẽ 1 textbox đặt tên là txtPath. dùng để nhập đường dẫn file data.
+ vẽ 1 nút nhấn, với caption là ... dùng để chọn file data, và ghi kết quả.
Vẽ 1 nút nhấn với caption là refresh link để thực thi hành động cập nhật lại đường dẫn table
[Hình: chonfiledata.png]

Trong ví dụ đính kèm dưới đây, bạn có 2 file đính kèm là data3 và data4 với password đều là 123456.
Đầu tiên, bạn link table theo cách link thông thường, nó sẽ hỏi password của bạn, bạn nhập password bình thường, chọn các table để liên kết. Và kể từ đây bạn không cần phải nhập password thêm lần nào nữa.

Bạn tạo 1 module mới và copy các đoạn code sau vào:

Đoạn code này cho phép ta gọi hàm getfile để tìm tới file data

Mã:
Function getFile(Tit As String, formatName As String, formatType As String)
Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
With dlgOpen
   .Title = Tit
   .Filters.Clear
   .Filters.Add formatName, formatType
   .AllowMultiSelect = False
   result = .Show
   If (result <> 0) Then
getFile = Trim(dlgOpen.SelectedItems.Item(1))
End If
End With
End Function

Đoạn code này lấy về password lưu trong hệ thống:
Mã:
' lâìy vêÌ password cuÒa lâÌn connect trýõìc
Function getconnect(T As String) As String
Dim con As String
con = DLookup("[Connect]", "MSysObjects", "[name]='" & T & "'")
getconnect = con
End Function
Đoạn code này link table với đường dẫn và password có sẵn
Mã:
'Liên kêìt table
Sub LinkTable(T As String, path As String, connectString As String)
Dim tblLink As TableDef
Dim DBlink As Database
Set DBlink = OpenDatabase(path, False, False, connectString)
On Error GoTo Err
DoCmd.DeleteObject acTable, T
Err:
DoCmd.TransferDatabase acLink, "Microsoft Access", path, acTable, T, T
'DBlink.Close
Set DBlink = Nothing
End Sub

Đoạn code này kiểm tra các table nào là liên kết, nếu nó là liên kết thì sẽ tiến hành liên kết theo đường dẫn mới
Mã:
Sub refreshLinkTable(path As String)
'Writen by:Noname
'Writen site: http://thuthuataccess.com/
'Please do not remove my info if using or share this modules
Dim r As Recordset
Dim s As String
s = "SELECT ForeignName FROM MSysObjects WHERE ForeignName Is Not Null"
Set r = CurrentDb().OpenRecordset(s)
If r.RecordCount > 0 Then
r.MoveLast
For i = 0 To r.RecordCount - 1
   LinkTable r(0), path, getconnect(r(0))
   r.MovePrevious
Next i
End If
r.Close
Set r = Nothing
End Sub

Giờ trong hành động nhấn chuột của nút Open, ta nhập code sau vào:
Mã:
Private Sub cmdOpen_Click()
txtPath.Value = getFile("Select Data File", "data file", "*.mdb")
End Sub

Hành động nút refresh link ta nhập code sau vào:

Mã:
Private Sub cmdreLink_Click()
refreshLinkTable Me.txtPath
MsgBox "link table thanh cong"
End Sub

Xong rồi đấy!
Chúc thành công.



File đính kèm
.rar   chondatacopassword.rar (Kích cỡ: 37.57 KB / Tải về: 968)
In mục này

  Xuất dữ liệu từ Table sang Exce
Viết bởi: DoquangLam - 10-09-10, 09:32 PM - Chuyên mục: Table - Bài trả lời (3)

Tôi có bảng dữ liệu Table chỉ duy nhất có một hàng thôi. Ví dụ như bảng có 5 cột : TenHangHoa, DVT, SoLuong, DonGia, ThanhTien. Tôi muốn xuất sang Exce với điều kiện như sau :
- TenHangHoa : Khi sang Exce thì nằm cố định ngay ô : A1
- DVT : Khi sang Exce thì nằm cố định ngay ô : A1
- SoLuong : Khi sang Exce thì nằm cố định ngay ô : B2
- DonGia : Khi sang Exce thì nằm cố định ngay ô : C3
- ThanhTien : Khi sang Exce thì nằm cố định ngay ô : D4
Đại khái là như vậy. Nhờ các cao thủ nhiệt tình hướng dẫn. Cám ơn.

In mục này

  Thẻ Table (mới) kết hợp thẻ tr, th, td
Viết bởi: Noname - 08-09-10, 11:05 PM - Chuyên mục: Chức năng diễn đàn - Bài trả lời (2)

Thẻ Table mới không giới hạn số cột và dòng. Tuy nhiên, để đạt hiệu quả cao hơn, các bạn nên dùng kèm thêm các thẻ sau:
table: Tạo bảng
tr : xuống hàng (row) mới
th: ô tiêu đề của dòng/cột
td: tạo 1 ô bình thường.
colspan= số : Trộn một số cột bắt đầu từ ô này. phát biểu nằm thẻ td hoặc th.
rowspan=số : Trộn số hàng bắt đầu từ ô này. phát biểu nằm trong thẻ td hoặc th (xem ví dụ bên dưới)
Ngoài ra các bạn có thể dùng kèm với các thẻ khác để in nghiêng, đậm...hoặc canh giữa, phải...tô màu...cho nội dung trong ô bình thường.

Ví dụ:

Mã:
Nội dung
[table]
[tr]
[th]Tiêu đề 1[/th]
[th colspan=2]tiêu đề 2 [/th]
[/tr]
[tr][td]Nội dung 1[/td]
[td]nội dung 2[/td][td rowspan="2"]nội dung 5[/td]
[/tr]

[tr][td]Nội dung 3[/td]
[td]nội dung 4[/td]
[/tr]
[/table]
Nội dung
Tiêu đề 1tiêu đề 2
Nội dung 1nội dung 2nội dung 5
Nội dung 3nội dung 4

In mục này

Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line| Phần mềm quản lý bán hàng, công nợ- tồn kho- nhà phân phối