วิธีการแยกข้อมูลจากแผ่นงาน Excel กับ DAO

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 190195 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

โปรแกรมควบคุม ISAM Excel ไม่แบบไดนามิกแปลง datatypes

ข้อมูลเพิ่มเติม

หากมีคอลัมน์ในกระดาษคำนวณของ Excel ที่ประกอบด้วยข้อความและหมายเลข ISAM จะไม่สามารถแปลชนิดข้อมูลใดควรจะได้อย่างถูกต้อง ตรวจสอบให้แน่ใจว่า เซลล์ทั้งหมดที่อยู่ในคอลัมน์ถูกจัดรูปแบบเป็น ชนิดข้อมูลเดียวกัน ตัวอย่างเช่น คุณอาจมีต่อไปนี้ของข้อมูลในคอลัมน์ที่สี่ในแผ่นงาน Excel:
   male   female children teens
   11     cc     78       ee
   22     xx     33       ff
   45     uu     56       oo
				

ถ้าคุณพยายามที่จะอ่านข้อมูลผ่าน ISAM ไดรเวอร์จากแผ่นงานทั้งหมด คุณจะได้รับค่า null สำหรับแถวแรก ถ้าคุณต้องการหลีกเลี่ยงปัญหานี้ สร้างช่วงที่มีชื่อ: หนึ่งประกอบด้วยเฉพาะข้อมูลส่วนหัวและอีกหนึ่งที่ประกอบด้วยข้อมูลข้อมูล ตัวอย่าง::
   named range 'myRange1' :
   male     female    children     teens

   named range 'myRange2' :
   11   cc   78   ee
   22   xx   33   ff
   45   uu   56   oo
				

ขณะนี้ คุณสามารถเชื่อมต่อกับ Excel และร้องขอข้อมูลจากเฉพาะการตั้งชื่อช่วงเท่านั้น อย่างไรก็ตาม ในช่วงที่หนึ่ง คอลัมน์เฉพาะประกอบด้วยชนิดข้อมูลเดียวเท่านั้น

วิธีการสร้างช่วงการ

ทำตามขั้นตอนเหล่านี้เพื่อสร้างช่วง:
  1. เน้นข้อมูล
  2. จากแถบเมนู คลิกแทรกแล้ว คลิกชื่อ:.
  3. คลิกกำหนดแล้ว คลิกชื่อของช่วง.
หมายเหตุ::กระบวนการอ้างอิงถึงกล่องจะอ้างอิงไปยังช่วงของคุณถูกเน้นอยู่ ซึ่งจะขยาย และลดขนาด ตามที่มีแทรก และลบข้อมูล

เมื่อต้องการดึงข้อมูลของคุณ ใช้ชื่อของช่วงที่คุณเพิ่งสร้างขึ้นสำหรับชื่อของตารางในคำสั่งที่มีการเลือกของคุณ

ขั้นตอนของ Excel

  1. สร้างแฟ้ม Excel, test.XLS ด้วยข้อมูลต่อไปนี้ใน sheet1:
       excel File : test.xls with the following entries:
    
            male  female    children   teens
             11    cc       78           ee
             22    xx       33           ff
             45    uu       56           oo
    					
  2. สร้างช่วงที่มีชื่อ myRange1 และ myRange2 ในแผ่นงานประกอบด้วยข้อมูลที่เหมาะสม
          named range : myRange1
    
          male female children teens
    
          named range  : myRange2
    
          11     cc   78   ee
          22     xx   33   ff
          45     uu   56   oo
    
    					

ขั้นตอนของ visual Basic

  1. สร้างใหม่มาตรฐาน EXE โครงการเรียกว่า "DAO_EXCEL"
  2. จากนั้นProjectเมนู คลิกอ้างอิง:แล้ว เลือกนั้นไลบรารี Microsoft DAO 3.5กล่องกาเครื่องหมาย
  3. วางเป็น CommandButton บนแบบฟอร์ม
  4. วางรหัสต่อไปนี้ในหน้าต่างรหัสแบบฟอร์ม:
          private Sub Command_click1
    
          im dbtmp As DAO.Database
          im tblObj As DAO.TableDef
          im rs As DAO.Recordset
    
          et dbtmp = OpenDatabase_
               ("<complete path>\test.xls", False, True, "Excel 8.0;")
    
          DoEvents
    
          Set rs = dbtmp.OpenRecordset("select * from `myRange2`")
          While Not rs.EOF
              For x = 0 To rs.Fields.Count - 1
                  Debug.Print rs.Fields(x).Value
              Next
              rs.MoveNext
          Wend
          End Sub
    
          Note the reverse apostrophe "`" while specifying the range
          name(myrange2).
    
    					
ผลลัพธ์ต่อไปนี้ได้ตามที่คาดไว้:
  11
  cc
  78
  ee
  22
  xx
  33
  ff
  45
  uu
  56
  oo
				

ข้อมูลอ้างอิง

โปรดดูเอกสารประกอบสำหรับวิธีการเชื่อมต่อไปยัง Excel ผ่าน DAO การอ้างอิงที่ดีอื่นจะ ADO มาถึง->อ้างอิงของ Excel

คุณสมบัติ

หมายเลขบทความ (Article ID): 190195 - รีวิวครั้งสุดท้าย: 7 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Keywords: 
kbdatabase kbhowto kbiisam kbmt KB190195 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:190195

ให้ข้อเสนอแนะ

 

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