Nguyễn Thị Kim Hiền
Nguyễn Thị Kim Hiền
Thảo luận 12 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 331 lượt xem

Thầy khi e gọi userform lên nó báo lỗi vậy là sao ạ Thầy giúp e với

Thầy ơi, khi e gọi userform lên nó báo lỗi vậy là sao ạ. Thầy giúp e với ạ

khi e bấm debug thì báo lỗi chỗ lệnh gọi userform 

Thảo luận 12 câu trả lời
Lượt xem 331 lượt xem
Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 23:10 - Oct 24, 2021

Chào bạn bạn gửi lại file giúp gitiho nhé.

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 07:10 - Oct 26, 2021
Nguyễn Thị Kim Hiền 07:10 - Oct 26, 2021

thầy hỗ trợ giúp e ạ

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 09:10 - Oct 26, 2021

Chào bạn ở đây trong file bạn xem lại sub laydulieu xem có trả ra kết quả vào listbox không nhé

Trường hợp không có database thì thêm như sau  để tránh lỗi

On Error Resume Next
Sub Laydulieu() ' lay du lieu vao lbx thong tin xe tren uf_NhapXe
    On Error Resume Next
    Dim Arr As Variant, i As Long
    Spart = ThisWorkbook.Path + "\Database.accdb"
    sqlcmd = "SELECT MAXECNBH,MAXETKKH,HIEUXE,CHUNGLOAI,MAMAU,MAUXE,GIANHAP FROM Hieu_Xe"
    Arr = QuerySQL(sqlcmd, Spart, False)
    For i = 0 To UBound(Arr, 1)
        Arr(i, 6) = Format(Arr(i, 6), "#,###")
    Next
    uf_NhapXe.lbx_ThongTinXe.Clear
    If IsArray(Arr) Then
        uf_NhapXe.lbx_ThongTinXe.List = Arr
        uf_NhapXe.lbx_ThongTinXe.ColumnCount = 7
    End If
End Sub

Phần load các combobox giá trị nên dùng cách này thay vì đặt name

Private Sub UserForm_Initialize()
'Nap DS cho cbx Noi Nhap Xe
    Dim ChonNoiNhapXe As Object, ChonHangXe As Object
    Call Napnhapxe
'Nap DS cho cbx Hang Xe
    For Each ChonHangXe In Sheet11.Range("List_HangXe")
        cbx_HangXe.AddItem ChonHangXe
    Next
'Nap DS cho lbx Thong Tin Xe
Call Laydulieu
cmd_Luu.Enabled = False
End Sub
Sub Napnhapxe()
    Dim arr As Variant, dc As Long
    cbx_NoiNhapXe.Clear
    arr = Sheet11.Range("B1:B" & TimDongCuoi(Sheet11, "B")).Value
    cbx_NoiNhapXe.List = arr
End Sub

Đưa vào array thì sẽ không cần đặt name động vẫn ok phần này.

thêm phần nâng cao là có thể app dụng seach ngay trên combobox nhé.

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 13:10 - Oct 26, 2021

DẠ E CẢM ƠN THẦY Ạ

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 13:10 - Oct 26, 2021

E LÀM DC RỒI, NHƯNG GIỜ LẠI BÁO LỖI TRƯỜNG TRUY CẬP VÀ TRƯỜNG ĐÍCH KO BẰNG NHAU LÀ: SỐ TRƯỜNG TRONG DATABASE VÀ TRƯỜNG TRONG USERFORM KO BẰNG NHAU PHẢI KO Ạ

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 13:10 - Oct 26, 2021

Phần này bạn phải xem lại data base của bạn nhé, xem select  có đúng không? bạn có thể tham khảo thêm khoá access của gitiho 

https://gitiho.com/khoa-hoc/lap-trinh...


Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 12:11 - Nov 01, 2021

DẠ THẦY ƠI, HƯỚNG DẪN E CÁCH REFESH DỮ LIỆU TRONG USERFORM VỚI Ạ, 

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 13:11 - Nov 01, 2021

KHI E THÊM DỮ LIỆU MỚI VÀO DATABASE TRONG ACCESS CÓ DỮ LIỆU, NHƯNG KHI XUẤT BÁO CÁO THÌ DỮ LIỆU LẠI KO CÓ. THẦY HƯỚNG DẪN GIÚP E Ạ

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 13:11 - Nov 01, 2021

Chào bạn bạn nút refesh sẽ là nút bạn lấy lại giữ liệu

Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 13:11 - Nov 01, 2021

Bạn làm một sub như sau 

Sub Laydulieu() ' lay du lieu vao lbx thong tin xe tren uf_NhapXe
    On Error Resume Next
    Dim Arr As Variant, i As Long
    Spart = ThisWorkbook.Path + "\Database.accdb"
    sqlcmd = "SELECT MAXECNBH,MAXETKKH,HIEUXE,CHUNGLOAI,MAMAU,MAUXE,GIANHAP FROM Hieu_Xe"
    Arr = QuerySQL(sqlcmd, Spart, False)
    For i = 0 To UBound(Arr, 1)
        Arr(i, 6) = Format(Arr(i, 6), "#,###")
    Next
    uf_NhapXe.lbx_ThongTinXe.Clear
    If IsArray(Arr) Then
        uf_NhapXe.lbx_ThongTinXe.List = Arr
        uf_NhapXe.lbx_ThongTinXe.ColumnCount = 7
    End If
End Sub
gán vào nút nào đó hoặc sự kiện như load
Vỗ tay vỗ tay
Nguyễn Thị Kim Hiền 19:11 - Nov 01, 2021
dạ, e cảm ơn thầy
Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông