Làm th? nào đ? truy v?n và C?p Nh?t Excel d? li?u b?ng cách s? d?ng ADO t? ASP

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 195951 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài vi?t này ch?ng t? làm th? nào đ? truy v?n và C?p Nh?t thông tin trong m?t b?ng tính Excel s? d?ng ActiveX Data Objects (ADO) t? m?t Active Server Pages (ASP) trang. Bài vi?t c?ng mô t? nh?ng h?n ch? mà có liên quan v?i lo?i ?ng d?ng.

Quan tr?ng: m?c dù Các ?ng d?ng ASP/ADO h? tr? đa ngư?i dùng truy c?p, m?t b?ng tính Excel không. V? v?y, phương pháp này c?a câu và c?p nh?t thông tin h? tr? nhi?u ngư?i s? d?ng truy c?p đ?ng th?i.

THÔNG TIN THÊM

Đ? truy c?p d? li?u trong b?ng tính Excel c?a b?n cho vi?c này m?u, s? d?ng tr?nh đi?u khi?n ODBC Microsoft cho Excel. T?o ra m?t b?ng đ? truy c?p vào các d? li?u b?ng cách t?o ra m?t lo?t các Named trong b?ng tính Excel c?a b?n.

Các bư?c đ? t?o ?ng d?ng m?u

  • T?o t?p tin Excel ADOtest.xls v?i d? li?u sau trong sheet1:

    Thu g?n b?ng nàyBung r?ng b?ng này
    column1column2column3
    RR Đi?u này15
    BBth? nghi?m20
    EEtác ph?m25

    Chú ý N?u m?t c?t trong b?ng tính Excel c?a b?n có ch?a c? hai văn b?n và s? đi?n tho?i, tr?nh đi?u khi?n Excel ODBC không chính xác gi?i thích ki?u d? li?u mà các c?t nên. H?y đ?m b?o r?ng t?t c? các ô trong m?t c?t c?a các cùng m?t ki?u d? li?u. Ba l?i sau đây có th? x?y ra n?u m?i t? bào trong m?t c?t không ph?i là c?a cùng lo?i ho?c b?n đ? lo?i h?n h?p gi?a "văn b?n" và "chung":
    1. Microsoft OLE DB Provider cho tr?nh đi?u khi?n ODBC l?i '80040e21'
      Thu?c tính yêu c?u không th? đư?c h? tr? b?i tr?nh đi?u khi?n ODBC.
    2. Microsoft OLE DB Provider cho tr?nh đi?u khi?n ODBC l?i '80004005'
      Truy v?n không ph?i là updateable v? nó có không có c?t t?m ki?m đư?c s? d?ng như m?t ch?a khóa hy v?ng.
    3. Microsoft OLE DB Provider cho tr?nh đi?u khi?n ODBC l?i '80004005'
      Truy v?n d?a C?p Nh?t không thành công. D?ng C?p Nh?t không t?m th?y.
  • T?o m?t ph?m vi Named, myRange1, trong b?ng tính c?a b?n:

    1. Làm n?i b?t khu v?c row(s) và column(s) nơi d? li?u c?a b?n cư trú.
    2. Trên menu chèn, tr? đ?n tên, và nh?p vào Xác đ?nh.
    3. Nh?p myRange1 tên cho d?y Named Tên.
    4. Bấm OK.
    MyRange1 Named Range ch?a d? li?u sau:

    Thu g?n b?ng nàyBung r?ng b?ng này
    column1column2column3
    RRĐi?u này15
    BBth? nghi?m20
    EEtác ph?m25


    Chú ý ADO gi? đ?nh r?ng hàng đ?u trong m?t truy v?n Excel có ch?a các đ? m?c c?t. Do đó, ph?m vi Named ph?i bao g?m các đ? m?c c?t. Đây là hành vi khác nhau t? DAO.

    Chú ý Đ? m?c c?t không th? là m?t s?. Không th? đi?u khi?n Excel gi?i thích chúng, và thay vào đó, tr? l?i m?t t? bào tham kh?o. Ví d?, m?t c?t tiêu đ? c?a "f1" s? đư?c misinterpreted.
  • T?o m?t ODBC h? th?ng d? li?u ngu?n tên (DSN) tr? đ?n các t?p tin ADOTest.xls.
    1. T? b?ng đi?u khi?n, m? ODBC Ngư?i qu?n tr?.
    2. Trên tab DSN h? th?ng, b?m thêm.
    3. Ch?n Microsoft Excel Driver (*.xls) và b?m hoàn t?t. N?u tùy ch?n này không t?n t?i, b?n c?n ph?i cài đ?t tr?nh đi?u khi?n Microsoft ODBC cho Excel t? thi?t l?p Excel.
    4. Ch?n ADOExcel cho tên ngu?n d? li?u.
    5. Đ?m b?o r?ng các phiên b?n đư?c thi?t l?p đ? phiên b?n đúng c?a Excel.
    6. B?m vào "Ch?n Workbook...", duy?t đ?n ADOTest.xls t?p tin, và nh?n OK.
    7. Nh?p vào các "tùy ch?n >>" nút và r? ràng "đ?c Ch?"h?p ki?m.
    8. Nh?p OK và sau đó nh?p OK m?t l?n n?a.
  • Thi?t l?p quy?n truy c?p vào các t?p tin ADOTest.xls.
