Giúp code nhập liệu thì nó Add vào dòng cuối của Listbox

Liên hệ QC

phuoclocvl

Thành viên thường trực
Tham gia
28/3/12
Bài viết
220
Được thích
32
Dạ xin chào các Anh Chị Em Diễn Đàn
em có đoạn code như bên dưới nhưng nó chạy không được, mục đích của em là lấy dữa liệu từ textbox vào listbox, nhưng khi nhập dữ liệu mới nó là trùng vào dòng với dữ liệu cũ, giúp em làm sao, mỗi lần add dữ liệu mới thì nó xuống 1 dòng ạ.

Xin cảm ơn nhiều!

Dim Arr(0, 13)
For i = 0 To Me.lstKH.ListCount - 1 'Listbox
Me.lstKH.AddItem i
Arr(i, 0) = lbIDPr
Arr(i, 1) = cbTHX.Text
Arr(i, 2) = txtPriceX.Text
Arr(i, 3) = txtQTYX.Text
Arr(i, 4) = txtAMX.Text
Arr(i, 5) = Format(Me.txtPaid.Text, "#,##")
Arr(i, 6) = Format((Me.txtAMX.Text) - (Me.txtPaid.Text), "#,##")
Arr(i, 7) = txtDateX.Text
Arr(i, 8) = cbKH.Text
Arr(i, 9) = txtTel.Text
Arr(i, 10) = txtAddress.Text
Arr(i, 11) = lbID
Arr(i, 12) = Me.txtOrderNo
Next i
Me.lstKH.ColumnCount = 13
Me.lstKH.List = Arr
 
Dạ xin chào các Anh Chị Em Diễn Đàn
em có đoạn code như bên dưới nhưng nó chạy không được, mục đích của em là lấy dữa liệu từ textbox vào listbox, nhưng khi nhập dữ liệu mới nó là trùng vào dòng với dữ liệu cũ, giúp em làm sao, mỗi lần add dữ liệu mới thì nó xuống 1 dòng ạ.

Xin cảm ơn nhiều!

Dim Arr(0, 13)
For i = 0 To Me.lstKH.ListCount - 1 'Listbox
Me.lstKH.AddItem i
Arr(i, 0) = lbIDPr
Arr(i, 1) = cbTHX.Text
Arr(i, 2) = txtPriceX.Text
Arr(i, 3) = txtQTYX.Text
Arr(i, 4) = txtAMX.Text
Arr(i, 5) = Format(Me.txtPaid.Text, "#,##")
Arr(i, 6) = Format((Me.txtAMX.Text) - (Me.txtPaid.Text), "#,##")
Arr(i, 7) = txtDateX.Text
Arr(i, 8) = cbKH.Text
Arr(i, 9) = txtTel.Text
Arr(i, 10) = txtAddress.Text
Arr(i, 11) = lbID
Arr(i, 12) = Me.txtOrderNo
Next i
Me.lstKH.ColumnCount = 13
Me.lstKH.List = Arr
Tiêu đề bài viết cần cụ thể, rỏ ràng và nên phù hợp với nội dung.
Tiêu đề bài viết nên là "Giúp code nhập liệu thì nó Add vào dòng cuối của Listbox".
Nên đính kèm File để các thành viên giúp cho code khác, chứ không nên nhờ sửa chay.
 
Upvote 0
Tiêu đề bài viết cần cụ thể, rỏ ràng và nên phù hợp với nội dung.
Tiêu đề bài viết nên là "Giúp code nhập liệu thì nó Add vào dòng cuối của Listbox".
Nên đính kèm File để các thành viên giúp cho code khác, chứ không nên nhờ sửa chay.
Dạ em sửa lại tiêu đề và đính kèm file rồi ạ, xin xem giúp em
cảm ơn ạ,
 

File đính kèm

  • QLBH.xlsm
    69.7 KB · Đọc: 16
