Page 1 of 2

Save As in Access

Posted: Sat Oct 26, 2019 4:23 pm
by siamsrising

Code: Select all

Private Sub cmdResult_Click()
Dim answer(70) As String
answer(1) = "A"
answer(2) = "C"
answer(3) = "C"
answer(4) = "C"
answer(5) = "C"
answer(6) = "A"
answer(7) = "C"
answer(8) = "C"
answer(9) = "A"
answer(10) = "D"
answer(11) = "A"
answer(12) = "A"
answer(13) = "C"
answer(14) = "A"
answer(15) = "B"
answer(16) = "B"
answer(17) = "D"
answer(18) = "B"
answer(19) = "A"
answer(20) = "A"
answer(21) = "B"
answer(22) = "B"
answer(23) = "A"
answer(24) = "B"
answer(25) = "B"
answer(26) = "B"
answer(27) = "A"
answer(28) = "A"
answer(29) = "A"
answer(30) = "B"
answer(31) = "B"
answer(32) = "A"
answer(33) = "B"
answer(34) = "B"
answer(35) = "A"
answer(36) = "A"
answer(37) = "B"
answer(38) = "A"
answer(39) = "B"
answer(40) = "B"
answer(41) = "A"
answer(42) = "C"
answer(43) = "C"
answer(44) = "C"
answer(45) = "C"
answer(46) = "A"
answer(47) = "C"
answer(48) = "C"
answer(49) = "A"
answer(50) = "D"
answer(51) = "A"
answer(52) = "A"
answer(53) = "C"
answer(54) = "A"
answer(55) = "B"
answer(56) = "B"
answer(57) = "D"
answer(58) = "B"
answer(59) = "A"
answer(60) = "A"
answer(61) = "B"
answer(62) = "B"
answer(63) = "A"
answer(64) = "B"
answer(65) = "B"
answer(66) = "B"
answer(67) = "A"
answer(68) = "A"
answer(69) = "A"
answer(70) = "B"

Dim Score As Integer
Dim i As Integer
Score = 0
For i = 1 To 70
If ChoiceSelected(i) = answer(i) Then
Score = Score + 1
End If
Next
Dim strSQL As String
strSQL = "INSERT INTO tblScore(SName,Score) VALUES("
strSQL = strSQL & "'" & SName & "',"
strSQL = strSQL & "" & Score & ")"
Dim comm As New ADODB.Command
With comm
.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActivePresentation.Path & "\Score Qc.accdb" & ";Persist Security Info=False;"
.CommandText = strSQL
.CommandType = adCmdText
.Execute
End With
MsgBox ("Complete! Your score is " & Score)
ActivePresentation.SlideShowWindow.View.GotoSlide (1)
End Sub

ผมต้องการบันทึก ชื่อ คะแนนและวันเวลา ของพนักงาน ไปไว้ที่ \\192.168.1.17\Sharing Files\Test GF 2020\Score Qc.accdb และเมื่อคนต่อไปทำการสอบข้อมูลก็จะบันทึกลงต่อๆกันไปเรื่อยๆครับ รบวนอาจารย์ช่วยดูให้หน่อยครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:27 pm
by snasui
:D ปัจจุบันปัญหาคืออะไรกรุณาแจ้งรายละเอียดมาด้วยครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:27 pm
by siamsrising
ปัญหาคือข้อมูลไม่สามารถบันทึกได้ครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:28 pm
by snasui
:D โปรแกรมฟ้องว่าอะไร มีภาพหรือไม่ ถ้ามีแนบมาด้วยครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:31 pm
by siamsrising
ขึ้นแบบนี้ครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:43 pm
by snasui
:D เข้าเมนู Tools > References > เลือก Microsoft ActiveX Data Objects 2.8 Library หรือสูงกว่า จากนั้นลอง Run Code ใหม่ครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:51 pm
by siamsrising
ได้แล้วครับ ผมสงใสครับเรากำหนดโค๊ดตรงไหนเพื่อเซฟครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:56 pm
by snasui
:D กรุณาแก้คำว่า "สงใส" ให้เป็นข้อความที่ถูกต้อง กรุณาทบทวนกฎการใช้บอร์ดทุกข้อด้านบนครับ :roll:

Re: Save As in Access

Posted: Sat Oct 26, 2019 4:58 pm
by siamsrising
ด้แล้วครับ ผมสงสัยครับเรากำหนดโค๊ดตรงไหนเพื่อเซฟครับ
-ผมยากให้เซฟชื่อชีตที่ทำลงไปใน Access ด้วยครับ Score Qc.accdb

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:05 pm
by snasui
siamsrising wrote: Sat Oct 26, 2019 4:58 pm ด้แล้วครับ
:D แก้ไขข้อความให้เป็นคำที่ถูกต้องด้วยครับ

