กระทู้เก่าบอร์ด อ.Yeadram
        
           2,488   7		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        import from excel sheet 2      
    
      คือผมมีปัญหาในการเขียน code หรือ macro ในการ import ข้อมูล จาก 
excel ที่ไม่ได้อยู่ sheet แรก
คือผมเขียนแบบ basic
DoCmd.TransferSpreadsheet
มันจะ import มาแต่ sheet แรก
แต่ผมต้องการ import sheet ที่ 2,3... ด้วย
ใครพอแนะนำได้ไหมครับ
ขอบคุณล่วงหน้า
    
  excel ที่ไม่ได้อยู่ sheet แรก
คือผมเขียนแบบ basic
DoCmd.TransferSpreadsheet
มันจะ import มาแต่ sheet แรก
แต่ผมต้องการ import sheet ที่ 2,3... ด้วย
ใครพอแนะนำได้ไหมครับ
ขอบคุณล่วงหน้า
				7 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R05110    
        
  
      เรียน สมาชิกทุกท่าน
ในตัวอย่างที่ผมส่งไปให้ที่ [email protected] มีตัวอย่าง Code อื่นๆ ติดไปด้วยเผื่อว่า สมาชิกท่านใดต้องการจะนำไปต่อยอดอีก
ลองแกะดูนะครับ
    
    
  ในตัวอย่างที่ผมส่งไปให้ที่ [email protected] มีตัวอย่าง Code อื่นๆ ติดไปด้วยเผื่อว่า สมาชิกท่านใดต้องการจะนำไปต่อยอดอีก
ลองแกะดูนะครับ
        
    3 @R05125    
        
  
      อาจไม่อัตโนมัติเท่าไหร่ แต่ก็พอให้ทำงานได้ ก็คือเลื่อน sheet2 มาไว้เป็นลำดับแรกใน workbook แล้ว save ไฟล์ไป ก่อนสั่งด้วย  DoCmd.TransferSpreadsheet   
สรุปคือ จะ Import Sheet ไหน ก็เลื่อนมาไว้เป็นอันดับแรกเสีียก่อน
    
  สรุปคือ จะ Import Sheet ไหน ก็เลื่อนมาไว้เป็นอันดับแรกเสีียก่อน
        
    4 @R05133    
        
       เข้าใจครับ แต่อยากได้แบบอัตโนมัติหนะครับ เพราะจะทำไปให้ user ใช้
  เข้าใจครับ แต่อยากได้แบบอัตโนมัติหนะครับ เพราะจะทำไปให้ user ใช้
เดี๋ยวลองหา code ดู อาจต้องยุ่งยากสักหน่อย
ก็อาจจะใช้ผลมผสานกับ code ที่คุณ ศรีนคร แนะนำมา
คุณศรีนครครับ
พอดี code ที่โหลดมามีอยู่บรรทัดนึงเขียนว่า sleep
เข้าใจว่าเป็น api แต่มันเอาไว้ทำอะไรครับ ใช่เป็นการหน่วงเวลาหรือเปล่า
    
  
   เข้าใจครับ แต่อยากได้แบบอัตโนมัติหนะครับ เพราะจะทำไปให้ user ใช้
  เข้าใจครับ แต่อยากได้แบบอัตโนมัติหนะครับ เพราะจะทำไปให้ user ใช้
เดี๋ยวลองหา code ดู อาจต้องยุ่งยากสักหน่อย
ก็อาจจะใช้ผลมผสานกับ code ที่คุณ ศรีนคร แนะนำมา
คุณศรีนครครับ
พอดี code ที่โหลดมามีอยู่บรรทัดนึงเขียนว่า sleep
เข้าใจว่าเป็น api แต่มันเอาไว้ทำอะไรครับ ใช่เป็นการหน่วงเวลาหรือเปล่า
        
    5 @R05135    
        
  
      ถูกต้องครับ 
