Trang 6 / 12 FirstFirst ... 345678911 ... LastLast
Hiển thị kết quả từ 51 đến 60 / 111
  1. #51
    Tham gia
    21-06-2004
    Location
    7 Lê Duẩn Q1 TpHCM
    Bài viết
    253
    Like
    0
    Thanked 0 Times in 0 Posts
    Thế bác paulsteigel có biết VBA for AutoCAD không? Tui có một số vấn đề về nó.
    Trong Excel có hàm làm việc với file, folder, pick file, pick folder...như GetOpenFilename(), Filedialog.Show, Application.FindFile, SearchFile...
    Tôi tìm tương tự trong VBA của AutoCAD thì không có, mục đích tôi muốn dùng macro để mở hàng loạt file trong một folder nào đó (trong Excel thì tui dễ dàng làm được).
    Thank.
    Được sửa bởi hoxulee lúc 02:55 ngày 27-08-2005

  2. #52
    Tham gia
    08-07-2004
    Bài viết
    192
    Like
    0
    Thanked 14 Times in 14 Posts
    Quote Được gửi bởi hoxulee
    Thế bác paulsteigel có biết VBA for AutoCAD không? Tui có một số vấn đề về nó.
    Trong Excel có hàm làm việc với file, folder, pick file, pick folder...như GetOpenFilename(), Filedialog.Show, Application.FindFile, SearchFile...
    Tôi tìm tương tự trong VBA của AutoCAD thì không có, mục đích tôi muốn dùng macro để mở hàng loạt file trong một folder nào đó (trong Excel thì tui dễ dàng làm được).
    Thank.
    Quả thật tôi chưa nom cái Autocad thế nào nhưng tôi tin nếu autocad có hỗ trợ VBA thì bạn chỉ cần viết vài cái API để tương tác vơi hệ thống là được. Về cái này thì có nhiều người đã viết lắm rồi nên tôi không viết lại mà chỉ trích đoạn ra để bạn xem.
    Thật đáng tiếng là ddth không cho upload nữa nên tôi đành phải cắt dán ra đây.
    '//////////////////////////////////////////////////////////////////////////////////////
    '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''
    ' RefreshTableLinks '
    ' '
    ' This module contains functions that refresh the '
    ' links to Trainner tables if they aren't available. '
    ' '
    '''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''
    Option Explicit ' Require variables to be declared before being used.
    Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
    Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean

    Private Type MSA_OPENFILENAME
    ' Filter string used for the Open dialog filters.
    ' Use MSA_CreateFilterString() to create this.
    ' Default = All Files, *.*
    strFilter As String
    ' Initial Filter to display.
    ' Default = 1.
    lngFilterIndex As Long
    ' Initial directory for the dialog to open in.
    ' Default = Current working directory.
    strInitialDir As String
    ' Initial file name to populate the dialog with.
    ' Default = "".
    strInitialFile As String
    strDialogTitle As String
    ' Default extension to append to file if user didn't specify one.
    ' Default = System Values (Open File, Save File).
    strDefaultExtension As String
    ' Flags (see constant list) to be used.
    ' Default = no flags.
    lngFlags As Long
    ' Full path of file picked. When the File Open dialog box is
    ' presented, if the user picks a nonexistent file,
    ' only the text in the "File Name" box is returned.
    strFullPathReturned As String
    ' File name of file picked.
    strFileNameReturned As String
    ' Offset in full path (strFullPathReturned) where the file name
    ' (strFileNameReturned) begins.
    intFileOffset As Integer
    ' Offset in full path (strFullPathReturned) where the file extension begins.
    intFileExtension As Integer
    End Type

    Const ALLFILES = "All Files"

    Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As Long
    nMaxCustrFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    Flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustrData As Long
    lpfnHook As Long
    lpTemplateName As Long
    End Type

    Const OFN_ALLOWMULTISELECT = &H200
    Const OFN_CREATEPROMPT = &H2000
    Const OFN_EXPLORER = &H80000
    Const OFN_FILEMUSTEXIST = &H1000
    Const OFN_HIDEREADONLY = &H4
    Const OFN_NOCHANGEDIR = &H8
    Const OFN_NODEREFERENCELINKS = &H100000
    Const OFN_NONETWORKBUTTON = &H20000
    Const OFN_NOREADONLYRETURN = &H8000
    Const OFN_NOVALIDATE = &H100
    Const OFN_OVERWRITEPROMPT = &H2
    Const OFN_PATHMUSTEXIST = &H800
    Const OFN_READONLY = &H1
    Const OFN_SHOWHELP = &H10

    Function BrowseFile(Optional strSearchPath As String, Optional SearchFilter As String = "*.mdb", Optional SearchName As String) As String
    ' Displays the Open dialog box for the user to locate
    ' the Trainner database. Returns the full path to Trainner.
    Dim msaof As MSA_OPENFILENAME
    ' Set options for the dialog box.
    msaof.strDialogTitle = GetMessage(14)
    If strSearchPath = "" Then
    msaof.strInitialDir = IIf(CheckDir("C:\") <> "", "C:\", "D:\")
    Else
    msaof.strInitialDir = strSearchPath
    End If
    msaof.strFilter = MSA_CreateFilterString(SearchName, SearchFilter)
    ' Call the Open dialog routine.
    MSA_GetOpenFileName msaof
    ' Return the path and file name.
    BrowseFile = Trim(msaof.strFullPathReturned)
    End Function

    Function MSA_CreateFilterString(ParamArray varFilt() As Variant) As String
    ' Creates a filter string from the passed in arguments.
    ' Returns "" if no argumentss are passed in.
    ' Expects an even number of argumentss (filter name, extension), but
    ' if an odd number is passed in, it appends "*.*".
    Dim strFilter As String
    Dim intRet As Integer
    Dim intNum As Integer
    intNum = UBound(varFilt)
    If (intNum <> -1) Then
    For intRet = 0 To intNum
    strFilter = strFilter & varFilt(intRet) & vbNullChar
    Next
    If intNum Mod 2 = 0 Then
    strFilter = strFilter & "*.*" & vbNullChar
    End If

    strFilter = strFilter & vbNullChar
    Else
    strFilter = ""
    End If
    MSA_CreateFilterString = strFilter
    End Function

    Function MSA_ConvertFilterString(strFilterIn As String) As String
    ' Creates a filter string from a bar ("|") separated string.
    ' The string should pairs of filter|extension strings, i.e. "Access Databases|*.mdb|All Files|*.*"
    ' If no extensions exists for the last filter pair, *.* is added.
    ' This code will ignore any empty strings, i.e. "||" pairs.
    ' Returns "" if the strings passed in is empty.
    Dim strFilter As String
    Dim intNum As Integer, intPos As Integer, intLastPos As Integer
    strFilter = ""
    intNum = 0
    intPos = 1
    intLastPos = 1
    ' Add strings as long as we find bars.
    ' Ignore any empty strings (not allowed).
    Do
    intPos = InStr(intLastPos, strFilterIn, "|")
    If (intPos > intLastPos) Then
    strFilter = strFilter & Mid(strFilterIn, intLastPos, intPos - intLastPos) & vbNullChar
    intNum = intNum + 1
    intLastPos = intPos + 1
    ElseIf (intPos = intLastPos) Then
    intLastPos = intPos + 1
    End If
    Loop Until (intPos = 0)

    ' Get last string if it exists (assuming strFilterIn was not bar terminated).
    intPos = Len(strFilterIn)
    If (intPos >= intLastPos) Then
    strFilter = strFilter & Mid(strFilterIn, intLastPos, intPos - intLastPos + 1) & vbNullChar
    intNum = intNum + 1
    End If

    ' Add *.* if there's no extension for the last string.
    If intNum Mod 2 = 1 Then
    strFilter = strFilter & "*.*" & vbNullChar
    End If

    ' Add terminating NULL if we have any filter.
    If strFilter <> "" Then
    strFilter = strFilter & vbNullChar
    End If

    MSA_ConvertFilterString = strFilter
    End Function

    Private Function MSA_GetSaveFileName(msaof As MSA_OPENFILENAME) As Integer
    ' Opens the file save dialog.

    Dim of As OPENFILENAME
    Dim intRet As Integer
    MSAOF_to_OF msaof, of
    of.Flags = of.Flags Or OFN_HIDEREADONLY
    intRet = GetSaveFileName(of)
    If intRet Then
    OF_to_MSAOF of, msaof
    End If
    MSA_GetSaveFileName = intRet
    End Function

    Function MSA_SimpleGetSaveFileName(Optional SearchName As String = "Ms Access database", Optional SearchFilter As String = "*.mdb", Optional StartFromRoot As Boolean = False) As String
    ' Opens the file save dialog with default values.
    Dim msaof As MSA_OPENFILENAME
    Dim intRet As Integer
    Dim strRet As String
    msaof.strFilter = MSA_CreateFilterString(SearchName, SearchFilter)
    If StartFromRoot Then
    msaof.strInitialDir = SysPath
    Else
    msaof.strInitialDir = IIf(CheckDir("C:\") <> "", "C:\", "D:\")
    End If
    msaof.strDialogTitle = GetMessage(145)

    intRet = MSA_GetSaveFileName(msaof)
    If intRet Then
    strRet = msaof.strFullPathReturned
    End If
    If InStr(strRet, Mid(SearchFilter, 2)) <> 0 Then
    MSA_SimpleGetSaveFileName = strRet
    Else
    If strRet = "" Then Exit Function
    Select Case SearchFilter
    Case "*.mdb":
    MSA_SimpleGetSaveFileName = strRet & ".mdb"
    Case "*.xls"
    MSA_SimpleGetSaveFileName = strRet & ".xls"
    Case Else

    End Select
    End If
    End Function

    Private Function MSA_GetOpenFileName(msaof As MSA_OPENFILENAME) As Integer
    ' Opens the Open dialog.

    Dim of As OPENFILENAME
    Dim intRet As Integer
    MSAOF_to_OF msaof, of
    intRet = GetOpenFileName(of)
    If intRet Then
    OF_to_MSAOF of, msaof
    End If
    MSA_GetOpenFileName = intRet
    End Function

    Function MSA_SimpleGetOpenFileName() As String
    ' Opens the Open dialog with default values.
    Dim msaof As MSA_OPENFILENAME
    Dim intRet As Integer
    Dim strRet As String

    intRet = MSA_GetOpenFileName(msaof)
    If intRet Then
    strRet = msaof.strFullPathReturned
    End If

    MSA_SimpleGetOpenFileName = strRet
    End Function

    Private Sub OF_to_MSAOF(of As OPENFILENAME, msaof As MSA_OPENFILENAME)
    ' This sub converts from the Win32 structure to the Microsoft Access structure.
    msaof.strFullPathReturned = Left(of.lpstrFile, InStr(of.lpstrFile, vbNullChar) - 1)
    msaof.strFileNameReturned = of.lpstrFileTitle
    msaof.intFileOffset = of.nFileOffset
    msaof.intFileExtension = of.nFileExtension
    End Sub

    Private Sub MSAOF_to_OF(msaof As MSA_OPENFILENAME, of As OPENFILENAME)
    ' This sub converts from the Microsoft Access structure to the Win32 structure.
    Dim strFile As String * 512
    ' Initialize some parts of the structure.
    of.hwndOwner = Application.hWndAccessA
    of.hInstance = 0
    of.lpstrCustomFilter = 0
    of.nMaxCustrFilter = 0
    of.lpfnHook = 0
    of.lpTemplateName = 0
    of.lCustrData = 0

    If msaof.strFilter = "" Then
    of.lpstrFilter = MSA_CreateFilterString(ALLFILES)
    Else
    of.lpstrFilter = msaof.strFilter
    End If
    of.nFilterIndex = msaof.lngFilterIndex

    of.lpstrFile = msaof.strInitialFile _
    & String(512 - Len(msaof.strInitialFile), 0)
    of.nMaxFile = 511
    of.lpstrFileTitle = String(512, 0)
    of.nMaxFileTitle = 511
    of.lpstrTitle = msaof.strDialogTitle
    of.lpstrInitialDir = msaof.strInitialDir
    of.lpstrDefExt = msaof.strDefaultExtension
    of.Flags = msaof.lngFlags
    of.lStructSize = Len(of)
    End Sub
    '//////////////////////////////////////////////////////////////////////////////////////
    'Cái này tôi cũng lấy cùa người khác và chỉ sửa một đôi chỗ thôi, bạn xem qua nhé
    'Nay kính thư

  3. #53
    Tham gia
    21-06-2004
    Location
    7 Lê Duẩn Q1 TpHCM
    Bài viết
    253
    Like
    0
    Thanked 0 Times in 0 Posts
    để tôi nghiên cứu, cám ơn nhé

    mà bác lấy ở đâu vậy, cho tôi cái link với, tôi search trong google hoài không thấy, mà nếu có thì cũng không free.
    các topic của bác về Office VBA hay đấy, tôi nghĩ nhiều người chúng ta không phải là dân lập trình chuyên nghiệp thì chỉ cần tìm hiểu những Office VBA vừa đủ để phục vụ cho công việc của mình.
    tôi thì cũng biết sơ Office VBA, đang dựa trên đó tấn công qua AutoCAD VBA mà (hì), thậm chí tôi thấy Corel cũng có VBA (cái này thì tôi không quan tâm lắm).
    thế nhé, nếu bác có cái link share cho tôi nhé.
    thank

  4. #54
    Tham gia
    21-06-2004
    Location
    7 Lê Duẩn Q1 TpHCM
    Bài viết
    253
    Like
    0
    Thanked 0 Times in 0 Posts
    à chắc bác tham khảo API từ API-GUide 3.7

  5. #55
    Tham gia
    08-07-2004
    Bài viết
    192
    Like
    0
    Thanked 14 Times in 14 Posts
    Thành thật xin lỗi quý vị...
    Lâu quá mới ghé lại trang này, tôi bận quá - đang ôn thi mà ... già rồi mà còn thi với cử.
    Hôm nay tôi muốn quay lại với chủ đề office VBA của chúng ta.
    Bắt đầu từ vấn đề nào thì khó quá, tôi những mong có thể viết thành một món gì đó cho ra ngô ra khoai dưng mà.... không có kiến thức hệ thống, thành ra khất lỗi mãi.
    Nhưng mà, để tôi có thể bắt đầu lại một cách suôn sẻ, sau đây là một vài câu hỏi mạo muội dám hỏi các bạn. Với những câu hỏi này, tôi sẽ xây dựng được sườn bài - biết được các bạn sẽ làm gì với Office nhé:
    1. Các bạn chủ yếu dùng word để làm gì?
    + Đánh máy chữ (chẳng cần VBA đâu).
    + Tạo bảng biểu, format định dạng, tạo nhãn ....
    + Viết một vài thuật toán nho nhỏ để làm vài cái linh tinh (Làm cái gì, đề nghị trả lời nhé).
    .... còn gì thì các bạn bổ sung.
    2. Các bạn dùng Excel làm gì?
    + Làm bảng biểu...
    + Các bạn có dùng đến các công thức phức tạp của Excel không ... If... left ...
    + Các bạn có biết rằng các bạn có thể tuỳ biến bộ công thức Excel không?
    + Các bạn có biết Addins là chi mô?
    + Đã bao giờ các bạn thử thay đổi menu giao diện của Excel chưa?...
    3. Bạn chủ yểu dùng access để làm gì?
    + Quản lý dữ liệu...
    + Lập chương trình ...
    vvvvv/
    Còn các ứng dụng office nào nữa mà các bạn thích (Outlook, frontpage, powerpoint...)
    Rất mong các bạn bổ sung câu hỏi.
    Gia đình xin cảm ơn nhé!

  6. #56
    Tham gia
    21-06-2004
    Location
    7 Lê Duẩn Q1 TpHCM
    Bài viết
    253
    Like
    0
    Thanked 0 Times in 0 Posts
    tui thì dùng VBA trong Excel để làm dự toán nho nhỏ cho công trình điện, VBA trong Word để định dạng, chỉnh sửa tài liệu cho nhanh (nhất là copy từ internet), giờ đang nghiên cứu VBA for AutoCAD, khỏi học VisualLisp he he, quá đã, VBA muôn năm

  7. #57
    Tham gia
    08-07-2004
    Bài viết
    192
    Like
    0
    Thanked 14 Times in 14 Posts
    Okay!!
    Cám ơn một người bạn không biết tên nào đó đã cho tôi gửi tạm một số tập tin ví dụ lên đây!
    Để các bạn có ví dụ về các kỹ thuật với VBA, tôi gửi theo đây một vài liên kết nhé:
    1. Chương trình quản lý thông tin kinh tế xã hội phục vụ cho kế hoạch hoá
    http://www.sfdp.net/Libs/vdpsofts/setup.exe
    [Hãy tải tập tin Setup.zip về và đổi tên thành Setup.exe và cài đặt]
    Đây là bản cập nhật, hãy giãn nén và chạy install.bat
    http://www.sfdp.net/Libs/vdpsofts/VDP_2005.rar
    2. Đây là các ví dụ về làm thực dơn trong access bằng macro
    http://www.sfdp.net/Libs/Supported/ForInv/Inv.zip
    3. đây là một ví dụ về VBA với excel
    http://www.sfdp.net/Libs/gen/Exl/ExcelLabel.zip
    http://www.sfdp.net/Libs/gen/Exl/VdpExl.zip
    4. Và đây là command bar với Access.
    http://www.sfdp.net/Libs/gen/acc/MnBar.rar
    Được sửa bởi paulsteigel lúc 18:02 ngày 13-08-2006

  8. #58
    Tham gia
    25-03-2004
    Bài viết
    37
    Like
    0
    Thanked 0 Times in 0 Posts
    Mình cần cái source code về VBA thao tác với cơ sở dữ liệu Access, bạn có không? Ví dụ như Update, Insert,...
    Cám ơn bạn,
    DTNH

  9. #59
    Tham gia
    08-07-2004
    Bài viết
    192
    Like
    0
    Thanked 14 Times in 14 Posts
    Lâu lắm rồi mình mới ghé lại diễn đàn... hì hì. Phần vì bận và phần vì cảm thấy xấu hổ khi không thể tiếp tục thread này (Lý do cũng nhiều, chắc là do trình độ kém quá nên ....).
    Xin cảm ơn bạn Chiến đã hỏi, nhưng có vẻ như tôi chưa hiểu lắm ý bạn nên đành phải trả lời lại thế này:
    1. Bạn có thể chỉ rõ hơn, bạn cần hỏi về câu lệnh SQL hay là cách thiết lập kết nối từ VBA đến CSDL Access.
    2. Nếu là yêu cầu về kết nối để khai thác dữ liệu của Access thì kết nối dạng DAO hay ADODB (Tất nhiên câu hỏi này có vẻ hơi thừa...).
    Về vấn đề này tôi xin giới thiệu 2 cách kết nối với cơ sở dữ liệu bằng DAO và ADODB để bạn có thể thực thi các câu lệnh truy vấn SQL (cho dù vấn đề này đã được nói đến rất nhiều roài ....)
    A. Kết nối dùng DAO.
    DAO là gì? DAO (Data access object) đối tượng truy cập dữ liệu là một giao diện hướng đối tượng của thư viện kết nối cơ sở dữ liệu. Đó là một nhóm các lớp có cách tổ chức tương tự như một hệ thống cơ sở dữ liệu quan hệ, giống như cơ sở dữ liệu, các bảng dữ liệu được định nghĩa trong DAO cùng với các trường, chỉ số của nó .... Những lớp này được sử dụng để tạo ra các đối tượng kết nối dữ liệu trỏ đến cơ sở dữ liệu nào đó mà bạn muốn sử dụng.
    Để đảm bảo tính ổn định, đồng nhất và dễ sử dụng, các lớp và những đối tượng được tạo này ra sẽ ứng xử giống như các lớp và đối tượng khác của môi trường Visual Basic. Chúng được gọi đến bằng cách sử dụng từ khoá và cấu trúc lệnh thông qua các thuộc tính và thủ tục. Để biết thêm những điều này - bạn hãy xem thêm trong bộ MSDN nhé.
    Định nghĩa trên đây là phần dịch giản lược về DAO trong bộ VBonline của VB5.
    Tuy nhiên tôi cũng phải chua thêm một chút là:
    [DAO giống như giao diện sử dụng của một cái máy mà cái máy đó có thể sử dụng nhiều loại cấu trúc mạch điện khác nhau, thậm chí có cách tổ chức cũng khác nhau. Ta chỉ cần yêu cầu nó tương tác với mạch điện nào thì nó sẽ tự hiểu phải dùng cách nào để liên kết với mạch điện đó.]

    Vậy trước khi muốn thực hiện các cấu trúc truy vấn SQL, chúng ta phải tạo kết nối đối với dữ liệu đã.
    ' Đây là câu lệnh kết nối với Mdb
    Dim dbs as Database
    Set dbs=Opendatabase("C:\Mydb.mdb")
    Với trường hợp CSDL có mật khẩu thì
    Set Dbs = OpenDatabase("C:\Mydb.mdb", True, False, "MS Access;UID='Admin';PWD=123")
    ...
    'Tuy nhiên, có một đặc điểm bạn cần lưu ý nhé, hiện nay DAO đã không còn được sử dụng nhiều như trước vì DAO không đáp ứng được yêu cầu về quy mô và môi trường sử dụng (Máy đơn hay mạng). Có lẽ vì thế mà DAO 3.6 đã dừng lại ở phiên bản access2000. Nếu bạn muốn làm việc với cơ sở dữ liệu mới hơn thì .... ôi thôi - chỉ còn cách là chuyển đổi cơ sở dữ liệu đó về access200 thôi.
    Sau khi kết nối rồi bạn có thể bắt đầu các câu lệnh truy vấn của mình như Insert, Select ...., hoặc bạn cũng có thể khai báo đối tượng recordset .. để lấy dữ liệu.
    Ví dụ:
    dbs.execute "Delete * from [tbl_Mytable] where [ID]=1;"
    Hoặc dbs.Execute "Create table tbl_test(ID Autoincrement, fldName Text(255));"
    Hoặc kết nối với recordset
    Dim rs as recordset
    set rs=dbs.openrecordset("Select * from tbl_Mytable where ID=2;")
    Tất nhiên là còn nhiều nữa, và nếu bạn muốn biết thêm, có lẽ nên chịu khó vào mạng và đọc thêm.
    B. Kết nối dùng ADODB hay ADO mà tiền thân của nó là RDO
    Chi tiết về ADODB có lẽ tôi sẽ bàn đến sau, chỉ có điều ADODB cho phép chúng ta làm việc với môi trường cơ sở dữ liệu lớn hơn, hỗ trợ nhiều người dùng và môi trường mạng.
    Định nghĩa ở đây: [http://www.pcmag.com/encyclopedia_te...=37541,00.asp]
    Một số ví dụ ở đây:
    * http://www.carlprothman.net/Default.aspx?tabid=81
    * http://www.asp101.com/articles/john/...ng/default.asp
    + Tạo kết nối
    Dim dbCon as ADODB.Connection ' Khai báo kết nối
    Dim conStr as String ' Chuỗi kết nối
    conStr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Mydb.mdb; User ID=admin; Password=123;"
    dbcon.open constr ' Kết nối thế này
    ' Và đây là cách update....
    dbcon.Execute "CREATE TABLE table_1 (Numbers char, Letter char)"
    dbcon.Execute "INSERT INTO table_1 VALUES ('1','a')"
    dbcon.Execute "INSERT INTO table_1 VALUES ('2','b')"
    dbcon.Execute "INSERT INTO table_1 VALUES ('3','c')"
    dbcon.Close
    set dbcon=nothing
    Túm lại là thế nhỉ, nếu bạn có gì chưa rõ thì hỏi thêm nhé!
    Nay Kính thư

  10. #60
    Tham gia
    08-07-2004
    Bài viết
    192
    Like
    0
    Thanked 14 Times in 14 Posts
    Hôm nay mình lại mạn phép gửi 2 ví dụ liên quan đến khả năng làm báo cáo động tuyệt vời của access.
    Bài viết chi tiết nằm trong một thread của webketoan.
    http://www.webketoan.com/forum/showthread.php?t=11087
    Địa chỉ ví dụ ở đây nhé
    www.sfdp.net/Libs/gen/acc/Grid_Rpt.zip
    www.sfdp.net/Libs/gen/acc/report1.zip
    Có gì thì các bạn cứ đặt câu hỏi, mình sẽ trả lời.
    Nay kính thư...

Trang 6 / 12 FirstFirst ... 345678911 ... LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • 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
  •