กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
705 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
คำถาม 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")
ลองปรับดูนะครับ
Time: 0.3161s