ผมใส่ไปเพื่อหน่วงเวลาเล็กน้อย แล้วให้ฟอร์มปิดตัวเอง มันจะให้ความรู้สึกที่ดีกว่า ที่ Import แล้วปิดไปเลย หรือ เวลาที่ User โอนข้อมูลเสร็จแล้วค่อยปิด
ประมาณว่า เป็นส่วนหนึ่งของ GUI..
    
    
  ผมใส่ไปเพื่อหน่วงเวลาเล็กน้อย แล้วให้ฟอร์มปิดตัวเอง มันจะให้ความรู้สึกที่ดีกว่า ที่ Import แล้วปิดไปเลย หรือ เวลาที่ User โอนข้อมูลเสร็จแล้วค่อยปิด
ประมาณว่า เป็นส่วนหนึ่งของ GUI..
        
    6 @R05138    
        
  
      ลองแกะดูครับ ผมเคยใช้เขียน import / export ข้อมูลจากเอ็กซ์เซลไฟล
เดี๋ยวส่งไฟล์ไปที่ accboard@gmail ไว้ให้ครับ
' Excel object variables
Dim appExcel As Excel.Application
Dim Wbk As Excel.Workbook
Dim wks As Excel.Worksheet
Dim sFileImport As String
Dim i As Integer
Dim j As Integer
   
Dim dbs As DAO.Database
Dim rst1 As DAO.Recordset
Const cTabTwo As Byte = 2 'Sheet 1 = 1 ; Sheet 2 = 2 Sheet 3 = 3
Const cStartRow As Byte = 2
Const cStartColumn As Byte = 1
   
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM " & "Table1" & ";"
DoCmd.SetWarnings True
   
sFileImport = CurrentProject.Path & "\EXCELSheet.xls"
Set appExcel = CreateObject("Excel.Application")
Set Wbk = appExcel.Workbooks.Open(sFileImport)
Set wks = appExcel.Worksheets(cTabTwo)
   
Set dbs = CurrentDb
Set rst1 = dbs.OpenRecordset("Table1")
With rst1
   
For i = 1 To wks.UsedRange.Rows.Count
.AddNew
!f1 = wks.Cells(i, 1)
!f2 = wks.Cells(i, 2)
.Update
  
Next i
End With
  
rst1.Close
dbs.Close
Set wks = Nothing
Set Wbk = Nothing
appExcel.Workbooks.Close
End Sub
    
  เดี๋ยวส่งไฟล์ไปที่ accboard@gmail ไว้ให้ครับ
' Excel object variables
Dim appExcel As Excel.Application
Dim Wbk As Excel.Workbook
Dim wks As Excel.Worksheet
Dim sFileImport As String
Dim i As Integer
Dim j As Integer
Dim dbs As DAO.Database
Dim rst1 As DAO.Recordset
Const cTabTwo As Byte = 2 'Sheet 1 = 1 ; Sheet 2 = 2 Sheet 3 = 3
Const cStartRow As Byte = 2
Const cStartColumn As Byte = 1
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM " & "Table1" & ";"
DoCmd.SetWarnings True
sFileImport = CurrentProject.Path & "\EXCELSheet.xls"
Set appExcel = CreateObject("Excel.Application")
Set Wbk = appExcel.Workbooks.Open(sFileImport)
Set wks = appExcel.Worksheets(cTabTwo)
Set dbs = CurrentDb
Set rst1 = dbs.OpenRecordset("Table1")
With rst1
For i = 1 To wks.UsedRange.Rows.Count
.AddNew
!f1 = wks.Cells(i, 1)
!f2 = wks.Cells(i, 2)
.Update
Next i
End With
rst1.Close
dbs.Close
Set wks = Nothing
Set Wbk = Nothing
appExcel.Workbooks.Close
End Sub
        
    7 @R05151    
        
    
      ขออนุญาติ reply ก่อนนะครับ
วันอังคารจะลองแกะดู แล้วจะมารายงานผล
แทงกิ๊วขอรับ
    
  วันอังคารจะลองแกะดู แล้วจะมารายงานผล
แทงกิ๊วขอรับ
      Time: 0.0604s
    
      
		
ขอเวลาไปหาตัวอย่าง Code แป็บหนึ่ง จริงๆ แล้วผมได้สร้างเป็น Module ไว้หลายแบบ สำหรับ Link กับข้อมูลได้ หลากหลายแต่ขอกั๊กไว้หน่อยคงไม่ว่ากันนะ
เดี๋ยวมา