กรณีโพสต์ไปแล้วไม่เกิน 60 นาที สามารถทำการแก้ไขข้อความสามารถโดยคลิกที่ดินสอมุมขวาบนของกล่องข้อความแล้วทำการแก้ไขใหม่แทนการโพสต์ใหม่ทั้งหมดได้ครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:07 pm
by siamsrising
ได้แล้วครับ ผมสงสัยครับเรากำหนดโค๊ดตรงไหนเพื่อเซฟครับ
-ผมยากให้เซฟชื่อชีตที่ทำลงไปใน Access ด้วยครับ Score Qc.accdb

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:12 pm
by snasui
:D ไม่ต้องกำหนดให้ Save การ Record ข้อมูลลงใน Database ไม่กำหนดว่าต้อง Save เพราะการ Record คือการ Save ไปในตัวอยู่แล้ว

บรรทัดใดใน Code ที่เป็นการ Record ข้อมูล บรรทัดนั้นเราสามารถที่จะเพิ่มค่าที่จะบันทึกเข้าไปได้ แต่จะต้องมีคอลัมน์รองรับครับ

จาก Statement ที่โพสต์มา ภายในเครื่องหมายวงเล็บเปิด-ปิดของคำว่า VALUES คือค่าที่ใช้บันทึกลงไปใน Database หากจะเพิ่มค่าในการบันทึกจะต้องมีคอลัมน์รองรับดังที่กล่าวแล้วครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:20 pm
by siamsrising
มีตัวอย่างการปรับไหมครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:23 pm
by snasui
:D ตัวอย่างมีอยู่แล้วใน Code ที่โพสต์มาและผมก็แจ้งไปแล้วว่าให้ปรับตรงส่วนไหน กรุณาทดลองปรับและแจ้งผลที่ได้ จะได้ดูต่อไปจากนั้น การใช้ Code จะต้องทดสอบ ทดลองเป็นพื้นฐานครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:31 pm
by siamsrising
ถ้าไฟล์ powerpoint อยู่คนละ โฟรเดอร์กับ Access ข้อมูลยังคงบันทึกลงไฟล์ Access ที่เราตั้งไว้ไหมครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:34 pm
by snasui
siamsrising wrote: Sat Oct 26, 2019 5:31 pm ข้อมูลยังคงบันทึกลงไฟล์ Access ที่เราตั้งไหวไหมครับ
:D แก้ข้อความด้วยครับ

อยู่คนละเครื่องก็บันทึกถูกต้องหากอ้าง Path ที่เก็บไฟล์ Access ถูกต้อง ดูเรื่อง Path ที่เก็บไฟล์และสิทธิ์ในการเข้าถึงไฟล์ Access เป็นสำคัญครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:36 pm
by siamsrising

Code: Select all

Dim strSQL As String
strSQL = "INSERT INTO tblScore(SName,Score) VALUES("
strSQL = strSQL & "'" & SName & "',"
strSQL = strSQL & "" & Score & ")"
strSQL = strSQL & "" & Folder & ")"
Dim comm As New ADODB.Command
With comm
.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActivePresentation.Path & "\Score Qc.accdb" & ";Persist Security Info=False;"
.CommandText = strSQL
.CommandType = adCmdText
.Execute
End With
แบบนี้รึป่าวครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:38 pm
by snasui
:D แบบนั้นไม่ได้แน่นอนครับ เพราะ Table มีแค่ 2 คอลัมน์แต่เอาค่าไปใส่ไว้ 3 ค่า

จะต้องปรับที่ Table ให้มีคอลัมน์ให้รองรับค่าที่จะใส่เข้าไปด้วยครับ เช่น จาก INSERT INTO tblScore(SName,Score) เป็น INSERT INTO tblScore(SName,Score,SheetName) เป็นต้น และไม่ใช่ว่าปรับตรงนี้แล้วจะบันทึกได้ ใน Database จะต้องมีคอลัมน์นี้อยู่จริงด้วยครับ

อ่อ...วงเล็บปิดจะต้องมีที่เดียวคือที่ตัวสุดท้าย ลบของเดิมทิ้งไปด้วย สังเกตว่ามีเครื่องหมาย ' ครอบแต่ละค่าที่ใส่เข้าไปแล้วหรือไม่ ถ้าไม่ครบจะเกิด Error ครับ

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:40 pm
by siamsrising

Code: Select all

Dim strSQL As String
strSQL = "INSERT INTO tblScore(SName,Score, Folder ) VALUES("
strSQL = strSQL & "'" & SName & "',"
strSQL = strSQL & "" & Score & ","
strSQL = strSQL & "" & Folder & ")"
Dim comm As New ADODB.Command
With comm
.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActivePresentation.Path & "\Score Qc.accdb" & ";Persist Security Info=False;"
.CommandText = strSQL
.CommandType = adCmdText
.Execute
End With

Re: Save As in Access

Posted: Sat Oct 26, 2019 5:41 pm
by snasui
:D กรุณาแก้ไข Code ให้มีลักษณะเป็นข้อความ Code และไม่ต้องเร่งรีบในการโพสต์ เพราะจะผิดได้บ่อยครับ

อ่านทบทวนโพสต์ด้านบนที่ผมแจ้งไปด้วยเรื่องเครื่องหมาย ' ครับ