Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Query ve ADO, ASP'Kimden [NULL]'ı kullanarak güncelleştirme, Excel'in verileri nasıl

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:195951
Özet
Bu makalede, sorgu ve güncelleştirme bilgileri, bir Active Server Pages (ASP) sayfasından ActiveX Data Objects (ADO) kullanarak bir Excel elektronik tablosu gösterilmiştir. Bu makalede ayrıca bu tür bir uygulama ile ilişkili sınırlamaları anlatılmaktadır.

ÖNEMLI: ASP/ADO uygulamalar, çok kullanıcılı erişim desteği olmasa da, bir Excel elektronik tablosu yok. Bu nedenle, çok kullanıcılı eşzamanlı erişim sorgulamak ve bu bilgileri güncelleştirmek için bu yöntemi desteklemiyor.
Daha fazla bilgi
Bu örnek için bir Excel Elektronik tablonuzda veriye erişmek için <a0></a0>, Excel için Microsoft ODBC sürücüsü'ni kullanın. Excel Elektronik tablonuzu bir adlandırılmış aralık oluşturarak, veriye erişmek için bir tablo oluşturun.

Örnek uygulama oluşturmak için gereken adımları

  • ADOtest.xls Excel dosyasının Sayfa1'de aşağıdaki verileri oluşturun:

    column1column2column3
    RR Bu15
    bbSınama20
    EEWorks25

    Not Excel Elektronik tablonuzda bir sütun hem metin hem de sayılar içeriyorsa, Excel ODBC sürücüsü veri türü sütun olmalıdır doğru olarak yorumlayamaz. Bir sütunun tüm hücreleri aynı veri türü olduğundan emin olun. Her bir sütun hücresine aynı tür veya karma arasında "metin" ve "Genel" sahip değilse, aşağıdaki üç hataları oluşabilir:
    1. Microsoft OLE DB Provider for ODBC sürücüleri hata '80040e21'
      Istek özellikleri bu ODBC sürücüsü tarafından desteklenebilir değil.
    2. ODBC Sürücüler için Microsoft OLE DB Sağlayıcısı hatası '80004005'
      Zevklidir anahtar olarak kullanmak için aranabilir hiçbir sütun içerdiğinden sorgu güncelleştirilemez.
    3. ODBC Sürücüler için Microsoft OLE DB Sağlayıcısı hatası '80004005'
      Sorgu tabanlı güncelleştirme başarısız oldu. Güncelleştirilecek satır bulunamadı.
  • Bir adlandırılmış aralık myRange1, Elektronik tablonuzda oluşturun:

    1. Verilerinizin bulunduğu alan satırları ve sütunları seçin.
    2. Ekle menüsünden Ad'ın üzerine gelin ve Tanımla'yı tıklatın.
    3. Ad aralığının adı myRange1 girin adı.
    4. Tamam'ı tıklatın.
    Adlandırılmış aralık myRange1 aşağıdaki verileri içerir:

    column1column2column3
    RRBu15
    bbSınama20
    EEWorks25


    Not ADO, bir Excel sorgusu ilk satırı sütun başlıkları bulunduğunu varsayar. Bu nedenle, adlandırılmış aralık, sütun başlıklarını eklemeniz gerekir. Farklı bir DAO davranış budur.

    Not Sütun başlıkları, bir sayı olamaz. Excel sürücüsü, bunları yorumlayamadığı ve bunun yerine, bir hücre başvurusunu verir. Örneğin, bir sütun başlığı olarak "F1" misinterpreted.
  • Bir ODBC sistem veri kaynağı adı (ADOTest.xls dosyaya işaret DSN) oluşturun.
    1. ODBC Denetim Masası'ndan açma yönetici.
    2. Sistem DSN sekmesinde Ekle'yi tıklatın.
    3. Microsoft Excel Driver (*.xls) seçin ve sonra Finish'i (son) tıklatın. Bu seçenek yoksa, Microsoft ODBC sürücüsü Excel için Excel kurulumundan yüklemeniz gerekir.
    4. ADOExcel için veri kaynağı adını seçin.
    5. Sürüm Excel sürümüne doğru olarak ayarlandığından emin olun.
    6. "Çalışma kitabı Seç..."'ı tıklatın, için ADOTest.xls göz dosya ve Tamam'ı tıklatın.
    7. Tıklatın "Seçenekleri >>" düğmesini tıklatın ve "Salt okunur" onay kutusunu temizleyin.
    8. Tamam'ı tıklattıktan sonra yine Tamam'ı tıklatın.
  • Izinler ADOTest.xls dosyasını gösterir.
Active Server Sayfası'nı anonim olarak erişilebilen, anonim hesabın (ıusr_ <machinename>) en az olduğundan emin olmanız gerekir (RW) okuma/yazma erişimi elektronik tablo. Elektronik tablodaki bilgileri silmek isterseniz, uygun izinleri gerekir.

Active Server Sayfası'nı için erişim kimlik doğrulaması, uygulamanızın erişen tüm kullanıcılara uygun izinlere sahip olduğunuzdan emin olmak gerekir.

Not Elektronik tabloda uygun izinleri ayarlamak, hata iletisi aşağıdakine benzer alırsınız:

ODBC Sürücüler için Microsoft OLE DB Sağlayıcısı hatası '80004005'

[Microsoft][ODBC Excel sürücüsü] Microsoft Jet Veritabanı Altyapısı '(bilinmiyor)' dosyasını açamıyor. Dosya bir başka kullanıcı tarafından özel kullanımda açılmış veya verileri görebilmeniz için yetkiniz yok.
  1. Yeni bir ASP sayfası oluşturun ve aşağıdaki kodu yapıştırın:
          <!-- 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. Kaydetmek ve Active Server Sayfası'nı adlandırın ve sonra da bunu tarayıcıda görüntülemek. Aşağıdaki görürsünüz:
          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					
Not Güncelleştirme, bir adlandırılmış aralık ilk satırı (sonra başlıkları) gerçekleştirildi.
Referanslar
Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
190195Güvenlik açığının nasıl ExtractInformation DAO ile Excel sayfası kaynağı

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 195951 - Son İnceleme: 07/01/2004 20:48:45 - Düzeltme: 5.2

Microsoft ActiveX Data Objects 1.0, Microsoft ActiveX Data Objects 1.5, Microsoft ActiveX Data Objects 2.0, Microsoft ActiveX Data Objects 2.1 Service Pack 2, Microsoft ActiveX Data Objects 2.5, Microsoft Active Server Pages 4.0, Microsoft Data Access Components 2.5

  • kbmt kbcode kbhowto kbmdacnosweep KB195951 KbMttr
Geri bildirim