XIN GIÚP CÁCH GHI CÁC DỮ LIỆU TRÊN FORM.

Liên hệ QC

theanhst92

Thành viên hoạt động
Tham gia
31/3/16
Bài viết
134
Được thích
15
em xin chào mọi người. em đang tạo form nhập liệu nhưng vướng một vài vấn đề mong được các bác giúp ạ.
hiên tại em đã hoàn thiện phần tạo form và viết một vài code để có thể ghi dữ liệu, nhưng có một vài chỗ em vẫn chưa ghi được. như combobox có nhiều list tương ứng với danh sách đã tạo, nhưng em chỉ ghi được giá trị đầu tiên của combobox, các giá trị của các list sau em không biết viết mã để ghi. các bác có thể giúp em với ạ. với cả có một vài vướng mắc em đã ghi trong file. mong được các bác nhiệt tình giúp đỡ. em cảm ơn!
 

File đính kèm

em xin chào mọi người. em đang tạo form nhập liệu nhưng vướng một vài vấn đề mong được các bác giúp ạ.
hiên tại em đã hoàn thiện phần tạo form và viết một vài code để có thể ghi dữ liệu, nhưng có một vài chỗ em vẫn chưa ghi được. như combobox có nhiều list tương ứng với danh sách đã tạo, nhưng em chỉ ghi được giá trị đầu tiên của combobox, các giá trị của các list sau em không biết viết mã để ghi. các bác có thể giúp em với ạ. với cả có một vài vướng mắc em đã ghi trong file. mong được các bác nhiệt tình giúp đỡ. em cảm ơn!
Form đẹp đấy bạn cái này bạn hỏi bác SA_DQ .Tư vấn cụ thể nhé.
 
Upvote 0
Giải quyết vấn đề 1.
Nên tạo OptionButton thay cho CheckBox vì chỉ cho chọn 1 loại phiếu:
221688
Code tìm số phiếu:
Mã:
Public SoPhieu As Integer, LoaiPhieu As String

Public Sub TimSP()
Dim Rng As Range, Cel As Range, Lr As Long
Lr = Sheet5.Range("D65535").End(xlUp).Row
Set Rng = Sheet5.Range("D7:D" & Lr)
SoPhieu = 0
For Each Cel In Rng
    If InStr(Cel, LoaiPhieu) Then
        SoPhieu = IIf(Val(Mid(Cel, Len(LoaiPhieu) + 1, 4)) _
            >= SoPhieu, Val(Mid(Cel, Len(LoaiPhieu) + 1, 4)), SoPhieu)
    End If
Next
End Sub
Code chèn vào OptionButton:
Mã:
Private Sub OptionButton1_Click()
    LoaiPhieu = "PN"
    Call TimSP
    txtSoct = LoaiPhieu & Right("0000" & SoPhieu + 1, 4)
End Sub
 

File đính kèm

Upvote 0
em xin chào mọi người. em đang tạo form nhập liệu nhưng vướng một vài vấn đề mong được các bác giúp ạ.
hiên tại em đã hoàn thiện phần tạo form và viết một vài code để có thể ghi dữ liệu, nhưng có một vài chỗ em vẫn chưa ghi được. như combobox có nhiều list tương ứng với danh sách đã tạo, nhưng em chỉ ghi được giá trị đầu tiên của combobox, các giá trị của các list sau em không biết viết mã để ghi. các bác có thể giúp em với ạ. với cả có một vài vướng mắc em đã ghi trong file. mong được các bác nhiệt tình giúp đỡ. em cảm ơn!
Vấn đề (2):
bạn đã lấy được dữ liệu từ Combobox được như thế này
Mã:
Private Sub ComboBox1_Change()
Me.lbTensp = Me.ComboBox1.Column(1)
End Sub
Private Sub ComboBox2_Change()
Me.lbTendt = Me.ComboBox2.Column(5)
thì bạn sẽ biết chỉnh đoạn này như thế nào rồi đó
Mã:
.Offset(, 8).Value = frmnhaplieu.ComboBox1
.Offset(, 10).Value = frmnhaplieu.ComboBox2
//
Vấn đề (3):
bạn thử thêm đoạn check điều kiện rỗng xem sao
Mã:
Private Sub ComboBox1_Change()
If Me.ComboBox1.Text <> vbNullString Then
    Me.lbTensp = Me.ComboBox1.Column(1)
End If
End Sub
 
