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
ปัจจุบันปัญหาคืออะไรกรุณาแจ้งรายละเอียดมาด้วยครับ
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
โปรแกรมฟ้องว่าอะไร มีภาพหรือไม่ ถ้ามีแนบมาด้วยครับ
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
เข้าเมนู 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
กรุณาแก้คำว่า "สงใส" ให้เป็นข้อความที่ถูกต้อง กรุณาทบทวนกฎการใช้บอร์ดทุกข้อด้านบนครับ
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
แก้ไขข้อความให้เป็นคำที่ถูกต้องด้วยครับ
กรณีโพสต์ไปแล้วไม่เกิน 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
ไม่ต้องกำหนดให้ 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
ตัวอย่างมีอยู่แล้วใน 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 ที่เราตั้ง
ไหวไหมครับ
แก้ข้อความด้วยครับ
อยู่คนละเครื่องก็บันทึกถูกต้องหากอ้าง 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
แบบนั้นไม่ได้แน่นอนครับ เพราะ 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
กรุณาแก้ไข Code ให้มีลักษณะเป็นข้อความ Code และไม่ต้องเร่งรีบในการโพสต์ เพราะจะผิดได้บ่อยครับ
อ่านทบทวนโพสต์ด้านบนที่ผมแจ้งไปด้วยเรื่องเครื่องหมาย
'
ครับ