Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Tạo forms tìm kiếm nhiều đối tượng với nhiều điều kiện khác nhau ?
#41
Mã PHP:
Option Compare Database

Function Export2Excel(Optional qryName As StringOptional qryString As StringOptional ExlFileName As String) As Boolean
    
'On Error GoTo errHandler
    If qryName = "" Then
        If qryString = "" Then
            MsgBox "Chua co cau lenh Truy van SQL..", vbInformation
            GoTo errHandler
        End If
        ' 
Tao Query tam thoi
        CurrentDb
.CreateQueryDef "tmp_Qry"qryString
        qryName 
"tmp_Qry"
    
End If
    If 
ExlFileName "" Then ExlFileName CurrentProject.Path "\" & qryName & ".xls"
    ' Xoa file Excel neu da ton tai
    If Dir(ExlFileName) <> "" Then Kill ExlFileName
    ' Xuat ra Excel
    'DoCmd.OutputTo acOutputQuery, qryName, acCmdOutputToExcel, ExlFileName
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, qryName, ExlFileName, True
    Export2Excel = True
errHandler:
    If Export2Excel Then
        MsgBox "
Da xuat thanh cong ra Excel..Ten tap tin la: [" & vbclrf & ExlFileName, vbInformation
    Else
        MsgBox "
Viec xuat file ra Excel khong thanh cong...", vbInformation
    End If
    Err.Clear
    On Error Resume Next
    ' xoa Query tam
    If qryName = "
tmp_Qry" Then DoCmd.DeleteObject acQuery, qryName
End Function

Sub Test()
    'Call Export2Excel("
Query1")
    Call Export2Excel(, "
SELECT a.tentgCount(b.tensach) AS Dausach FROM tacgia AS a INNER JOIN sach AS b ON a.matg=b.matg GROUP BY a.tentg;")
End Sub 

Thực ra thì không có gì cao siêu quá bác Hòa ạ, một phần là do bác mới bắt đầu với VBA nên tiếp cận với những thứ như thế này sẽ khá khó.
Tôi xin phép cắt nghĩa đơn giản lại như thế này.
Hàm Export2Excel là một hàm tự tạo và cách sử dụng như thế này:
Export2Excel([Tên Query], [Chuỗi chứa truy vấn], [Tên tập tin Excel])
+ Trong đó nếu có tên query thì có thể bỏ trống tham số thứ 2, 3. Nếu bỏ trống tham số thứ 3 thì tên file
excel xuất ra sẽ chính là tên query của bạn.
Call Export2Excel ([Tên truy vấn], , [tên file excel])
+ Nếu bạn không có tên query thì bắt buộc phải có chuỗi truy vấn và tên tập tin Excel để xuất ra.
Lúc này gọi hàm thế này
Call Export2Excel (,[Chuỗi truy vấn], [tên file excel])
1. Lưu đoạn code tôi gửi ở trên vào một Module
2. Tại bất kỳ một thủ tục nào - ví dụ, bạn tạo một nút bấm CmdExport và tại sự kiện Click của nó, bạn đặt một đoạn gọi hàm của tôi thế này:
+ nếu đã có query:
Call Export2Excel("Query1")
+ Nếu bạn muốn xuất kết quả tìm kiếm ra file excel thì đơn giản là
Call Export2Excel(,frmResult.Form.RecordSource,[Tên file excel])
Trong đó frmResult là tên khung chứa subform hiển thị kết quả.
Đấy cách làm thế đấy bạn ạ
Thân
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn
#42
(26-06-13, 10:11 PM)paulsteigel Đã viết:
Mã PHP:
Option Compare Database

Function Export2Excel(Optional qryName As StringOptional qryString As StringOptional ExlFileName As String) As Boolean
    
'On Error GoTo errHandler
    If qryName = "" Then
        If qryString = "" Then
            MsgBox "Chua co cau lenh Truy van SQL..", vbInformation
            GoTo errHandler
        End If
        ' 
Tao Query tam thoi
        CurrentDb
.CreateQueryDef "tmp_Qry"qryString
        qryName 
"tmp_Qry"
    
End If
    If 
ExlFileName "" Then ExlFileName CurrentProject.Path "\" & qryName & ".xls"
    ' Xoa file Excel neu da ton tai
    If Dir(ExlFileName) <> "" Then Kill ExlFileName
    ' Xuat ra Excel
    'DoCmd.OutputTo acOutputQuery, qryName, acCmdOutputToExcel, ExlFileName
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, qryName, ExlFileName, True
    Export2Excel = True
errHandler:
    If Export2Excel Then
        MsgBox "
Da xuat thanh cong ra Excel..Ten tap tin la: [" & vbclrf & ExlFileName, vbInformation
    Else
        MsgBox "
Viec xuat file ra Excel khong thanh cong...", vbInformation
    End If
    Err.Clear
    On Error Resume Next
    ' xoa Query tam
    If qryName = "
tmp_Qry" Then DoCmd.DeleteObject acQuery, qryName
End Function

Sub Test()
    'Call Export2Excel("
Query1")
    Call Export2Excel(, "
SELECT a.tentgCount(b.tensach) AS Dausach FROM tacgia AS a INNER JOIN sach AS b ON a.matg=b.matg GROUP BY a.tentg;")
End Sub 

Thực ra thì không có gì cao siêu quá bác Lại ạ, một phần là do bác mới bắt đầu với VBA nên tiếp cận với những thứ như thế này sẽ khá khó.
Tôi xin phép cắt nghĩa đơn giản lại như thế này.
Hàm Export2Excel là một hàm tự tạo và cách sử dụng như thế này:
Export2Excel([Tên Query], [Chuỗi chứa truy vấn], [Tên tập tin Excel])
+ Trong đó nếu có tên query thì có thể bỏ trống tham số thứ 2, 3. Nếu bỏ trống tham số thứ 3 thì tên file
excel xuất ra sẽ chính là tên query của bạn.
Call Export2Excel ([Tên truy vấn], , [tên file excel])
+ Nếu bạn không có tên query thì bắt buộc phải có chuỗi truy vấn và tên tập tin Excel để xuất ra.
Lúc này gọi hàm thế này
Call Export2Excel (,[Chuỗi truy vấn], [tên file excel])
1. Lưu đoạn code tôi gửi ở trên vào một Module
2. Tại bất kỳ một thủ tục nào - ví dụ, bạn tạo một nút bấm CmdExport và tại sự kiện Click của nó, bạn đặt một đoạn gọi hàm của tôi thế này:
+ nếu đã có query:
Call Export2Excel("Query1")
+ Nếu bạn muốn xuất kết quả tìm kiếm ra file excel thì đơn giản là
Call Export2Excel(,frmResult.Form.RecordSource,[Tên file excel])
Trong đó frmResult là tên khung chứa subform hiển thị kết quả.
Đấy cách làm thế đấy bạn ạ
Thân

Dear paulsteigel,

Mình hiểu cấu trúc của bộ code, từng câu lệnh mình hiểu kết quả cho ra là gì nhưng mình không hiểu ngôn ngữ bạn dùng vd: Optional; CurrentProject; DoCmd.OutputTo acOutputQuery ...
Vì thế hiểu được bước đi của bạn nhưng ko thể ứng dụng phát triển cho nhu cầu của mình.
Trở lại đề tài, mình thử thay rowsource của listbox vào câu lệnh truy vấn ở câu lệnh cuối cùng, kết quả rút ra được nhưng là toàn bộ dữ liệu chứ không theo yêu cầu của mình là chỉ rút những giá trị tìm thấy sau khi dùng chức năng tìm kiếm. Nhờ bạn chỉ thêm.
Thank
Chữ ký của dinh_trong_hoa
Reply
Những người đã cảm ơn
#43
(26-06-13, 10:11 PM)paulsteigel Đã viết:
Mã PHP:
Option Compare Database

Function Export2Excel(Optional qryName As StringOptional qryString As StringOptional ExlFileName As String) As Boolean
    
'On Error GoTo errHandler
    If qryName = "" Then
        If qryString = "" Then
            MsgBox "Chua co cau lenh Truy van SQL..", vbInformation
            GoTo errHandler
        End If
        ' 
Tao Query tam thoi
        CurrentDb
.CreateQueryDef "tmp_Qry"qryString
        qryName 
"tmp_Qry"
    
End If
    If 
ExlFileName "" Then ExlFileName CurrentProject.Path "\" & qryName & ".xls"
    ' Xoa file Excel neu da ton tai
    If Dir(ExlFileName) <> "" Then Kill ExlFileName
    ' Xuat ra Excel
    'DoCmd.OutputTo acOutputQuery, qryName, acCmdOutputToExcel, ExlFileName
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, qryName, ExlFileName, True
    Export2Excel = True
errHandler:
    If Export2Excel Then
        MsgBox "
Da xuat thanh cong ra Excel..Ten tap tin la: [" & vbclrf & ExlFileName, vbInformation
    Else
        MsgBox "
Viec xuat file ra Excel khong thanh cong...", vbInformation
    End If
    Err.Clear
    On Error Resume Next
    ' xoa Query tam
    If qryName = "
tmp_Qry" Then DoCmd.DeleteObject acQuery, qryName
End Function

Sub Test()
    'Call Export2Excel("
Query1")
    Call Export2Excel(, "
SELECT a.tentgCount(b.tensach) AS Dausach FROM tacgia AS a INNER JOIN sach AS b ON a.matg=b.matg GROUP BY a.tentg;")
End Sub 

Thực ra thì không có gì cao siêu quá bác Lại ạ, một phần là do bác mới bắt đầu với VBA nên tiếp cận với những thứ như thế này sẽ khá khó.
Tôi xin phép cắt nghĩa đơn giản lại như thế này.
Hàm Export2Excel là một hàm tự tạo và cách sử dụng như thế này:
Export2Excel([Tên Query], [Chuỗi chứa truy vấn], [Tên tập tin Excel])
+ Trong đó nếu có tên query thì có thể bỏ trống tham số thứ 2, 3. Nếu bỏ trống tham số thứ 3 thì tên file
excel xuất ra sẽ chính là tên query của bạn.
Call Export2Excel ([Tên truy vấn], , [tên file excel])
+ Nếu bạn không có tên query thì bắt buộc phải có chuỗi truy vấn và tên tập tin Excel để xuất ra.
Lúc này gọi hàm thế này
Call Export2Excel (,[Chuỗi truy vấn], [tên file excel])
1. Lưu đoạn code tôi gửi ở trên vào một Module
2. Tại bất kỳ một thủ tục nào - ví dụ, bạn tạo một nút bấm CmdExport và tại sự kiện Click của nó, bạn đặt một đoạn gọi hàm của tôi thế này:
+ nếu đã có query:
Call Export2Excel("Query1")
+ Nếu bạn muốn xuất kết quả tìm kiếm ra file excel thì đơn giản là
Call Export2Excel(,frmResult.Form.RecordSource,[Tên file excel])
Trong đó frmResult là tên khung chứa subform hiển thị kết quả.
Đấy cách làm thế đấy bạn ạ
Thân

Dear paulsteigel,
frmResult=listbox phải không
RecordSource lấy ở đâu vậy bạn.
Chữ ký của dinh_trong_hoa
Reply
Những người đã cảm ơn
#44
Xin phép được trả lời bạn thế này cho có đầu có cuối!
1. Về cú pháp optional trong tham số của hàm
Về nguyên tắc, một hàm số, thủ tục, ta có thể xây dựng tham số cho nó theo cách
Function/Sub Ham(thamso1 as string, Optional thamso2 as long [=1]) as boolean
Trong đó (1) việc khai báo kiểu của tham số thì bạn rõ rồi; (2) từ khóa Optional có nghĩa là không bắt buộc giá trị [=1] tức là mặc định nếu không cung cấp tham số khi gọi hàm thì lấy giá trị này.
Như vậy khi gọi hàm ta có 2 cách gọi: (1) Call Ham("abc",2) hoặc (2) Call Ham("abc")
Nếu không có từ khóa optional thì khi gọi hàm bạn bắt buộc phải gọi theo cách 1.
Cách sử dụng từ khóa Optional sẽ giúp việc gọi hàm đơn giản hơn.
Ngoài ra đôi khi bạn còn thấy họ dùng byref hoặc byval trước khi khai báo tên biến tham số. Phần này tôi sẽ giải đáp sau vì đó là kiến thức bậc cao trong lập trình VBA rồi.
2. Về CurrentProject.
Có vẻ bạn chưa có khái niệm về các loại đối tượng trong VBA, nếu nói về cái này thì sẽ phải viết hơi dài, tôi xin tạm cắt nghĩa thế này.
Bạn đang lập trình trong CSDL access QLTV.MDB, tập hợp các đối tượng trong Dự án (project) QLTV cho phép tương tác và tham chiếu được thì có nhiều nhưng bạn có thể sử dụng 2 loại đối tượng toàn cục của dự án này là:
CurrentDB: tham chiếu đến đối tượng quản lý kết nối dữ liệu (DataEngine) của dự án. Với đối tượng này ta có thể gọi được các đối tượng con của nó có liên quan đến dữ liệu như bảng dữ liệu, querry..;
CurrentProject: Tham chiếu đến đối tượng quản lý ứng dụng của Dự án và cho phép tham chiếu đến các đối tượng con của nó như Forms, Report ...vv
Trong bài tôi có dùng CurrentProject.Path để lấy được đường dẫn chứa thư mục làm việc của QLTV.MDB
3. Về OutputTo là lệnh thực hiện việc xuất dữ liệu ra ngoải (export) khi bạn đang ở chế độ xem preview đối với dữ liệu (báo cáo chẳng hạn...). Trong bài tôi đã bỏ dòng lệnh này mà dùng lệnh Transfer...
4. Về câu hỏi của bạn liên quan đến Export2Excel
Nếu kết quả tìm kiếm được hiển thị trên Listbox thì bạn dùng Rowsource vì đây chính là câu truy vấn để lọc kết quả và cung cấp cho listbox.
Nếu bạn dùng 1 subform để hiện thị kết quả thì bạn hãy nhớ là, subform được chứa trong 1 Container (khung chứa), vậy nếu muốn tham chiếu đến truy vấn dữ liệu cho subform bạn phải tham chiếu đến frame chứa subform trước, chẳng hạn khung chứa có tên là frminvoicesub. Cú pháp như sau.
[frminvoicesub].Form.RecordSource
Vậy gọi hàm xuất trong 2 trường hợp là
1. Call Export2Excel("",Listbox1.RowSource,"ExcelFileName1.xls")
2. Call Export2Excel("",[frminvoicesub].Form.RecordSource,"ExcelFileName1.xls")
Bạn hiểu ý tôi rồi đúng không.
Xin tự nhiên hỏi tiếp nhé!
Đặng Đình Ngọc
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Xuân Thanh
#45
(28-06-13, 09:18 AM)paulsteigel Đã viết: Xin phép được trả lời bạn thế này cho có đầu có cuối!
1. Về cú pháp optional trong tham số của hàm
Về nguyên tắc, một hàm số, thủ tục, ta có thể xây dựng tham số cho nó theo cách
Function/Sub Ham(thamso1 as string, Optional thamso2 as long [=1]) as boolean
Trong đó (1) việc khai báo kiểu của tham số thì bạn rõ rồi; (2) từ khóa Optional có nghĩa là không bắt buộc giá trị [=1] tức là mặc định nếu không cung cấp tham số khi gọi hàm thì lấy giá trị này.
Như vậy khi gọi hàm ta có 2 cách gọi: (1) Call Ham("abc",2) hoặc (2) Call Ham("abc")
Nếu không có từ khóa optional thì khi gọi hàm bạn bắt buộc phải gọi theo cách 1.
Cách sử dụng từ khóa Optional sẽ giúp việc gọi hàm đơn giản hơn.
Ngoài ra đôi khi bạn còn thấy họ dùng byref hoặc byval trước khi khai báo tên biến tham số. Phần này tôi sẽ giải đáp sau vì đó là kiến thức bậc cao trong lập trình VBA rồi.
2. Về CurrentProject.
Có vẻ bạn chưa có khái niệm về các loại đối tượng trong VBA, nếu nói về cái này thì sẽ phải viết hơi dài, tôi xin tạm cắt nghĩa thế này.
Bạn đang lập trình trong CSDL access QLTV.MDB, tập hợp các đối tượng trong Dự án (project) QLTV cho phép tương tác và tham chiếu được thì có nhiều nhưng bạn có thể sử dụng 2 loại đối tượng toàn cục của dự án này là:
CurrentDB: tham chiếu đến đối tượng quản lý kết nối dữ liệu (DataEngine) của dự án. Với đối tượng này ta có thể gọi được các đối tượng con của nó có liên quan đến dữ liệu như bảng dữ liệu, querry..;
CurrentProject: Tham chiếu đến đối tượng quản lý ứng dụng của Dự án và cho phép tham chiếu đến các đối tượng con của nó như Forms, Report ...vv
Trong bài tôi có dùng CurrentProject.Path để lấy được đường dẫn chứa thư mục làm việc của QLTV.MDB
3. Về OutputTo là lệnh thực hiện việc xuất dữ liệu ra ngoải (export) khi bạn đang ở chế độ xem preview đối với dữ liệu (báo cáo chẳng hạn...). Trong bài tôi đã bỏ dòng lệnh này mà dùng lệnh Transfer...
4. Về câu hỏi của bạn liên quan đến Export2Excel
Nếu kết quả tìm kiếm được hiển thị trên Listbox thì bạn dùng Rowsource vì đây chính là câu truy vấn để lọc kết quả và cung cấp cho listbox.
Nếu bạn dùng 1 subform để hiện thị kết quả thì bạn hãy nhớ là, subform được chứa trong 1 Container (khung chứa), vậy nếu muốn tham chiếu đến truy vấn dữ liệu cho subform bạn phải tham chiếu đến frame chứa subform trước, chẳng hạn khung chứa có tên là frminvoicesub. Cú pháp như sau.
[frminvoicesub].Form.RecordSource
Vậy gọi hàm xuất trong 2 trường hợp là
1. Call Export2Excel("",Listbox1.RowSource,"ExcelFileName1.xls")
2. Call Export2Excel("",[frminvoicesub].Form.RecordSource,"ExcelFileName1.xls")
Bạn hiểu ý tôi rồi đúng không.
Xin tự nhiên hỏi tiếp nhé!
Đặng Đình Ngọc

Ok, mình đã hoàn thiện xong dự án chỉ còn mục xuất dữ liệu ra excel nữa thôi, dự án của mình xây dựng theo phương thức của bạn hướng dẫn. Nhờ bạn dùng file qltv để hướng dẫn mình khúc xuất ra excel dữ liệu tức thời hiển thị trên listbox. Mình đã thử nghiệm nhưng nó xuất ra tất cả dữ liệu chứ không phải là dữ liệu tức thời.
thank
Chữ ký của dinh_trong_hoa
Reply
Những người đã cảm ơn
#46
Rất vui là bạn đã có thể ứng dụng được phần nào đó, hãy xem file ví dụ này!
http://www.sfdp.net/tai-lieu-khac/thuthu...m/qltv.zip
Xem form frmSubFormSearch nhé... - nhấn nút EXP để xuất!
Tôi đã sửa lại chút ít hàm Export2Excel để gọi Excel mở file đó ra luôn;
Bạn xem qua cú pháp trong form FrmSUbformSearch nhé!
========================================
Tôi có sửa lại một số thủ tục liên quan đến xây dựng câu truy vấn cho dễ dùng rồi đấy
Mã PHP:
Private Function BuildSQL(txtInput As StringtxtFieldList As StringtxtTableName As String) As String
    
'TYPE: Xay dung chuoi truy van dang Fuzzy dung toan tu OR khong su dung AND
    '
INChuoi tham so tim kiem
    
'OUT: Chuoi truy van
    ' 
Chia nho tham so tim kiem thanh chuoi dieu kien
    
    Dim inVar 
As VariantfldName As VariantfldType As Variant
    Dim i 
As LongAs LongtmpVar As StringSqlTxt As String
    
' tach chuoi thanh mang
    inVar = Split(txtInput, txtDelm)
    fldName = Split(txtFieldList, ",")
    
    ' 
Xay dung cau truy van
    
For LBound(fldNameTo UBound(fldName)
        
tmpVar fldName(j)
        
fldName(j) = ""
        
For LBound(inVarTo UBound(inVar)
            If 
Nz(Trim(inVar(i)), "") <> "" Then fldName(j) = fldName(j) & "OR " tmpVar " Like '*" inVar(i) & "*' "
        
Next
        fldName
(j) = tmpVar " IN (Select " tmpVar " From nxb Where " Mid(fldName(j), 4) & ")"
        
SqlTxt SqlTxt "OR " fldName(j)
    
Next
    
' Xay dung chuoi truy van cuoi cung bang cach them ten bang
    SqlTxt = "SELECT " & txtFieldList & " FROM " & txtTableName & " Where " & Mid(SqlTxt, 4) & ";"
    BuildSQL = SqlTxt
End Function 
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Xuân Thanh , dinh_trong_hoa
#47
Dear dinh_trong _hoa,

Câu lệnh của bạn cho nút bấm Xuất ra Excel cmdExport là
Mã PHP:
Private Sub cmdExport_Click()
    
Call Export2Excel(""Me.lstResult.RowSource"ExcelFileName1.xls")
End Sub 

Lưu ý : Nếu có qryName.xls thì file Excel qryName.xls xuất ra nằm trong thư mục chung với file Access nhờ câu lệnh CurrentProject.Path. Nếu không có qryName thì file ExcelFileName1.xls xuất ra nằm trong thư mục mặc định My Documents
Thân mến
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn dinh_trong_hoa , paulsteigel
#48
(28-06-13, 09:56 AM)paulsteigel Đã viết: Rất vui là bạn đã có thể ứng dụng được phần nào đó, hãy xem file ví dụ này!
http://www.sfdp.net/tai-lieu-khac/thuthu...m/qltv.zip
Xem form frmSubFormSearch nhé... - nhấn nút EXP để xuất!
Tôi đã sửa lại chút ít hàm Export2Excel để gọi Excel mở file đó ra luôn;
Bạn xem qua cú pháp trong form FrmSUbformSearch nhé!

Bạn ơi !
File của mình dùng listbox thì chỉnh lại chổ nào,mình dùng listbox +sự kiện click với ý định là khi truy vẫn thấy dữ liệu nhập sai thì click vào row đó, nó liên kết với master form và mình sửa lại, còn dùng quenry thì không có sự kiện click
thank
Chữ ký của dinh_trong_hoa
Reply
Những người đã cảm ơn
#49
(28-06-13, 10:42 AM)dinh_trong_hoa Đã viết:
(28-06-13, 09:56 AM)paulsteigel Đã viết: Rất vui là bạn đã có thể ứng dụng được phần nào đó, hãy xem file ví dụ này!
http://www.sfdp.net/tai-lieu-khac/thuthu...m/qltv.zip
Xem form frmSubFormSearch nhé... - nhấn nút EXP để xuất!
Tôi đã sửa lại chút ít hàm Export2Excel để gọi Excel mở file đó ra luôn;
Bạn xem qua cú pháp trong form FrmSUbformSearch nhé!

Bạn ơi !
File của mình dùng listbox thì chỉnh lại chổ nào,mình dùng listbox +sự kiện click với ý định là khi truy vẫn thấy dữ liệu nhập sai thì click vào row đó, nó liên kết với master form và mình sửa lại, còn dùng quenry thì không có sự kiện click
thank
Bạn nên gửi file đây! mình sửa hộ - vì không biết cái bạn đang làm nên nói sẽ rất khó.
gửi vô ngocdd@sfdp.net
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn
#50
(28-06-13, 10:55 AM)paulsteigel Đã viết:
(28-06-13, 10:42 AM)dinh_trong_hoa Đã viết:
(28-06-13, 09:56 AM)paulsteigel Đã viết: Rất vui là bạn đã có thể ứng dụng được phần nào đó, hãy xem file ví dụ này!
http://www.sfdp.net/tai-lieu-khac/thuthu...m/qltv.zip
Xem form frmSubFormSearch nhé... - nhấn nút EXP để xuất!
Tôi đã sửa lại chút ít hàm Export2Excel để gọi Excel mở file đó ra luôn;
Bạn xem qua cú pháp trong form FrmSUbformSearch nhé!

Bạn ơi !
File của mình dùng listbox thì chỉnh lại chổ nào,mình dùng listbox +sự kiện click với ý định là khi truy vẫn thấy dữ liệu nhập sai thì click vào row đó, nó liên kết với master form và mình sửa lại, còn dùng quenry thì không có sự kiện click
thank
Bạn nên gửi file đây! mình sửa hộ - vì không biết cái bạn đang làm nên nói sẽ rất khó.
gửi vô ngocdd@sfdp.net

Dear paulsteigel

Mình đã gởi file vào mail bạn yêu cầu, file nặng 5M không biết có đi được hay không
Nhờ bạn xem giùm.
Thank
Chữ ký của dinh_trong_hoa
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cách đề tạo Combo Box và List Box Tương ứng Godspear 10 314 6 Giờ trước
Bài mới nhất: toancvp
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 209 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq
  Lọc có điều kiện ở listbox phiacuoiconduong 2 97 18-11-16, 06:40 PM
Bài mới nhất: ongke0711
  Lọc theo điều kiện trong listbox Ranju 3 183 06-10-16, 05:26 PM
Bài mới nhất: Ranju
  Thay đổi màu nền các dòng theo điều kiện trên form Continuous tranthanhan1962 9 1,703 27-09-16, 11:01 PM
Bài mới nhất: ongke0711

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