Trang ch? ho?t đ?ng c?a b?n đư?c truy c?p n?c danh, b?n ph?i đ?m b?o r?ng các tài kho?n chưa xác đ?nh ngư?i (IUSR_<machinename>) có ít Đ?c/ghi (RW) quy?n truy c?p vào b?ng tính. N?u b?n mu?n xóa b? thông tin t? b?ng tính, b?n c?n đ? c?p quy?n truy c?p cho phù h?p.<b00></b00></machinename>

N?u b?n đang ch?ng th?c quy?n truy c?p vào trang ch? ho?t đ?ng c?a b?n, b?n c?n ph?i đ?m b?o r?ng t?t c? ngư?i dùng truy c?p vào ?ng d?ng c?a b?n có thích h?p c?p phép.

Chú ý N?u b?n không thi?t l?p cho phép thích h?p trên các b?ng tính, b?n s? có đư?c m?t thông báo l?i tương t? như sau:

Microsoft OLE DB Provider cho tr?nh đi?u khi?n ODBC l?i '80004005'

[Microsoft][ODBC Excel Driver] Máy bay ph?n l?c Microsoft cơ s? d? li?u không th? m? t?p '(không bi?t)'. Nó đ? đư?c m? ra đ?c quy?n b?i ngư?i dùng khác, ho?c b?n c?n s? cho phép đ? xem d? li?u c?a nó.
  1. T?o m?t trang ASP m?i và dán trong đo?n m? sau:
          <!-- Begin ASP Source Code -->
          <%@ LANGUAGE="VBSCRIPT" %>
          <%
            Set objConn = Server.CreateObject("ADODB.Connection")
            objConn.Open "ADOExcel"
    
            Set objRS = Server.CreateObject("ADODB.Recordset")
            objRS.ActiveConnection = objConn
            objRS.CursorType = 3                    'Static cursor.
            objRS.LockType = 2                      'Pessimistic Lock.
            objRS.Source = "Select * from myRange1"
            objRS.Open
       %>
       <br>
       <%
          Response.Write("Original Data")
    
          'Printing out original spreadsheet headings and values.
    
          'Note that the first recordset does not have a "value" property
          'just a "name" property.  This will spit out the column headings.
    
          Response.Write("<TABLE><TR>")
          For X = 0 To objRS.Fields.Count - 1
             Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
          Next
          Response.Write("</TR>")
          objRS.MoveFirst
    
          While Not objRS.EOF
             Response.Write("<TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.write("<TD>" & objRS.Fields.Item(X).Value)
             Next
             objRS.MoveNext
             Response.Write("</TR>")
          Wend
          Response.Write("</TABLE>")
    
          'The update is made here
    
          objRS.MoveFirst
          objRS.Fields(0).Value = "change"
          objRS.Fields(1).Value = "look"
          objRS.Fields(2).Value = "30"
          objRS.Update
    
          'Printing out spreadsheet headings and values after update.
    
          Response.Write("<br>Data after the update")
          Response.Write("<TABLE><TR>")
          For X = 0 To objRS.Fields.Count - 1
             Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
          Next
          Response.Write("</TR>")
          objRS.MoveFirst
    
          While Not objRS.EOF
             Response.Write("<TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.write("<TD>" & objRS.Fields.Item(X).Value)
             Next
             objRS.MoveNext
             Response.Write("</TR>")
          Wend
          Response.Write("</TABLE>")
    
          'ADO Object clean up.
    
          objRS.Close
          Set objRS = Nothing
    
          objConn.Close
          Set objConn = Nothing
       %>
       <!-- End ASP Source Code -->
    					
  2. Ti?t ki?m và tên trang ch? ho?t đ?ng c?a b?n và xem nó trong các tr?nh duy?t. B?n s? th?y nh?ng đi?u sau đây:
          Original Data:
    
          column1    column2    column3
          -----------------------------
    
          rr         this       30
          bb         test       20
          tt         works      25
    
    
          Data after the update:
    
          column1    column2    column3
          -----------------------------
    
          change     look       30
          bb         test       20
          tt         works      25
    					
Chú ý M?t b?n C?p Nh?t đư?c th?c hi?n trên hàng đ?u tiên c?a ph?m vi Named c?a b?n (sau các đ? m?c).

THAM KH?O

Để biết thêm thông tin, bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
190195Làm th? nào đ? ExtractInformation t? Excel t? v?i DAO

Thu?c tính

ID c?a bài: 195951 - L?n xem xét sau cùng: 20 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Active Server Pages 4.0
  • Microsoft Data Access Components 2.5
T? khóa: 
kbcode kbhowto kbmdacnosweep kbmt KB195951 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:195951

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com