Thiết lập giá trị mặc định (tăng dần) cho trường Số hóa đơn đầu ra

Thảo luận trong 'Ứng dụng Access' bắt đầu bởi ductung_dg, 15 Tháng mười một 2006.

7,290 lượt xem

  1. ductung_dg

    ductung_dg Thành viên sơ cấp

    Bài viết:
    4
    Đã được thích:
    0
    Nơi ở:
    HCM
  2. aThuan

    aThuan Thành viên thân thiết

    Bài viết:
    347
    Đã được thích:
    5
    Nơi ở:
    Tp.HCM
    bạn dùng chức năng query lấy số lớn nhất trong trường hóa đơn cộng thêm một gắn vào textbox hoadon, nó được gắn ở sự kiện new - hóa đơn chẳng hạn (nói ngắn gọn thế không biết bạn có rõ ý không).
    cái này mang tính ứng dụng không cao, do hóa đơn tự in hoặc hóa đơn mua của cục thuế đều có lúc ngắt quãng, mà trong Ví dụ này thì nó luôn luôn liên tục.

    Đối với hóa đơn hủy, thì thay bằng nội dung của hóa đơn in ra, bạn thay nội dung bằng lý do hủy => máy có thể thống kê hóa đơn hủy cho bạn nếu bạn viết chức năng này. Hóa đơn xuất thay thế chỉ thao tác giống các hóa đơn bình thường.
     
    Last edited: 15 Tháng mười một 2006
    #2
  3. xhongball

    xhongball Thành viên sơ cấp

    Bài viết:
    85
    Đã được thích:
    0
    Nơi ở:
    TPHCM
    Mình biết trong phần make table query có chức năng sort ( chọn Ascending hay Descending ) để số thứ tự tăng dần hay giảm dần . Bạn thử xem có được không ? Thân
     
    #3
  4. Đào Việt Cường

    Đào Việt Cường Moderator

    Bài viết:
    400
    Đã được thích:
    3
    Giới tính:
    Nam
    Nơi ở:
    Khánh Hòa
    Dear all
    -------
    Đề tài này cũng tương tự như chủ đề Đấnh số phiếu động tăng dần hay Tự động số quyển, số phiếu.
    Tuy nhiên, còn một cách khác phù hợp yêu cầu của bạn đó là dựa vào hàm DMax để tìm ra số hoá đơn lớn nhất. Ví dụ tại biến cố sự kiện SoHD_GotFocus bạn có code xử lý như sau (bạn có thể chọn sự kiện khác để tự động điền số hoá đơn và lưu ý cần bẫy các lỗi trước khi update dữ liệu):
    Để áp dụng được code này chắc bạn hiểu rằng SoHD phải được thiết kế là kiểu Number.
     
    #4
  5. aThuan

    aThuan Thành viên thân thiết

    Bài viết:
    347
    Đã được thích:
    5
    Nơi ở:
    Tp.HCM
    Thứ nhất cho mình hỏi file acc này do bạn tạo hay thừa kế từ người khác?
    Hóa đơn tiền điện mà có thuế suất 0%?

    Theo miêu tả thì nội công của You cũng khá cao đấy chứ, cứ tự tin quậy một chặp là công lực tăng lên ngay.

    Do không có table này nên mình nói thế này chắc Bạn làm được: bạn dùng query select kết hợp để lấy ngày lớn nhất và số hóa đơn lớn nhất sau đó đổ số hóa đơn sau khi đã cộng 01 vào text box số hóa đơn, (mình đính chính hướng dẫn trên một tý là không phải lấy số hóa đơn lớn nhất là đúng mà phải kết hợp với ngày lớn nhất+số hóa đơn lớn nhất thì mới đúng) vì có thể hóa đơn bạn in lần sau có số bắt đầu nhỏ hơn.

    VD table Employees có 2 field:EmployeeID, HireDate

    Private Sub Command1_Click()
    Dim db As Database
    Dim re As Recordset
    Dim sa As String
    Set db = CurrentDb
    sa = "SELECT DISTINCTROW Max(Format([HireDate],'yyyy/mm/dd') & ' - ' & [EmployeeID]) AS SHD FROm Employees;"
    Set re = db.OpenRecordset(sa)
    If re.BOF And re.EOF Then
    sa = "0000001"
    Else
    sa = Right(re!shd, Len(re!shd) - 13) + 1
    End If
    Me.SoHoaDon.Value = sa
    re.Close
    End Sub

    Chú ý chỗ max, format, và chỗ cộng thêm 01.
    chắc thế này là rõ rồi nhỉ, đối với hóa đơn tự in thì đã có số hóa đơn rồi, nhưng để không bị trên máy 01 số trên hóa đơn là số khác thì report bạn tạo cần in luôn số hóa đơn: nhỏ, mờ ở gần số hóa đơn có sẵn để đối chiếu khi in ra. còn nếu in ra bị hủy thì vào lại form chỉnh nội dung của hóa đơn vừa bị hủy là lý do hủy, có thể dựa trên đó làm thống kê tạo BC Sử Dụng HD

    Nếu còn rắc rối thì tiếp tục trao đổi.
     
    Last edited: 17 Tháng mười một 2006
    #5
  6. hai2hai

    hai2hai VNUNI Makes a difference

    Bài viết:
    2,012
    Đã được thích:
    128
    Nơi ở:
    Hà nội
    Các bạn tự viết lấy thủ tục có mục đích như sau:

    StringInc("HH0001") --> "HH0002"
    StringInc("HH0001A") --> "HH0001B" hoặc "HH0002A"

    Cách viết thì chắc là dễ rồi đúng ko?
     
    #6
  7. smallgent

    smallgent Thành viên sơ cấp

    Bài viết:
    55
    Đã được thích:
    1
    Nơi ở:
    HCMC
    Viết 1 cái function nho nhỏ mở cái bảng có chứ số hóa đơn ra đọc từ đầu file cho đến EOF (dùng vòng lặp WEND ...Untill) thì số nào lớn nhất lấy ra được thì cái mới sẽ là +1 .
     
    #7
  8. smallgent

    smallgent Thành viên sơ cấp

    Bài viết:
    55
    Đã được thích:
    1
    Nơi ở:
    HCMC
    Hàm trên thiếu vòng lặp lồng vào hàm if ..then ...else ...end chạy từ đầu đến đáy bảng dữ liệu.
     
    #8
  9. ductung_dg

    ductung_dg Thành viên sơ cấp

    Bài viết:
    4
    Đã được thích:
    0
    Nơi ở:
    HCM
    OK rồi các Bác ơi!
     
    Last edited: 6 Tháng tám 2007
    #9
  10. smallgent

    smallgent Thành viên sơ cấp

    Bài viết:
    55
    Đã được thích:
    1
    Nơi ở:
    HCMC
    @ductung_dg: tối về mình xem trả lời nhé....
     
    #10
  11. smallgent

    smallgent Thành viên sơ cấp

    Bài viết:
    55
    Đã được thích:
    1
    Nơi ở:
    HCMC
    @ductung_dg: bạn có thể tóm tắt cho mình bảng dữ liệu tên gì và gồm các field nào không? Mình sẽ viết ngay 1 hàm đơn giản để lấy số hóa đơn mới nhất và tạo ra 1 số hóa đơn mới cho bạn.
     
    #11
  12. ductung_dg

    ductung_dg Thành viên sơ cấp

    Bài viết:
    4
    Đã được thích:
    0
    Nơi ở:
    HCM
    Mình đã gửi vào gmail của bạn, bạn check mail đi sẽ rõ> Cảm ơn nha!
     
    #12
  13. smallgent

    smallgent Thành viên sơ cấp

    Bài viết:
    55
    Đã được thích:
    1
    Nơi ở:
    HCMC
    Mình đã làm xong và gửi cho bạn rồi. Có các vấn đề sau đây:

    - Mình đã nhập vào các số hóa đơn (tự cho) vào trong bảng KHACH_HANG để khi bạn mở form thì cái hàm mình vừa làm cho bạn nó sẽ dò để lấy số HĐ mới nhất và + thêm 1 và gán vào ô hóa đơn cho khách hàng mới.

    - Khi mở form mình cũng làm cho nó tự chuyển sang trạnh thái sẵn sàng để nhập liệu cho 1 khách hàng mới ...đương nhiên tại ô hóa đơn bạn sẽ thấy xuất hiện 1 số mới.

    Chúc vui.
     
    #13
  14. aThuan

    aThuan Thành viên thân thiết

    Bài viết:
    347
    Đã được thích:
    5
    Nơi ở:
    Tp.HCM
    Thiếu là thiếu thế nào nhỉ, bạn nhìn chỗ in đậm ấy.:dzo::bigok::angel::error:
     
    #14

Chia sẻ trang này