ms office แบบไปกลับ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 609   13
URL.หัวข้อ / URL
ms office แบบไปกลับ

มี 2 คำถามค่ะ 
คำถาม accee > excel 
filename: empaccess.mdb 
table: employee 
field : id,name,salary 
record1:่1,pranee,30000; 
record2:2,pranom,35000; 
record3:3,prayong,38000; 
 
รวมเป็นเงิน                     :103000 
                     
ถ้า ต้องการกดปุ่มแล้วส่งข้อมูลไปพิมพ์ที่ ไฟล์ excel แบบมี previewดูก่อนได้ 
filename : empexcel.xls ต้องเตรียมไฟล์ และ Code แบบใด ยากหรือเปล่า 
************************ 
คำถามที่ 2 
access > word 
เหมือนคำถามที่ 1 
แต่ ส่งไปที่ file : empword.doc 
 
 
           

13 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R00201
ต้องขออภัยที่เข้ามาตอบช้า เนื่องจากเมื่อคืนฝนตก เลยทำให้ไฟดับ ผมไม่สามารถเข้าเว็บได้เลย จนกระทั่ง 10 โมง เมื่อเช้านี้เอง มาถึงคำตอบกันดีกว่าครับ ถ้าเป็นงานลักษณะนี้ ควรจะทำใน Access เพราะจะทำให้ง่ายในการจัดการ แต่ถ้าต้องการก็สามารถจะทำได้ครับ ปกติผมจะส่งข้อมูลไปพิมพ์ออกทั้ง Word และ Excel แต่จะเป็นงานที่ซับซ้อนมากๆ เช่น การพิมพ์จดหมายเวียน (mailmerge) ที่มีการจัดหน้าที่ซับซ้อน มีการใช้ฟ้อนท์ที่มีการจัดรูปแบบ เช่น ตัวหนา เอียงในบรรทัดเดียวกัน การตัดคำ เป็นต้น ส่วนการส่งข้อมูลไป Excel ผมจะใช้กับรายงานที่มีความซับซ้อนเช่นกัน เช่น การพิมพ์รายงานขนาด A3 และมีการจัดหน้าแบบไม่ทราบจำนวนฟีลด์ที่จะพิมพ์ออกแน่นอน ที่ผมใช้จะเป็นการพิมพ์ใบเสนอราคาของครุภัณฑ์ของการประมูลต่างๆ ซึ่งเราจะไม่ทราบเลยว่าจะมีผู้ประมูลแต่ละรายการมากน้อยแค่ไหน และมักจะให้พิมพ์ออกมาในแนวขวาง เพื่อให้การเปรียบเทียบผู้ประมูลแต่ละรายได้ดีขึ้น พูดมาเสียยาว เริ่มเลยนะครับ วิธีแรก การส่งข้อมูลออกไป Excel อันดับแรกต้องไปสร้างไฟล์เป้าหมายก่อน คือ empexcel.xls ลองเปิดเข้าไปดูจากตัวอย่างข้างล่างนะครับ แล้วใส่โค้ดต่อไปนี้ลงไป Private Sub cmdExport2Excel_Click() Dim dbs As Database, rst As Recordset Dim I As Integer, J As Integer, X As Integer Dim Workbook As Object, xlApp As Object, Sheet As Object Dim strAppPath As String Set dbs = CurrentDb strAppPath = ap_AppDir + "empexcel.xls" Set rst = dbs.OpenRecordset("tblSalary") If Not rst.EOF Then rst.MoveLast rst.MoveFirst Set xlApp = CreateObject("Excel.Application") Set Sheet = xlApp.workbooks.Open(strAppPath).sheets(1) 'Make Excel visible xlApp.Visible = True 'Run a macro named ClearAll, to clear all data 'xlApp.Application.Run "ClearAll" X = 3 For J = 1 To rst.RecordCount ' Sheet.cells(X + J, 1).Value = rst(0) ' Sheet.cells(X + J, 1).HorizontalAlignment = 3 ' Sheet.cells(X + J, 1).Borders.LineStyle = 0 ' Sheet.cells(X + J, 1).Borders.Weight = 2 ' Sheet.cells(X + J, 2).Value = rst(1) ' Sheet.cells(X + J, 2).Borders.LineStyle = 0 ' Sheet.cells(X + J, 2).Borders.Weight = 2 ' Sheet.cells(X + J, 3).Value = Format(rst(2), "#,##0.00") ' Sheet.cells(X + J, 3).Borders.LineStyle = 0 ' Sheet.cells(X + J, 3).Borders.Weight = 2 For I = 1 To rst.Fields.Count If I = rst.Fields.Count Then Sheet.Cells(X + J, I).Value = Format(rst(I - 1), "#,##0.00") Else Sheet.Cells(X + J, I).Value = rst(I - 1) End If If I = 1 Then Sheet.Cells(X + J, I).HorizontalAlignment = 3 End If Sheet.Cells(X + J, I).Borders.LineStyle = 0 Sheet.Cells(X + J, I).Borders.LineStyle = 0 Next I rst.MoveNext Next J Sheet.Cells(X + J, 2).Value = "รวมเป็นเงินทั้งสิ้น" Sheet.Range("A" & X + J & ":B" & X + J).SELECT xlApp.Selection.Merge xlApp.Selection.HorizontalAlignment = -4108 ' xlCenter Sheet.Range("A" & X + J & ":B" & X + J).Borders.LineStyle = 0 Sheet.Range("A" & X + J & ":B" & X + J).Borders.Weight = 3 Sheet.Cells(X + J, 3).FormulaR1C1 = "=SUM(R[-" & X + J - 4 & "]C:R[-1]C)" Sheet.Cells(X + J, 3).Borders.LineStyle = 0 Sheet.Cells(X + J, 3).Borders.Weight = 3 'Print the Microsoft Excel spreadsheet. 'Sheet.PrintOut MsgBox "ปิดไฟล์ Excel?", vbOKOnly 'Close workbook without saving. xlApp.activeworkbook.Saved = True xlApp.activeworkbook.Close Set Sheet = Nothing xlApp.Quit Set xlApp = Nothing Else MsgBox "ไม่มีข้อมูล", vbOKOnly, "No Records!" End If Set rst = Nothing Set dbs = Nothing End Sub วิธีที่สอง การส่งข้อมูลออกไป Word ต้องไปสร้างไฟล์เป้าหมาย คือ empword.doc ไว้เช่นกัน ดูจากตัวอย่างที่แนบมาด้วยครับ จากตัวอย่าง ผมจะพิมพ์หัวไว้ก่อน แล้วเคาะลงไป 3 บรรทัด เพื่อให้เริ่มใส่ตารางจากตรงนี้เป็นต้นไป Private Sub cmdExport2Word_Click() Dim dbs As Database, rst As Recordset, I As Integer Dim objWord As Object, strNum As Integer, strName As String, dblSal As String Dim strFileName As String Set dbs = CurrentDb Set rst = dbs.OpenRecordset("tblSalary") If Not rst.EOF Then rst.MoveLast rst.MoveFirst strFileName = ap_AppDir + "empword.doc" Set objWord = CreateObject("Word.Application") With objWord .Visible = True .Documents.Open FileName:=strFileName ' Range:=Selection.Range .Selection.EndKey Unit:=6 'wdStory, simulate Ctrl + End to go to the end of this page ' where we want to insert a table with 3 columns .ActiveDocument.Tables.Add Range:=.Selection.Range, NumRows:=2, NumColumns:= _ 3, DefaultTableBehavior:=1, AutoFitBehavior:=0 .Application.Keyboard (1054) ' Press ~ to change to Thai .Selection.TypeText Text:="ลำดับที่" .Selection.ParagraphFormat.Alignment = 1 'wdAlignParagraphCenter .Selection.MoveRight Unit:=12 'wdCell, press Tab key .Selection.TypeText Text:="รายชื่อ" .Selection.ParagraphFormat.Alignment = 1 'dAlignParagraphCenter .Selection.MoveRight Unit:=12 .Selection.TypeText Text:="เงินเดือน" .Selection.ParagraphFormat.Alignment = 1 .Selection.MoveLeft Unit:=1, Count:=3, Extend:=1 .Selection.HomeKey Unit:=5, Extend:=1 .Selection.MoveLeft Unit:=1, Count:=2, Extend:=1 .Selection.Font.Bold = True 'wdToggle .Selection.MoveLeft Unit:=1, Count:=1 .Selection.MoveDown Unit:=5, Count:=1 For I = 1 To rst.RecordCount strNum = I .Selection.TypeText CStr(strNum) .Selection.ParagraphFormat.Alignment = 1 .Selection.MoveRight Unit:=12 .Application.Keyboard (1033) strName = rst(1) .Selection.TypeText Text:=strName .Selection.ParagraphFormat.Alignment = 0 ' AlignLeft .Selection.MoveRight Unit:=12 dblSal = Format(rst(2), "#,##0.00") .Selection.TypeText Text:=CStr(dblSal) .Selection.ParagraphFormat.Alignment = 2 ' AlignRight .Selection.MoveRight Unit:=12 rst.MoveNext Next I '.Run MacroName:="ShowFont" .Selection.MoveRight Unit:=12 .Selection.HomeKey Unit:=5, Extend:=1 .Selection.MoveLeft Unit:=2, Count:=1, Extend:=1 .Selection.Cells.Merge .Application.Keyboard (1054) .Selection.TypeText Text:="รวมเป็นเงินทั้งสิ้น" .Selection.ParagraphFormat.Alignment = 1 ' AlignCenter .Selection.MoveRight Unit:=12 .Selection.InsertFormula Formula:="=SUM(ABOVE)", NumberFormat:="#,##0.00" .Selection.ParagraphFormat.Alignment = 2 ' AlignRight End With MsgBox "Finished" ' Don't save the file objWord.ActiveDocument.Saved = True objWord.ActiveDocument.Close ' Quit Word objWord.Quit Set objWord = Nothing Else MsgBox "ไม่มีข้อมูล", vbOKOnly, "No Records!" End If Set rst = Nothing Set dbs = Nothing End Sub เทคนิคที่ผมใช้ศึกษา ผมจะเข้าไปใน Word หรือ Excel แล้วลองทำงานต่างๆ โดยใช้ Macro ให้บันทึกการทำงานไว้ จากนั้นค่อยเข้าไปเปิดดู แล้วนำมาใช้ใน Access ได้เกือบทันที เพียงแต่เปลี่ยนค่าคงที่ของ Word กับ Excel ให้เป็นตัวเลขก่อน เช่น Sheet.cells(X + J, 1).Borders.Weight = xlHairline จะเท่ากับ Sheet.cells(X + J, 1).Borders.Weight = 1 โดยการ copy คำว่า xlHairline แล้วเปิด Object Browser ซึ่งอยู่ใน Visual Basic Editor แล้ว paste ลงไปในช่อง Search Text แล้วกด Enter เราก็จะเห็นว่า ค่าคงที่ของ xlHairline คือ 1 นั่นเอง และตัวอย่างจริงอยู่ที่ http://agserver.kku.ac.th/basiceng/Export2WordExcel.zip ครับ ในไฟล์จะมีไฟล์ประกอบด้วย 3 ไฟล์ ให้ทำการ unzip แล้วเก็บไว้ในห้องเดียวกัน เมื่อคลิกที่ปุ่ม โปรแกรมจะหาไฟล์เป้าหมายเอง ลองดูซิว่า มีฟังก์ชันตัวไหนที่ช่วยให้การหาไฟล์เป้าหมายได้ครับ
2 @R00202
ต้องขออภัยที่เข้ามาตอบช้า เนื่องจากเมื่อคืนฝนตก เลยทำให้ไฟดับ ผมไม่สามารถเข้าเว็บได้เลย จนกระทั่ง 10 โมง เมื่อเช้านี้เอง มาถึงคำตอบกันดีกว่าครับ ถ้าเป็นงานลักษณะนี้ ควรจะทำใน Access เพราะจะทำให้ง่ายในการจัดการ แต่ถ้าต้องการก็สามารถจะทำได้ครับ ปกติผมจะส่งข้อมูลไปพิมพ์ออกทั้ง Word และ Excel แต่จะเป็นงานที่ซับซ้อนมากๆ เช่น การพิมพ์จดหมายเวียน (mailmerge) ที่มีการจัดหน้าที่ซับซ้อน มีการใช้ฟ้อนท์ที่มีการจัดรูปแบบ เช่น ตัวหนา เอียงในบรรทัดเดียวกัน การตัดคำ เป็นต้น ส่วนการส่งข้อมูลไป Excel ผมจะใช้กับรายงานที่มีความซับซ้อนเช่นกัน เช่น การพิมพ์รายงานขนาด A3 และมีการจัดหน้าแบบไม่ทราบจำนวนฟีลด์ที่จะพิมพ์ออกแน่นอน ที่ผมใช้จะเป็นการพิมพ์ใบเสนอราคาของครุภัณฑ์ของการประมูลต่างๆ ซึ่งเราจะไม่ทราบเลยว่าจะมีผู้ประมูลแต่ละรายการมากน้อยแค่ไหน และมักจะให้พิมพ์ออกมาในแนวขวาง เพื่อให้การเปรียบเทียบผู้ประมูลแต่ละรายได้ดีขึ้น พูดมาเสียยาว เริ่มเลยนะครับ วิธีแรก การส่งข้อมูลออกไป Excel อันดับแรกต้องไปสร้างไฟล์เป้าหมายก่อน คือ empexcel.xls ลองเปิดเข้าไปดูจากตัวอย่างข้างล่างนะครับ แล้วใส่โค้ดต่อไปนี้ลงไป Private Sub cmdExport2Excel_Click() Dim dbs As Database, rst As Recordset Dim I As Integer, J As Integer, X As Integer Dim Workbook As Object, xlApp As Object, Sheet As Object Dim strAppPath As String Set dbs = CurrentDb strAppPath = ap_AppDir + "empexcel.xls" Set rst = dbs.OpenRecordset("tblSalary") If Not rst.EOF Then rst.MoveLast rst.MoveFirst Set xlApp = CreateObject("Excel.Application") Set Sheet = xlApp.workbooks.Open(strAppPath).sheets(1) 'Make Excel visible xlApp.Visible = True 'Run a macro named ClearAll, to clear all data 'xlApp.Application.Run "ClearAll" X = 3 For J = 1 To rst.RecordCount ' Sheet.cells(X + J, 1).Value = rst(0) ' Sheet.cells(X + J, 1).HorizontalAlignment = 3 ' Sheet.cells(X + J, 1).Borders.LineStyle = 0 ' Sheet.cells(X + J, 1).Borders.Weight = 2 ' Sheet.cells(X + J, 2).Value = rst(1) ' Sheet.cells(X + J, 2).Borders.LineStyle = 0 ' Sheet.cells(X + J, 2).Borders.Weight = 2 ' Sheet.cells(X + J, 3).Value = Format(rst(2), "#,##0.00") ' Sheet.cells(X + J, 3).Borders.LineStyle = 0 ' Sheet.cells(X + J, 3).Borders.Weight = 2 For I = 1 To rst.Fields.Count If I = rst.Fields.Count Then Sheet.Cells(X + J, I).Value = Format(rst(I - 1), "#,##0.00") Else Sheet.Cells(X + J, I).Value = rst(I - 1) End If If I = 1 Then Sheet.Cells(X + J, I).HorizontalAlignment = 3 End If Sheet.Cells(X + J, I).Borders.LineStyle = 0 Sheet.Cells(X + J, I).Borders.LineStyle = 0 Next I rst.MoveNext Next J Sheet.Cells(X + J, 2).Value = "รวมเป็นเงินทั้งสิ้น" Sheet.Range("A" & X + J & ":B" & X + J).SELECT xlApp.Selection.Merge xlApp.Selection.HorizontalAlignment = -4108 ' xlCenter Sheet.Range("A" & X + J & ":B" & X + J).Borders.LineStyle = 0 Sheet.Range("A" & X + J & ":B" & X + J).Borders.Weight = 3 Sheet.Cells(X + J, 3).FormulaR1C1 = "=SUM(R[-" & X + J - 4 & "]C:R[-1]C)" Sheet.Cells(X + J, 3).Borders.LineStyle = 0 Sheet.Cells(X + J, 3).Borders.Weight = 3 'Print the Microsoft Excel spreadsheet. 'Sheet.PrintOut MsgBox "ปิดไฟล์ Excel?", vbOKOnly 'Close workbook without saving. xlApp.activeworkbook.Saved = True xlApp.activeworkbook.Close Set Sheet = Nothing xlApp.Quit Set xlApp = Nothing Else MsgBox "ไม่มีข้อมูล", vbOKOnly, "No Records!" End If Set rst = Nothing Set dbs = Nothing End Sub วิธีที่สอง การส่งข้อมูลออกไป Word ต้องไปสร้างไฟล์เป้าหมาย คือ empword.doc ไว้เช่นกัน ดูจากตัวอย่างที่แนบมาด้วยครับ จากตัวอย่าง ผมจะพิมพ์หัวไว้ก่อน แล้วเคาะลงไป 3 บรรทัด เพื่อให้เริ่มใส่ตารางจากตรงนี้เป็นต้นไป Private Sub cmdExport2Word_Click() Dim dbs As Database, rst As Recordset, I As Integer Dim objWord As Object, strNum As Integer, strName As String, dblSal As String Dim strFileName As String Set dbs = CurrentDb Set rst = dbs.OpenRecordset("tblSalary") If Not rst.EOF Then rst.MoveLast rst.MoveFirst strFileName = ap_AppDir + "empword.doc" Set objWord = CreateObject("Word.Application") With objWord .Visible = True .Documents.Open FileName:=strFileName ' Range:=Selection.Range .Selection.EndKey Unit:=6 'wdStory, simulate Ctrl + End to go to the end of this page ' where we want to insert a table with 3 columns .ActiveDocument.Tables.Add Range:=.Selection.Range, NumRows:=2, NumColumns:= _ 3, DefaultTableBehavior:=1, AutoFitBehavior:=0 .Application.Keyboard (1054) ' Press ~ to change to Thai .Selection.TypeText Text:="ลำดับที่" .Selection.ParagraphFormat.Alignment = 1 'wdAlignParagraphCenter .Selection.MoveRight Unit:=12 'wdCell, press Tab key .Selection.TypeText Text:="รายชื่อ" .Selection.ParagraphFormat.Alignment = 1 'dAlignParagraphCenter .Selection.MoveRight Unit:=12 .Selection.TypeText Text:="เงินเดือน" .Selection.ParagraphFormat.Alignment = 1 .Selection.MoveLeft Unit:=1, Count:=3, Extend:=1 .Selection.HomeKey Unit:=5, Extend:=1 .Selection.MoveLeft Unit:=1, Count:=2, Extend:=1 .Selection.Font.Bold = True 'wdToggle .Selection.MoveLeft Unit:=1, Count:=1 .Selection.MoveDown Unit:=5, Count:=1 For I = 1 To rst.RecordCount strNum = I .Selection.TypeText CStr(strNum) .Selection.ParagraphFormat.Alignment = 1 .Selection.MoveRight Unit:=12 .Application.Keyboard (1033) strName = rst(1) .Selection.TypeText Text:=strName .Selection.ParagraphFormat.Alignment = 0 ' AlignLeft .Selection.MoveRight Unit:=12 dblSal = Format(rst(2), "#,##0.00") .Selection.TypeText Text:=CStr(dblSal) .Selection.ParagraphFormat.Alignment = 2 ' AlignRight .Selection.MoveRight Unit:=12 rst.MoveNext Next I '.Run MacroName:="ShowFont" .Selection.MoveRight Unit:=12 .Selection.HomeKey Unit:=5, Extend:=1 .Selection.MoveLeft Unit:=2, Count:=1, Extend:=1 .Selection.Cells.Merge .Application.Keyboard (1054) .Selection.TypeText Text:="รวมเป็นเงินทั้งสิ้น" .Selection.ParagraphFormat.Alignment = 1 ' AlignCenter .Selection.MoveRight Unit:=12 .Selection.InsertFormula Formula:="=SUM(ABOVE)", NumberFormat:="#,##0.00" .Selection.ParagraphFormat.Alignment = 2 ' AlignRight End With MsgBox "Finished" ' Don't save the file objWord.ActiveDocument.Saved = True objWord.ActiveDocument.Close ' Quit Word objWord.Quit Set objWord = Nothing Else MsgBox "ไม่มีข้อมูล", vbOKOnly, "No Records!" End If Set rst = Nothing Set dbs = Nothing End Sub เทคนิคที่ผมใช้ศึกษา ผมจะเข้าไปใน Word หรือ Excel แล้วลองทำงานต่างๆ โดยใช้ Macro ให้บันทึกการทำงานไว้ จากนั้นค่อยเข้าไปเปิดดู แล้วนำมาใช้ใน Access ได้เกือบทันที เพียงแต่เปลี่ยนค่าคงที่ของ Word กับ Excel ให้เป็นตัวเลขก่อน เช่น Sheet.cells(X + J, 1).Borders.Weight = xlHairline จะเท่ากับ Sheet.cells(X + J, 1).Borders.Weight = 1 โดยการ copy คำว่า xlHairline แล้วเปิด Object Browser ซึ่งอยู่ใน Visual Basic Editor แล้ว paste ลงไปในช่อง Search Text แล้วกด Enter เราก็จะเห็นว่า ค่าคงที่ของ xlHairline คือ 1 นั่นเอง และตัวอย่างจริงอยู่ที่ http://agserver.kku.ac.th/basiceng/Export2WordExcel.zip ครับ ในไฟล์จะมีไฟล์ประกอบด้วย 3 ไฟล์ ให้ทำการ unzip แล้วเก็บไว้ในห้องเดียวกัน เมื่อคลิกที่ปุ่ม โปรแกรมจะหาไฟล์เป้าหมายเอง ลองดูซิว่า มีฟังก์ชันตัวไหนที่ช่วยให้การหาไฟล์เป้าหมายได้ครับ
3 @R00203
ขอบคุณมากค่ะ แล้วจะหาข้อมูลเกี่ยวกับการ เขียนโปรแกรมสั่งงานข้ามไปมา word ,excel ,access ,powerpoint แบบนี้ได้ที่ไหน ตาม website ,แผ่น cd , textbook ขอคำแนะนำด้วยค่ะ อีกอย่างก็คือ เมื่อไรจะมีหนังสือคุณสุภาพวางจำหน่าย จะต้องซื้อไว้แน่นอน
4 @R00204
ส่วนมากจะมีตัวอย่างธรรมดาให้เราเป็นตัวอย่าง เพื่อจะได้ศึกษาต่อได้ครับ อย่างที่ผมบอกคือ ให้ทำการบันทึก Macro ในโปรแกรมนั้น แล้วเปิดดูโค้ดว่ามีอะไรบ้าง จากนั้นก็ให้ปรับใช้ดู ตัวอย่างที่ผมได้ศึกษาเป็นต้นแบบจะมาจาก Microsoft เอง เช่นที่ http://support.microsoft.com/support/kb/articles/Q219/0/54.ASP?LN=EN-US&SD=gn&FR=0&qry=Sending%20the%20Current%20Record%20to%20Word%2097%20with%20Automation&rnk=2&src=DHCS_MSPSS_gn_SRCH&SPR=ACC97 ในนั้นจะมีลิงค์บทความที่เกี่ยวข้องอื่นๆ ด้วย ลองเข้าไปอ่านดู และอย่าลืมเปิดดูลิ้งค์ที่อยู่ท้ายๆ ด้วย ลองค้นด้วยคำว่า interoperability ผลที่ออกมาจะเป็นดังนี้ครับ http://search.support.microsoft.com/search/default.aspx?Catalog=LCID%3D1033%26CDID%3DEN-US-KB%26PRODLISTSRC%3DON&Product=accENG&Query=interoperability&Queryc=interoperability&REF=false&srchstep=0&KeywordType=PHRASE&Titles=false&numDays=&maxResults=150 มีตัวอย่างที่น่าสนใจมาก ส่วนหนังสือนั้นจะพยายามทำให้เร็วที่สุดครับ แต่ตอนนี้ผมติดงานพัฒนาเว็บฯ 2 รายการอยู่ครับ ขอบคุณที่จะให้การต้อนรับเป็นอย่างดี ยังไงก็แนะนำมาได้ว่าอยากให้เขียนในรูปแบบไหน ที่ผมตั้งใจไว้ก็คือ Q&A ถาม/ตอบ ครับ
5 @R00205
Download file ไปลองแล้วค่ะ ไฟล์ excel ตรงตามที่ต้องการเลยค่ะ ขอบคุณคุณสุภาพมากนะค๊ะ ขอบคุณจริงๆค่ะ ไฟล์ word ลองแล้วแต่มัน error เปิดไปเจอ error แจ้งไว้ตรงบรรทัดเหล่านี้ .ActiveDocument.Tables.Add Range:=.Selection.Range, NumRows:=2, NumColumns:= _ 3, DefaultTableBehavior:=1, AutoFitBehavior:=0 ข่วยดูให้ด้วยนะ อยากดูผลงานจริงๆ เห็นแล้วทึ่งจริงๆ ขอบคุณอีกครั้งค่ะ แล้วจะเข้าไป download ใหม่
6 @R00206
ผม Run ในเครื่องฯ ผมจะผ่านทั้ง 2 ตัว เดี๋ยวผมจะลองทำในเครื่องฯ อื่นๆ ดู ว่าจะเกิดปัญหาเหมือนกันหรือไม่ หรือถ้าท่านอื่นได้ลองใช้ดูแล้ว เกิดปัญหาเหมือนกันหรือเปล่า อยากให้ช่วยรายงานด้วยครับ ข้อมูลเบื้องต้นของผมคือ ผมใช้ Windows 2000 Server, Access97, WordXP ข้อมูลเบื้องต้นของคุณศริญญาเป็นอย่างไรบ้างครับ
7 @R00207
ผมเจอแล้วครับ ปัญหาอยู่ตรงที่สีแดงครับ .ActiveDocument.Tables.Add Range:=.Selection.Range, NumRows:=2, NumColumns:= _ 3 ', DefaultTableBehavior:=1, AutoFitBehavior:=0 ใน Word 97 จะไม่มีส่วนนี้ เลยทำให้เครื่องฯ หยุดที่ตรงนี้ วิธีแก้ก็ให้ทำการใส่เครื่องหมาย ' ไว้ข้างหน้าเหมือนตัวอย่าง หรือจะลบส่วนสีแดงออกไปเลยก็ได้ ปัญหาก็จะหาไปครับ ผมได้ลองกับ Word 97 แล้ว OK ครับ
8 @R00208
ขออภัย สีแดงไม่ออก เอาใหม่นะครับ .ActiveDocument.Tables.Add Range:=.Selection.Range, NumRows:=2, NumColumns:= _ 3 ', DefaultTableBehavior:=1, AutoFitBehavior:=0
9 @R00209
ได้แล้วค่ะ ขอบคุณมากค่ะ ขอบคุณที่สละเวลา ตอบคำถามใน webboard นี้นะค๊ะ ตอนนี้ในประเทศไทย คิดว่า webboard access ที่นี่ดีที่สุดค่ะ ดีกว่า pantip มากเลย ขอบคุณอีกครั้งค่ะ
10 @R00346
สวัสดีครับอาจารย์ครับ ไม่ทราบว่าถ้า file Excel อยู่คนละ folder กับ Database และขณะที่ให้ Access Export ข้อมูลไปนั้น ให้ Show Dialogbox เพื่อให้เราเลือก folder ที่เก็บ File Excel นั้นจะได้หรือเปล่าครับ
11 @R00347
ลองดูตัวอย่าง http://agserver.kku.ac.th/basiceng/Computer/download/ShowPic.zip หรือ http://www.saicomsystems.com/database/list2.zip จะมีโค้ดในการเรียก Dialog Box ในการ Browse หาไฟล์อยู่ครับ ลองนำไปประยุกต์ใช้ดู มีปัญหาอะไรก็โพสต์เข้ามาได้อีกครับ
12 @R00457
สวัสดีครับอาจารย์ครับ ถ้าผมต้องการให้เริ่มวางข้อมูลที่ Cell C7 และ Cell E7 มี format เป็น วันที่ dd/mmm/yy จะต้องไปเปลี่ยน Code ตรงไหนบ้างครับ
13 @R00458
ลองเปลี่ยนค่าในวงเล็บตรง X+J และ I ดูนะครับ Sheet.Cells(X + J, I).Value = Format(rst(I - 1), "dd/mmm/yy") ลองปรับดูนะครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0461s