Upvote 0
Các anh chị giúp em với. Cảm ơn ,
Bạn thử Code này.Mình chưa test nhé.
Mã:
Private Sub cmdADK_Click()
    Dim i As Long, k As Long, a As Long, j As Integer
    Dim Arr
    If (cbKH.Text) = "" Then
        MsgBox "Please choose name's customer"
        cbKH.SetFocus
    ElseIf (cbTHX.Text) = "" Then
        MsgBox "Please choose a product"
        cbTHX.SetFocus
    ElseIf txtQTYX.Value = "" Or txtQTYX.Value = 0 Then
        MsgBox "Please enter quantity"
        txtQTYX.SetFocus
    ElseIf Not IsNumeric(txtQTYX.Value) Then
        MsgBox "Please Enter a Number For Quantity"
        txtQTYX.SetFocus
    ElseIf (Me.txtPaid.Value) = "" Then
        MsgBox "Please Enter Paid"
        Me.txtPaid.SetFocus
    ElseIf Not IsNumeric(Me.txtPaid.Value) Then
        MsgBox "Please Enter a Number For Paid"
        Me.txtPaid.SetFocus
    End If
    'With lstKH
        '.TextColumn = 1
        'i = .ListCount - 1
        a = Me.lstKH.ListCount
        ReDim Arr(0 To a, 0 To 12)
        For i = 0 To a - 1
            For j = 0 To 12
                Arr(i, j) = lstKH.List(i, j)
            Next j
        Next i
        Arr(i, 0) = lbIDPr
        Arr(i, 1) = cbTHX.Text
        Arr(i, 2) = txtPriceX.Text
        Arr(i, 3) = txtQTYX.Text
        Arr(i, 4) = txtAMX.Text
        Arr(i, 5) = Format(Me.txtPaid.Text, "#,##")
        Arr(i, 6) = Format((Me.txtAMX.Text) - (Me.txtPaid.Text), "#,##")
        Arr(i, 7) = txtDateX.Text
        Arr(i, 8) = cbKH.Text
        Arr(i, 9) = txtTel.Text
        Arr(i, 10) = txtAddress.Text
        Arr(i, 11) = lbID
        Arr(i, 12) = Me.txtOrderNo
        Me.cmdUpdate.Visible = True
    'End With
    Me.lstKH.ColumnCount = 13
    Me.lstKH.List = Arr
End Sub
Chỉnh 1 chút của bạn.
 
Upvote 0
Bạn thử Code này.Mình chưa test nhé.
Mã:
Private Sub cmdADK_Click()
    Dim i As Long, k As Long, a As Long, j As Integer
    Dim Arr
    If (cbKH.Text) = "" Then
        MsgBox "Please choose name's customer"
        cbKH.SetFocus
    ElseIf (cbTHX.Text) = "" Then
        MsgBox "Please choose a product"
        cbTHX.SetFocus
    ElseIf txtQTYX.Value = "" Or txtQTYX.Value = 0 Then
        MsgBox "Please enter quantity"
        txtQTYX.SetFocus
    ElseIf Not IsNumeric(txtQTYX.Value) Then
        MsgBox "Please Enter a Number For Quantity"
        txtQTYX.SetFocus
    ElseIf (Me.txtPaid.Value) = "" Then
        MsgBox "Please Enter Paid"
        Me.txtPaid.SetFocus
    ElseIf Not IsNumeric(Me.txtPaid.Value) Then
        MsgBox "Please Enter a Number For Paid"
        Me.txtPaid.SetFocus
    End If
    'With lstKH
        '.TextColumn = 1
        'i = .ListCount - 1
        a = Me.lstKH.ListCount
        ReDim Arr(0 To a, 0 To 12)
        For i = 0 To a - 1
            For j = 0 To 12
                Arr(i, j) = lstKH.List(i, j)
            Next j
        Next i
        Arr(i, 0) = lbIDPr
        Arr(i, 1) = cbTHX.Text
        Arr(i, 2) = txtPriceX.Text
        Arr(i, 3) = txtQTYX.Text
        Arr(i, 4) = txtAMX.Text
        Arr(i, 5) = Format(Me.txtPaid.Text, "#,##")
        Arr(i, 6) = Format((Me.txtAMX.Text) - (Me.txtPaid.Text), "#,##")
        Arr(i, 7) = txtDateX.Text
        Arr(i, 8) = cbKH.Text
        Arr(i, 9) = txtTel.Text
        Arr(i, 10) = txtAddress.Text
        Arr(i, 11) = lbID
        Arr(i, 12) = Me.txtOrderNo
        Me.cmdUpdate.Visible = True
    'End With
    Me.lstKH.ColumnCount = 13
    Me.lstKH.List = Arr
End Sub
Chỉnh 1 chút của bạn.
Dạ cảm ơn nhiều ạ. Tối về chạy
 
