Trang 1 của 3 123 CuốiCuối
Kết quả 1 đến 10 của 22

Chủ đề: Liên kết Excel với VB6

  1. #1
    bacnv Guest

  2. #2
    BaoNgoc99 Guest
    Các cao thu GPE đâu rồi giúp tôi với

  3. #3
    sevenup024 Guest
    Trích dẫn Gửi bởi hoang0569
    Mình mới chập chững VB nên rất mong các bạn giúp, mình gửi File đính kèm theo. Rất cảm ơn
    Thế sao bạn không dùng Form của Excel mà làm (tức dùng VBA) ---> Làm trên VB6, nội cái chuyện tiếng Việt Unicode cũng là chuyện quá mệt mỏi (nếu không nói là THUA)... còn dùng font TCVN3 thì lại... dở hơi

  4. #4
    cuzing Guest
    Bạn muốn liên kết Excel với VB để thực hiện quản lý tính công nhân viên, bạn nên dùng thêm ADODB để phục vụ mục đích truy vấn sau nầy.
    * Ta có thể dùng các TextBox để nhập dữ liệu
    * ta cũng có thể dùng các TextBox Bind với recordset để hiển thị giá trị các record
    Nếu bạn đọc thông thạo ADODB (tác giả Lê văn Duyệt forum nầy có viết), bạn sẽ thực hiện việc thêm, sửa, xóa, truy vấn... trên file dữ liệu xls.

    Tôi tạm gởi bạn project VB6 có sẵn, dùng csdl là xls, project có dùng datagrid, và chèn thư viện MS ActiveX data Object 2.8 library. Code đơn giản, đại loại như sau, bạn có thể sửa lại theo ý mình:

    Mã:
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Private Sub Command1_Click()
    rs.AddNew
    Command1.Caption = "Gõ vào DataGrid, xong nhân nút Lu'u"
    Command2.Visible = True
    End Sub
    Private Sub Command2_Click()
    rs.Update
    Command1.Caption = "Thêm"
    Command2.Visible = False
    End Sub
    Private Sub Form_Load()
    cn.Open "Provider= Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\Book1.xls;" & _
    "Extended Properties=Excel 8.0;"
    rs.CursorLocation = adUseClient
    rs.Open "select * from [sheet1$]", cn, 3, 3
    Set DataGrid1.DataSource = rs
    End Sub

  5. #5
    Em cũng đang cần cái này lắm. Em đã áp dụng ngon lành, nhưng vẫn có một vấn đề như thế này: Em làm một button chọn đến file Excel và đoạn code chạy ok, nhưng khi chương trình đang chạy em tìm đến 01 file Excel khác thì chương trình báo lỗi "Operation is not allowed when the object is open". Em cũng đã làm thêm một button nữa để khi chọn 01 file khác sẽ đóng kết nối lại nhưng vẫn không được. Mong các bác chỉ giáo. Cảm ơn nhiều.

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi thkd09
    Em cũng đang cần cái này lắm. Em đã áp dụng ngon lành, nhưng vẫn có một vấn đề như thế này: Em làm một button chọn đến file Excel và đoạn code chạy ok, nhưng khi chương trình đang chạy em tìm đến 01 file Excel khác thì chương trình báo lỗi "Operation is not allowed when the object is open". Em cũng đã làm thêm một button nữa để khi chọn 01 file khác sẽ đóng kết nối lại nhưng vẫn không được. Mong các bác chỉ giáo. Cảm ơn nhiều.
    Bạn phải cho xem đoạn code có báo lỗi thì các bạn mới có thể "chỉ giáo" được.

    Lê Văn Duyệt

  7. #7
    thongtinchungcu Guest
    Trích dẫn Gửi bởi thkd09
    Bác Duyệt ơi, tiếng Anh của em rất kém, bác xem giải quyết cho em được không?
    Bạn hãy đưa đoạn mã sau vào một module trong VB:


    Mã:
    Option Explicit
    
    
    'Thủ tục nhập dữ liệu từ Excel
    Sub ImportDNFromExcel()
    'Khai báo và tạo đối tượng Excel
        Dim oXL As Object
        Dim oXLWb As Object
        Dim oXLWs As Object
        Dim lRow As Long, lLastRow As Long, i As Long, vContent
        Dim sFilePath As String
    
        On Error GoTo ErrorHandler
            'Đường dẫn của tập tin muốn lấy dữ liệu
            sFilePath = "C:\Test.xls" 
            Set oXL = CreateObject("Excel.Application")
            'Nếu tập tin tồn tại thì mở
            Set oXLWb = oXL.Workbooks.Open(sFilePath)
            'Lấy dữ liệu từ sheet đầu tiên
            Set oXLWs = oXLWb.Worksheets(1)
            'Hàng bắt đầu lấy dữ liệu trong sheet đầu tiên là 6
            lRow = 6 : lLastRow = 100 
            'Bạn có thể dùng 
            'LastRow = oXLWs.Range("A1").End(xlDown).Row
            'LastCol = oXLWs .Range("A1").End(xlToRight).Column
            'để lấy hàng cuối hoặc cột cuối của khối dữ liệu liên tục
            'Nếu bạn muốn người dùng thấy workbook của bạn thì
            'oXL.Visible = True
            'Đến đây bạn có thể bắt đầu lấy dữ liệu từ Excel
            For i=lRow To lLastRow
                'Bắt đầu lấy dữ liệu từ Excel
                vContent = oXLWs.Range("A" & lRow)
                'Đưa dữ liệu lấy được vào các đối tượng hoặc biến bạn muốn lưu trữ dữ liệu
                'Các bước tiếp theo
    
            Next i
    
    ErrorExit:
        
        'Giải phóng bộ nhớ
        Set oXLWs = Nothing
        'Đóng Workbook lại mà không có lưu
        oXLWb.Close SaveChanges:=False
        Set oXLWb = Nothing
        'Đóng Excel
        oXL.Quit
        Set oXL = Nothing
        Exit Sub
    
    ErrorHandler:
        'Thực hiện gì khi xãy ra lỗi tại đây
        'Ví dụ như thông báo hoặc ghi lỗi ra tập tin chẳng hạn
        Resume ErrorExit
    
    End Sub
    Hy vọng với đoạn mã trên bạn có thể làm được.

    Lê Văn Duyệt

  8. #8
    tvintec Guest
    Bạn hãy theo link sau: http://www.vbforums.com/showthread.php?t=391665, hướng dẫn rất cụ thể.

    Lê Văn Duyệt

  9. #9
    trungtrinh Guest
    Các bác test thử giúp em với. Vì em Export file Excel từ một chương trình khác nên tên sheet trùng với tên file.

  10. #10
    ngocsonops Guest
    Bác Duyệt ơi, tiếng Anh của em rất kém, bác xem giải quyết cho em được không?

Trang 1 của 3 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •