-
RE: In mã vạch tạo từ access ra máy in mã vạch
hungefi > 24-07-16, 08:49 PM
(30-11-15, 12:23 PM)nguyenichtri Đã viết:
(29-11-15, 02:33 PM)thanhtruong Đã viết: Hôm nay mình đã có máy quét, quét được code 128
Chào các bạn
Nhưng sao cái font code 128 của anh tranthanhan1962 khi in ra thì máy quét lại không quét được
Xin cho lời bình?
Trước đây mình cũng nghĩ là chỉ cần thay font code128 vào để in là được, nhưng khi in ra thì máy quét không đọc được. Mình tìm vào các chuyên mục về barcode ở Wikipedia thì có 1 số bài về barcode, và code ở bài 14 mình cũng sưu tập từ đó, sửa đổi 1 chút cho phù hợp với access và thử thì thành công. Lý do là:
- Font code128 chỉ chuyển đổi ký tự thành mã vạch. Nếu chỉ như vậy thì máy quét chưa đọc được.
- Máy quét muốn đọc được cần 3 yếu tố là: ký tự bắt đầu chuỗi mã vạch, ký tự kết thúc chuỗi mã vạch(như đầu câu viết hoa, cuối câu có dấu chấm câu trong ngữ pháp của mình vây) và checksum của chuỗi(xác định tính đúng của độ dài chuỗi mã vạch). Đủ 3 yếu tố đó thì máy quét mới quét được. Do vậy mới cần đoạn code trên để bổ sung 3 yếu tố đó
- Nếu bạn xài Bartender hay IDAutomation bạn thử chuyển font trong textbox mã vạch thành font Arial sẽ thấy có mấy ký tự đầu cuối không có trong chuỗi mã bạn cần in. Các ký tự đó chính là do code trong Bartender hay IDAutomation ấn định in ra cho máy đọc.
- Đối với các phần mềm chuyên dụng như Bartender hay IDAutomation thì code mã hoá được hết các dạng font barcode, còn đoạn code của mình sưu tập được thì chỉ ứng dụng được cho font code128 thôi. Ngoài ra mình cũng có 1 code khác dành cho font Code128bWin và Code128bWinlager(gọi chung là code128b). Font nào riêng code đó, không xài chung được.
Mình đã sử dụng trong ứng dụng nhỏ do mình viết để quản lý kho, nhập kho, in tem barcode, xuất kho, kiểm kê bằng máy quét barcode hoàn toàn OK mới dám chia sẻ với các bạn.
Chúc các bạn thành công.
Chào bạn nguyenichtri,
Bạn có thể gửi file ứng dụng lên được không?
Thansk bạn, -
RE: In mã vạch tạo từ access ra máy in mã vạch
tranthanhan1962 > 28-03-24, 08:07 PM
Trước đây tôi chỉ biết sử dụng đưa dữ liệu thô vào textbox rồi format font mã vạch rồi máy in mã vạch (cái máy này thằng cháu gửi từ CANADA về) in ra sao đó quét phát là được, có bạn nói đọc không được, cũng phần mềm access đó đem qua máy in khác thì lại không xử lý được. Sau một thời gian mò mẫm, sờ xẩm, nghiên cứu tôi phát hiện sự hiểu biết về mã vạch của mình quá sơ sài. Tôi xử dung code tạo mã vạch của ongke0711 thì đem qua máy in mã vạch của mình in máy quét thừa cặp ký tự "*" đầu cuối thử vài phần mềm khác có khi cặp ký tự thừa không phải là "*" mà là "?", "<" và ">". đến đây thì tôi biết nếu bạn có một cái máy in đúng kiểu là mã vạch thì bạn chỉ cần đưa đoạn ký tự muốn in vào ô mã vạch khi in máy in mã vạch sẽ tự xử lý thêm cặp ký tự đặt biệt để đầu đọc mã vạch có thể phát hiện đoạn đó là mã vạch nó mới đọc. Ví dụ để máy in Canon 2900 in mã vạch máy quét đoc được ví dụ nội dung là "thuthuataccess" thì phải xử lý thành "*thuthuataccess*". Nếu đưa vào máy chuyên in mã vạch nếu "thuthuataccess" nó sẽ tự xử lý thành "*thuthuataccess*", còn sử dung function tạo mã vạch thì nó sẽ tự động thêm cặp ký tự "*" khi in nên nhập từ máy quét sẽ bị thừa ngoài ra vấn đề còn lại là máy in còn nét tạo tỷ lệ font mã vạch chính xác không? giấy in phản xạ để máy quét đủ mạnh không. Đầu đọc còn nhạy phát xạ hồng ngoại mạnh không? đàu đọc có khả năng đọc đủ các chuẩn mã vạch không? thông thường những cái đầu đọc đã qua sử dụng của ba tàu cũng có thể đọc tất cả font mã vạch nhưng coi chừng mấy cái giá vài chục trên shoppee chỉ đọc được 1 font 39 may lắm là thêm font 128, mấy cái nầy có khi phải in mã 2-3 phân nó mới đọc được chứ in cỡ tem vàng thì chào thua nghĩ đọc. Đại loại khi hiểu nó rồi thì cũng không quá khó ví dụ cái máy in canon 2900 của tôi font 128 cỡ ba mấy mới đọc ok -
RE: In mã vạch tạo từ access ra máy in mã vạch
DooHoaangPhuuc > 29-03-24, 01:15 PM
Hình như việc xử lý để in hay scan mã vạch phụ thuộc vào Font Mã vạch.
Như đối với Font "IDAutomation" thì phải có cặp dấu "*" & [textbox]&"*" (cặp dấu * khóa đầu và đuôi) của [textbox] thì khi in ra và scan bằng máy scan mã vạch mới được.
Đối với các Font mã vạch khác như 128 (hình như không sử dụng cặp dấu "*" để khóa textbox. (chưa kiểm chứng , do chưa sử dụng Font này)
Lưu ý: Chuỗi ký tự của textbox không có khoảng trắng thì dùng máy scan quét mới được.
Còn có khoảng trắng trong chuỗi textbox, khi scan quét sẽ không được. -
RE: In mã vạch tạo từ access ra máy in mã vạch
huyhoang22 > 13-04-24, 12:23 PM
bạn có thể dùng font này để in mã vạch nhé hiện tại mình đang dùng cho thiết kế lable, mình dùng access để in nó rất thuận tiện
Free_3_of_9,
SBa6.png[/img]
-
RE: In mã vạch tạo từ access ra máy in mã vạch
huyhoang22 > 13-04-24, 12:28 PM
(18-11-15, 04:25 PM)thanhtruong Đã viết:
(18-11-15, 04:23 PM)Minh Tiên Đã viết: Vấn đề in mã vạch từ Access mình cũng đã nghiên cứu lâu nay nhưng vướng:
Dùng các Font BarCode (Free) tạo và In mã vạch từ Access thì được, nhưng máy Scan không đọc được.
Pro nào đã xử lý được vấn đề này rồi, xin chia sẽ.
Cảm ơn nhiều !
Nếu vậy sao ta không chuyển qua mã QR cho dể nhỉ,
Có tạo mã Qr trên access được không nhỉ?
Có nhưng không phải code tạo QR mà dùng link qua đường dẫn intenet để tạo mã QR mình đã làm rồi
-
RE: In mã vạch tạo từ access ra máy in mã vạch
ongke0711 > 13-04-24, 05:06 PM
(13-04-24, 12:28 PM)huyhoang22 Đã viết: Có nhưng không phải code tạo QR mà dùng link qua đường dẫn intenet để tạo mã QR mình đã làm rồi
Tạo QR đã có nhiều bài rồi bạn. Nếu bạn có cách làm hay thì chia sẽ code lên đây để mọi người học hỏi, ứng dụng.
- Tạo không cần có internet: https://thuthuataccess.com/forum/thread-12338.html
- Tạo QR code qua API qrserver.com (phải có internet, trang web chết là tèo luôn): https://thuthuataccess.com/forum/thread-11432.html
- Tạo QR code ngân hàng, quét thanh toán luôn (internet): https://thuthuataccess.com/forum/thread-12616.html -
RE: In mã vạch tạo từ access ra máy in mã vạch
ongke0711 > 13-04-24, 05:21 PM
-
RE: In mã vạch tạo từ access ra máy in mã vạch
ongke0711 > 13-04-24, 05:41 PM
(13-04-24, 12:23 PM)huyhoang22 Đã viết: bạn có thể dùng font này để in mã vạch nhé hiện tại mình đang dùng cho thiết kế lable, mình dùng access để in nó rất thuận tiện
Free_3_of_9
Bây giờ không nên xài code 39 mà nên là code 128.
Code 128 nó mã hóa (encode) đủ 128 ký tự của bảng mã ASCII và bao gồm check digit luôn. Khả năng mã hóa tới 43 ký tự (chữ + số).
Code 39 chỉ mã hóa được có 39 ký tự và chỉ tạo barcode từ chuỗi 23 ký tự đổ lại.
Barcode tạo từ code 128 sẽ ngắn hơn barcode tạo từ code 39.
Và cuối cùng là phụ thuộc đầu đọc, giấy in.... -
RE: In mã vạch tạo từ access ra máy in mã vạch
huyhoang22 > 15-04-24, 11:25 AM
(13-04-24, 05:06 PM)ongke0711 Đã viết:
(13-04-24, 12:28 PM)huyhoang22 Đã viết: Có nhưng không phải code tạo QR mà dùng link qua đường dẫn intenet để tạo mã QR mình đã làm rồi
Tạo QR đã có nhiều bài rồi bạn. Nếu bạn có cách làm hay thì chia sẽ code lên đây để mọi người học hỏi, ứng dụng.
- Tạo không cần có internet: https://thuthuataccess.com/forum/thread-12338.html
- Tạo QR code qua API qrserver.com (phải có internet, trang web chết là tèo luôn): https://thuthuataccess.com/forum/thread-11432.html
- Tạo QR code ngân hàng, quét thanh toán luôn (internet): https://thuthuataccess.com/forum/thread-12616.html
Cảm ơn bạn ongke0711 nhé mình sẽ tham khảo theo code của bạn share còn đây là code của mình. Vì mục đích công việc của mình có hơi khác nên mình viết code nhằm lưu lại dữ liệu số lần in tem và số tem đã tạo, 1 lần tạo không giới hạn số lượng tem
[img]Mã:Option Compare Database
Option Explicit
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Sub cmdCreate_Click()
Dim curX, curY
If txtItem > 0 Then
MsgBox "Ban chua in tem"
ElseIf IsNull(txtlbno) Or txtlbno = 0 Then
MsgBox "Vui long nhap so tem can in"
txtlbno.SetFocus
Else
curX = DMax("Item", "Lable", "Dates=#" & [Forms]![Int]![txtDate] & "#")
curY = DMax("Nlb", "Lable", "Dates=#" & [Forms]![Int]![txtDate] & "#")
'curX = DLookup("MAX(Item)", "Lable")
'curY = DLookup("MAX(Nlb)", "Lable")
If IsNull(curX) Then
txtItem = Format(Me.txtDate, "YYMMDD00") + 1
Else
txtItem = curX + 1
End If
Dim i As Integer
For i = 1 To Me.txtlbno
With Rs
.AddNew
.Fields(0) = txtCode & Format(IIf(IsNull(curY), 0, curY) + i, "0000")
.Fields(1) = IIf(IsNull(curY), 0, curY) + i
.Fields(2) = txtItem
.Fields(3) = txtlbno
.Fields(4) = txtDate
.Fields(5) = "S" & ChrW(7889) & " l" & ChrW(7847) & "n In tem: " & Right(txtItem, 2)
.Update
End With
Next i
cmdCreate.Enabled = False
lslable.Requery
MsgBox "da ok"
lslable.SetFocus
' Declare variables
Dim apiUrl As String
Dim qrData As String
Dim savePath As String
Dim result As Long
' Get QR data from textbox
qrData = txtQrcode
' Construct API URL
apiUrl = "https://api.qrserver.com/v1/create-qr-code/?data=" & qrData & "&size=200x200"
' Specify save path for BMP file in the same directory as the Access database
savePath = Application.CurrentProject.Path & "\qr_code.bmp"
' Download QR code image as BMP file
result = URLDownloadToFile(0, apiUrl, savePath, 0, 0)
' Check if download was successful
If result = 0 Then
' Display the downloaded image in the image control
Me.ImQrcode.Picture = savePath
Else
MsgBox "Failed to download QR code image.", vbExclamation
End If
lbcode.Caption = "DJ98-01193A"
End If
End Sub
Private Sub CmdPrint_Click()
DoCmd.OpenReport "Rqrcode", acViewPreview, , "Item=[Forms]![Int]!txtItem"
txtItem = Null
txtlbno = Null
lslable.Requery
cmdCreate.Enabled = True
End Sub
Private Sub Form_Load()
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("Lable")
End Sub
Private Sub Form_Unload(Cancel As Integer)
DoCmd.SetWarnings True
End Sub
Private Sub lslable_Click()
' Declare variables
Dim apiUrl As String
Dim qrData As String
Dim savePath As String
Dim result As Long
' Get QR data from textbox
qrData = txtQrcode
' Construct API URL
apiUrl = "https://api.qrserver.com/v1/create-qr-code/?data=" & qrData & "&size=200x200"
' Specify save path for BMP file in the same directory as the Access database
savePath = Application.CurrentProject.Path & "\qr_code.bmp"
' Download QR code image as BMP file
result = URLDownloadToFile(0, apiUrl, savePath, 0, 0)
' Check if download was successful
If result = 0 Then
' Display the downloaded image in the image control
Me.ImQrcode.Picture = savePath
Else
MsgBox "Failed to download QR code image.", vbExclamation
End If
End Sub[/img]
-
RE: In mã vạch tạo từ access ra máy in mã vạch
nguyễn mai > 13-06-24, 11:45 AM
kes câu hỏi sao truy cập phần mềm luôn nhé