Upvote 0
Bạn thử Code này.Mình chưa test nhé.
Mã:
Private Sub cmdADK_Click()
    Dim i As Long, k As Long, a As Long, j As Integer
    Dim Arr
    If (cbKH.Text) = "" Then
        MsgBox "Please choose name's customer"
        cbKH.SetFocus
    ElseIf (cbTHX.Text) = "" Then
        MsgBox "Please choose a product"
        cbTHX.SetFocus
    ElseIf txtQTYX.Value = "" Or txtQTYX.Value = 0 Then
        MsgBox "Please enter quantity"
        txtQTYX.SetFocus
    ElseIf Not IsNumeric(txtQTYX.Value) Then
        MsgBox "Please Enter a Number For Quantity"
        txtQTYX.SetFocus
    ElseIf (Me.txtPaid.Value) = "" Then
        MsgBox "Please Enter Paid"
        Me.txtPaid.SetFocus
    ElseIf Not IsNumeric(Me.txtPaid.Value) Then
        MsgBox "Please Enter a Number For Paid"
        Me.txtPaid.SetFocus
    End If
    'With lstKH
        '.TextColumn = 1
        'i = .ListCount - 1
        a = Me.lstKH.ListCount
        ReDim Arr(0 To a, 0 To 12)
        For i = 0 To a - 1
            For j = 0 To 12
                Arr(i, j) = lstKH.List(i, j)
            Next j
        Next i
        Arr(i, 0) = lbIDPr
        Arr(i, 1) = cbTHX.Text
        Arr(i, 2) = txtPriceX.Text
        Arr(i, 3) = txtQTYX.Text
        Arr(i, 4) = txtAMX.Text
        Arr(i, 5) = Format(Me.txtPaid.Text, "#,##")
        Arr(i, 6) = Format((Me.txtAMX.Text) - (Me.txtPaid.Text), "#,##")
        Arr(i, 7) = txtDateX.Text
        Arr(i, 8) = cbKH.Text
        Arr(i, 9) = txtTel.Text
        Arr(i, 10) = txtAddress.Text
        Arr(i, 11) = lbID
        Arr(i, 12) = Me.txtOrderNo
        Me.cmdUpdate.Visible = True
    'End With
    Me.lstKH.ColumnCount = 13
    Me.lstKH.List = Arr
End Sub
Chỉnh 1 chút của bạn.
nhiều
Bạn thử Code này.Mình chưa test nhé.
Mã:
Private Sub cmdADK_Click()
    Dim i As Long, k As Long, a As Long, j As Integer
    Dim Arr
    If (cbKH.Text) = "" Then
        MsgBox "Please choose name's customer"
        cbKH.SetFocus
    ElseIf (cbTHX.Text) = "" Then
        MsgBox "Please choose a product"
        cbTHX.SetFocus
    ElseIf txtQTYX.Value = "" Or txtQTYX.Value = 0 Then
        MsgBox "Please enter quantity"
        txtQTYX.SetFocus
    ElseIf Not IsNumeric(txtQTYX.Value) Then
        MsgBox "Please Enter a Number For Quantity"
        txtQTYX.SetFocus
    ElseIf (Me.txtPaid.Value) = "" Then
        MsgBox "Please Enter Paid"
        Me.txtPaid.SetFocus
    ElseIf Not IsNumeric(Me.txtPaid.Value) Then
        MsgBox "Please Enter a Number For Paid"
        Me.txtPaid.SetFocus
    End If
    'With lstKH
        '.TextColumn = 1
        'i = .ListCount - 1
        a = Me.lstKH.ListCount
        ReDim Arr(0 To a, 0 To 12)
        For i = 0 To a - 1
            For j = 0 To 12
                Arr(i, j) = lstKH.List(i, j)
            Next j
        Next i
        Arr(i, 0) = lbIDPr
        Arr(i, 1) = cbTHX.Text
        Arr(i, 2) = txtPriceX.Text
        Arr(i, 3) = txtQTYX.Text
        Arr(i, 4) = txtAMX.Text
        Arr(i, 5) = Format(Me.txtPaid.Text, "#,##")
        Arr(i, 6) = Format((Me.txtAMX.Text) - (Me.txtPaid.Text), "#,##")
        Arr(i, 7) = txtDateX.Text
        Arr(i, 8) = cbKH.Text
        Arr(i, 9) = txtTel.Text
        Arr(i, 10) = txtAddress.Text
        Arr(i, 11) = lbID
        Arr(i, 12) = Me.txtOrderNo
        Me.cmdUpdate.Visible = True
    'End With
    Me.lstKH.ColumnCount = 13
    Me.lstKH.List = Arr
End Sub
Chỉnh 1 chút của bạn.
Chạy rất ngon lành cành đào, cảm ơn nhiều ạ
 
Upvote 0
Web KT
Back
Top Bottom