Upvote 0
Giải quyết vấn đề 1.
Nên tạo OptionButton thay cho CheckBox vì chỉ cho chọn 1 loại phiếu:
View attachment 221688
Code tìm số phiếu:
Mã:
Public SoPhieu As Integer, LoaiPhieu As String

Public Sub TimSP()
Dim Rng As Range, Cel As Range, Lr As Long
Lr = Sheet5.Range("D65535").End(xlUp).Row
Set Rng = Sheet5.Range("D7:D" & Lr)
SoPhieu = 0
For Each Cel In Rng
    If InStr(Cel, LoaiPhieu) Then
        SoPhieu = IIf(Val(Mid(Cel, Len(LoaiPhieu) + 1, 4)) _
            >= SoPhieu, Val(Mid(Cel, Len(LoaiPhieu) + 1, 4)), SoPhieu)
    End If
Next
End Sub
Code chèn vào OptionButton:
Mã:
Private Sub OptionButton1_Click()
    LoaiPhieu = "PN"
    Call TimSP
    txtSoct = LoaiPhieu & Right("0000" & SoPhieu + 1, 4)
End Sub
em cảm ơn ạ. đơn giản mà hay quá. ^^
 
Upvote 0
Vấn đề 2:
221693
Vấn đề 3:
Mã:
Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" Then
    Me.lbTensp = Me.ComboBox1.Column(1)
Else
    Me.lbTensp = ""
End If
End Sub
Tương tự cho ComboBox2

Vấn đề 4 thì do bạn điều chỉnh thôi.
 
Upvote 0
. . . em đang tạo form nhập liệu nhưng vướng vài vấn đề mong được giúp ạ.
. . . . , nhưng có một vài chỗ em vẫn chưa ghi được. như combobox có nhiều list tương ứng với danh sách đã tạo, nhưng em chỉ ghi được giá trị đầu tiên của combobox, các giá trị của các list sau em không biết viết mã để ghi. các bác có thể giúp em với ạ. với cả có một vài vướng mắc em đã ghi trong file. mong được các bác nhiệt tình giúp đỡ. em cảm ơn!
Trong Form của bạn có 4 cái ComboBox, chúng lấy nguồn từ các vùng bạn đã gán tên;
(Lấy 1 ComboBox gồm 2 cột để đơn giản trong trau đổi) ComboBox có nhiều dòng; Khi bạn chọn dòng nào đó thì trị cột đầu của dòng chọn sẽ được ghi lên dòng nào đó trên trang tính
Mỗi lần chọn 1 dòng trong ComboBox & khi bấm lưu DL thì nó sẽ ghi DL hiện đã chọn này;
Chứ bạn muốn gì khác?
 
Upvote 0
em đã chạy được hết các vấn đề. xin cảm ơn mọi người đã giúp đỡ em ạ. *-+*-+
 
Upvote 0

On Error Resume Next là lựa chọn sau cùng khi không còn lựa chọn bẫy lỗi nào khác và khi bạn biết chính xác nó chỉ có 1 lỗi và lỗi đó có thể bỏ qua bằng Resume Next mà không làm ảnh hưởng gì đến tính chính xác của dữ liệu.

theanhst92:
Bạn biết nếu combobox không có dữ liệu (Is Null) thì bị lỗi vậy bẫy lỗi nó trước khi ghi xuống bằng cách biến Null thành giá trị nào đó:= 0 nếu dữ liệu dạng Number, "" nếu dữ liệu dạng Text. Đại khái như sau:
........value= IIF(IsNull(Combo),0,[Combo].value)

Bên Access thì có hàm Nz() dùng để khử giá trị Null (NullZero - Nz).
Bên Excel không có hàm này nên tự chế hàm để khử Null. Bạn copy hàm này vào Module.

Mã:
Public Function Nz(ByVal Value, Optional ByVal ValueIfNull = "")
'Hàm khu gia tri Null

    Nz = IIf(IsNull(Value), ValueIfNull, Value)

End Function

Áp dụng:
.......Value = Nz(frmNhapLieu.ComboBox2.Column(4))
 
Lần chỉnh sửa cuối:
Upvote 0
Hì hì, đặt tên biến, tên hàm mà vừa Việt vừa Anh đọc nó tréo tréo cái miệng đấy.
Vd: KhuNull đọc thành Khử Nùn (miền Bắc), hiểu thành Khử Lùn (miền Nam) ;)
Hồi xưa mới code, tui cũng đặt tên theo tiếng Việt, sau dùng từ điển để tra qua tiếng Anh, hồi đó chưa có Internet hay Gấu gồ Tran sờ la te đâu.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom