أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية الاستعلام والبيانات Excel تحديث باستخدام ADO من ASP

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية195951
الموجز
يوضح هذا المقال كيفية الاستعلام وتحديث معلومات في جدول بيانات Excel باستخدام كائنات بيانات ActiveX (ADO) من صفحة صفحات ملقم النشطة (ASP). كما توضح هذه المقالة القيود المقترنة مع هذا النوع من التطبيق.

هام: رغم تطبيقات ASP/ADO دعم الوصول متعدد المستخدمين, جدول بيانات Excel لا. ولذلك، لا يدعم هذا الأسلوب من الاستعلام عن معلومات وتحديث الوصول المتزامنة متعدد المستخدمين.
معلومات أخرى
للوصول إلى البيانات في جدول بيانات Excel الخاصة بك للحصول على هذه العينة ، استخدم برنامج تشغيل ODBC Microsoft Excel. إنشاء جدول للوصول إلى البيانات عن طريق إنشاء نطاق مسمى في جدول Excel.

خطوات إنشاء تطبيق نموذج

  • إنشاء ملف Excel ADOtest.xls مع البيانات التالية في sheet1:

    column1column2column3
    rr هذا15
    bbاختبار20
    عرضيعمل25

    ملاحظة إذا كان عمود في جدول Excel يحتوي على النص والأرقام لا يستطيع برنامج تشغيل ODBC Excel بشكل صحيح تفسير نوع البيانات الذي يجب أن يكون العمود. الرجاء التأكد من أن كافة الخلايا في عمود من نفس نوع البيانات. يمكن أن تحدث الأخطاء الثلاثة التالية إذا لم تكن كل خلية في عمود من نفس النوع أو لديك أنواع مختلطة بين "النص" و "عام":
    1. موفر Microsoft OLE DB لـ خطأ برامج تشغيل ODBC '80040e21'
      يمكن أن تكون خصائص الطلب غير معتمدة من قبل برنامج تشغيل ODBC هذا.
    2. موفر Microsoft OLE DB لـ خطأ برامج تشغيل ODBC '80004005'
      الاستعلام غير قابل للتحديث لأنه يحتوي على أي أعمدة قابلة للبحث فيها استخدام المفتاح بكثير.
    3. موفر Microsoft OLE DB لـ خطأ برامج تشغيل ODBC '80004005'
      فشل تحديث المستندة إلى استعلام. تعذر العثور على الصف إلى تحديث.
  • إنشاء نطاق مسمى myRange1, في جدول البيانات:

    1. تمييز ناحية الصف (الصفوف) "و" العمود (الأعمدة) حيث توجد البيانات الخاصة بك.
    2. في القائمة إدراج، أشر إلى اسم ثم انقر فوق تعريف.
    3. أدخل myRange1 اسم النطاق المسمى اسم.
    4. انقر فوق موافق.
    myRange1 نطاق مسمى يحتوي على البيانات التالية:

    column1column2column3
    rrهذا15
    bbاختبار20
    عرضيعمل25


    ملاحظة يفترض ADO الصف الأول في استعلام Excel تحتوي على رؤوس الأعمدة. لذلك، يجب أن يتضمن نطاق مسمى عناوين الأعمدة. هذا هو السلوك مختلفة من DAO.

    ملاحظة لا يمكن أن تكون عناوين الأعمدة عدداً. برنامج تشغيل Excel لا يمكن ترجمة هذه وإرجاع ، بدلاً من ذلك مرجع خلية. على سبيل المثال، عنوان عمود من "F1" تفسيره بشكل غير صحيح.
  • إنشاء ODBC النظام اسم مصدر البيانات (DSN) يشير إلى ملف ADOTest.xls.
    1. من "لوحة التحكم،" افتح ODBC المسؤول.
    2. في علامة التبويب "نظام DSN" ، انقر فوق إضافة.
    3. حدد برنامج تشغيل Microsoft Excel (*.xls) ثم انقر فوق "إنهاء". في حالة عدم وجود هذا الخيار تحتاج إلى تثبيت برنامج تشغيل ODBC Microsoft Excel من برنامج الإعداد "Excel.
    4. اختيار ADOExcel اسم مصدر البيانات.
    5. تأكد من تعيين الإصدار إلى الإصدار الصحيح من Excel.
    6. انقر فوق "تحديد... المصنف" ، واستعرض وصولاً إلى ADOTest.xls الملف ثم انقر فوق موافق.
    7. انقر فوق "خيارات >>" الزر وقم بإلغاء تحديد خانة الاختيار "للقراءة فقط".
    8. انقر فوق موافق ثم انقر فوق موافق مرة أخرى.
  • تعيين الأذونات على الملف ADOTest.xls.
إذا كان لديك "صفحة الملقم النشطة" يتم الوصول إليها من قبل مجهول, تحتاج إلى التأكد من أن "الحساب المجهول" (IUSR_ <machinename>) لديه على الأقل القراءة/الكتابة (RW) الوصول إلى جدول البيانات. إذا كنت تريد حذف معلومات من جدول البيانات تحتاج إلى منح الأذونات وفقاً لذلك.

إذا كان يتم مصادقة الوصول إلى "صفحة الملقم النشطة" الخاصة بك ، عليك التأكد من أن كافة المستخدمين الذين يصلون إلى التطبيق الخاص بك أن يكون لديك الأذونات المناسبة.

ملاحظة إذا لم تعيّن الأذونات المناسبة على جدول البيانات ستتلقى رسالة خطأ مشابهة لما يلي:

موفر Microsoft OLE DB لـ برامج تشغيل ODBC الخطأ '80004005'

[Microsoft][برنامج تشغيل Excel ODBC] Microsoft Jet لا يمكن فتح مشغل قاعدة بيانات ملف '(غير معروف)'. مفتوحة مسبقاً بشكل خاص من قبل مستخدم آخر أو تحتاج إلى إذن لعرض بياناته.
  1. إنشاء صفحة ASP جديدة ولصقها في التعليمة البرمجية التالية:
          <!-- 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. حفظ اسم "صفحة الملقم النشطة" الخاصة بك ثم عرضها في المستعرض. ستشاهد التالي:
          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					
ملاحظة تم إجراء تحديث على الصف الأول من نطاق مسمى (بعد العناوين).
مراجع
للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
190195كيفية ExtractInformation من ورقة Excel مع DAO

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 195951 - آخر مراجعة: 07/01/2004 20:48:45 - المراجعة: 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 KbMtar
تعليقات
t=">html>ref="http://go.microsoft.com/fwlink/?LinkID=206977" ms.title="شروط الاستخدام" class="ctl_footerNavLink" data-bi-name="Footer_TermsOfUse" data-bi-slot="1"> شروط الاستخدام
  • الخصوصية وملفات تعريف الارتباط
  • العلامات التجارية
  • © 2016 Microsoft
  • /c1.microsoft.com/c.gif?DI=4050&did=1&t=">d=1&t="> var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("