אינך במצב לא מקוון כעת, ממתין לחיבור לאינטרנט

כיצד לייבא נתונים מ- Microsoft SQL Server ל- Microsoft Excel

התמיכה עבור Office 2003 הסתיימה

Microsoft סיימה את התמיכה עבור Office 2003 ב-8 באפריל 2014. שינוי זה השפיע על עדכוני התוכנה ואפשרויות האבטחה שלך. למד על מה זה אומר בשבילך ועל איך להישאר מוגן.

תקציר
מדריך שלב אחר שלב זה מתאר כיצד לייבא נתונים לתוך Microsoft Excel ממסד הנתונים Pubs, מסד נתונים לדוגמה הכלול ב- Microsoft SQL Server.

ActiveX Data Objects ‏(ADO) מספק גישה למקור נתונים מכל סוג. זהו מודל אובייקט שטוח עם מעט אובייקטים. האובייקטים הראשיים במודל אובייקט ADO הם:
   אובייקט          תיאור   -----------------------------------------------------------------------   Connection      מתייחס לחיבור למקור הנתונים.   Recordset       מתייחס לנתונים המחולצים.   Command         מתייחס לפרוצדורה מאוחסנת או למשפטי SQL                     שאותם יש לבצע.				
על אף שקיימות דרכים רבות להחזרת Recordset באמצעות ADO, מאמר זה מתרכז באובייקטים Connection ו- Recordset.

דרישות

דרוש שרת מקומי שבו פועל Microsoft SQL Server, אשר מכיל את מסד הנתונים Pubs.

Microsoft ממליצה להיות בעל ידע בתחומים הבאים:
  • יצירת פרוצדורות של Visual Basic for Applications בתוכניות Office.
  • עבודה עם משתני אובייקטים.
  • עבודה עם אובייקטים של Excel.
  • המושגים של Relational Database Management Systems ‏(RDBMS).
  • משפטי SELECT של Structured Query Language ‏(SQL)

הפניה לספריית האובייקטים של ADO

  1. הפעל את Excel. פתח חוברת עבודה חדשה ולאחר מכן שמור אותה בשם SQLExtract.xls.
  2. הפעל את Visual Basic Editor ובחר בפרויקט VBA שעליו אתה עובד.
  3. בתפריט כלים , לחץ על הפניות.
  4. לחץ כדי לבחור בגירסה העדכנית ביותר של תיבת הסימון Microsoft ActiveX Data Objects Library .

יצירת החיבור

  1. הוסף מודול חדש לפרויקט.
  2. צור פרוצדורת משנה חדשה בשם DataExtract.
  3. הקלד או הדבק את הקוד שלהלן:
    ‎‎' Create a connection object.Dim cnPubs As ADODB.ConnectionSet cnPubs = New ADODB.Connection' Provide the connection string.Dim strConn As String'Use the SQL Server OLE DB Provider.strConn = "PROVIDER=SQLOLEDB;"'Connect to the Pubs database on the local server.strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"'Use an integrated login.strConn = strConn & " INTEGRATED SECURITY=sspi;"'Now open the connection.cnPubs.Open strConn					

חילוץ הנתונים

הקלד או הדבק את הקוד שלהלן כדי לחלץ את הרשומות שלך:
‎‎' Create a recordset object.Dim rsPubs As ADODB.RecordsetSet rsPubs = New ADODB.RecordsetWith rsPubs	' Assign the Connection object.	.ActiveConnection = cnPubs	' Extract the required records.	.Open "SELECT * FROM Authors"	' Copy the records into cell A1 on Sheet1.	Sheet1.Range("A1").CopyFromRecordset rsPubs		' Tidy up	.CloseEnd WithcnPubs.CloseSet rsPubs = NothingSet cnPubs = Nothing				

בדיקה שהקוד פועל

  1. הפעל את הקוד.
  2. עבור ל- Excel ועיין בגיליון 1 בחוברת העבודה כדי להציג את הנתונים.

פתרון בעיות

אם נראה שהקוד נתקע ומופיעה שגיאת זמן ריצה, ייתכן ששרת מסד הנתונים מושבת. באפשרותך להשתמש במאפיין ConnectionTimeout כדי לקבוע את הזמן הדרוש להחזרת שגיאת זמן ריצה. הגדר מאפיין זה לערך גדול מאפס. אם תגדיר את הערך לאפס, החיבור לא יסתיים לעולם. ערך ברירת המחדל הוא 15 שניות.
מידע נוסף
באפשרותך לאתר קוד דוגמה נוסף על-ידי חיפוש באתר האינטרנט הבא של Microsoft:
acc2002 xl2002 XL2003 XL2007
מאפיינים:

מזהה פריט: 306125 - סקירה אחרונה: 04/29/2008 13:13:30 - תיקון: 4.1

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition

  • kbhowtomaster KB306125
משוב