:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

runtime error couldnot find Database

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Access and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

runtime error couldnot find Database

#1

Post by Sangkate »

ผมเขียน Code แบบนี้แล้วมันขึ้น runtime error ว่าไม่เจอไฟล์ รบกวนอาจารย์ ตอบหน่อย ผมลองทั้ง .MDB ,accdb แล้ว

Code: Select all

Option Explicit
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String

Private Sub Form_Load()
If conn.State = 1 Then conn.Close
conn.Open "provider=Microsoft.JET.OLEDB.4.0;data source=" & App.Path & " Closeorder2012 .accdb"
MsgBox " Connection complete", vbInformation, " inform connect to database"

End Sub

Private Sub Timer1_Timer()
Label1.Caption = Date
Label2.Caption = Time

End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: runtime error couldnot find Database

#2

Post by snasui »

:D Code นี้เขียนที่ไหนครับ Excel หรือ Access หรือที่อื่น ลอง Run ทีละ Step โดยการกดแป้น F8 ดูแล้วหรือไม่เพื่อจะดูว่าติดที่บรรทัดใด หากแนบไฟล์ตัวอย่างมาได้ก็จะดีจะได้ช่วยทดสอบได้ครับ
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#3

Post by Sangkate »

ผมเขียนใน VB6 ครับอาจารย์ ทำไม?การเชื่อมกับ file access.accdb ไม่ได้ แต่เวลาผมลองใช้ ที่เป็นfile Access ที่เป็น .MDB ,กับเชื่อมต่อเข้าฐานข้อมูล(file access)นั้น ได้:flw:

Code: Select all

Private Sub Form_Load()
If conn.State = 1 Then conn.Close
conn.Open "provider=Microsoft.JET.OLEDB.4.0;data source=C:\Documents and Settings\sangket.i\My Documents\VBA\db9.mdb"
MsgBox " Connection complete", vbInformation, "status connecting"
End Sub
แบบนี้ได้
:x

Code: Select all

Private Sub Form_Load()
If conn.State = 1 Then conn.Close
conn.Open "provider=Microsoft.JET.OLEDB.4.0;data source=C:\Documents and Settings\sangket.i\My Documents\VBA\Database1.accdb"
MsgBox " Connection complete", vbInformation, "status connecting"

End Sub
แบบนี้ไม่ได้

แล้วถ้าจะให้ฐานข้อมูลที่เก็บเป็น Excel ได้ไหมอาจารย์ อยากรู้จริงๆครับว่าทำไม
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: runtime error couldnot find Database

#4

Post by snasui »

:D Connection String สำหรับ Access 2007 ไม่เหมือนกับ 2003 ลองดูตามนี้ครับ http://www.connectionstrings.com/access-2007
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#5

Post by Sangkate »

ขอบคุณครับอาจารย์. ที่ให้ความรู้เป็นวิทยาทาน ขอให้รำ่รวยสุขภาพแข็งแรงครับ
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#6

Post by Sangkate »

อาจารย์ครับ ลอง Ssave file Access 2007 (.accdb)มาเป็น version2003/97 (.mdb) แล้วลองเชื่อมกับฐานข้อมูลดูเหมือนว่ามันเชื่อมกับฐานข้อมูลได้,อาจารย์เคยแนะนำกับ 2007

Code: Select all

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\myAccess2007file.accdb;
Persist Security Info=False;
, แต่ผมลองแบบเก่า

Code: Select all

If conn.State = 1 Then conn.Close
conn.Open "provider = microsoft.jet.oledb.4.0 ;data source =" & App.Path & "\Customer.mdb"
Sql = (" insert into student (Fname , Lname ) values(" & Text1.Text & " , " & Text2.Text & ")")

'rs.Open , Sql, conn, 3, 3
MsgBox "Save complete", vbOKOnly + vbInformation, " ยืนยัน"
ที่สำคัญคือผมอยากให้ข้อมูลใน textbox ไปเก็บในตาราง Student มันต้องเขียนcode อย่างไร ทำไมที่ผมเขียนมันถึงไม่ไปเก็บตาม insert into ตามที่ต้องการผมพยายามแล้วแต่มืดครับช่วยไกด์หน่อยครับอาจารย์
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: runtime error couldnot find Database

#7

Post by snasui »

Sangkate wrote:ทำไมที่ผมเขียนมันถึงไม่ไปเก็บตาม insert into ตามที่ต้องการผมพยายามแล้วแต่มืดครับช่วยไกด์หน่อยครับอาจารย์
:D แนบ Code ที่ลองเขียนมาเองแล้วในกล่องความเห็นนี้ด้วยครับ
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#8

Post by Sangkate »

ตามนี้เลยครับ

Code: Select all

Private Sub Cmd1_Click()

If conn.State = 1 Then conn.Close
conn.Open "provider = microsoft.jet.oledb.4.0 ;data source =" & App.Path & "\Customer.mdb"
Sql = (" insert into student (Fname , Lname ) values(" & Text1.Text & " , " & Text2.Text & ")")


MsgBox "Save complete", vbOKOnly + vbInformation, " ยืนยัน"
Text1.Text = ""
Text2.Text = ""
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: runtime error couldnot find Database

#9

Post by snasui »

:D ลองปรับปรุงและทดสอบ Code ตามด้านล่างดูครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim Conn As New ADODB.Connection
    Dim MyRecSet As New ADODB.Recordset
    If Conn.State = 1 Then Conn.Close
    Conn.Open "provider = microsoft.jet.oledb.4.0 ;data source = E:\Customer.mdb ;" _
    & "Jet OLEDB:System Database=system.mdw;"
    Sql = "insert into student (name , Lname) values(" & Text1.Text & " , " & Text2.Text & ")"
    MyRecSet.Open Sql, Conn
    MsgBox "Save complete", vbOKOnly + vbInformation, "Oh ye!!!"
    Text1.Text = ""
    Text2.Text = ""
    Set Conn = Nothing
    Set MyRecset = Nothing
End Sub
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#10

Post by Sangkate »

มันขึ้น error ว่า unrecognized database format c;\ program files\ Microsoft visual studio\ VB98\customer.mdb เราต้องแก้อย่างไร แล้วจริงๆประโยคนี้มันบอกว่าอะไรครับอาจารย์
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: runtime error couldnot find Database

#11

Post by snasui »

:D แนบ Code ที่ลองปรับแล้วมาดูกันครับ จากที่เขียนมา
Sangkate wrote:unrecognized database format c;\ program files\ Microsoft visual studio\ VB98\customer.mdb
จากอักขระที่ผมระบายสีไว้จะเห็นว่าแทนที่จะเป็นโคล่อนคือ : แต่เขียนเป็น Semi Colon คือ ; ซึ่งไม่ถูกต้องครับ
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#12

Post by Sangkate »

อาจารย์ตอนนี้ผมเริ่มสับสนเพราำะผมลองผิดลองถูกแล้วก็ยังแก้ไม่ตก ผมรู้ว่ามีหลายวิธี ซึ่งก็พยายามลองแต่ไม่สำเร็จ ที่สำคัญคือผมจะเอาข้อมูลใน textbox ไปเก็บที่ตารางของ Access ได้อย่างไร อาจารย์พอทำตัวอย่างที่แนบให้ดูหน่อยซิครับ(มืดจริงๆครับ)ชื่อตารางอาจจะสับสนหน่อยซึ่งผมก็ลองเอามาประยุกต์ ช่วยหน่อยนะครับอยากทำเป็นจริงๆแม้ไม่มีความรู้ก็จะพยายามถึงผมจะเลยวัยเรียนไปมากแล้ว

Code: Select all

Option Explicit
Dim Conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String

Private Sub Command1_Click()
Adodc1.Recordset.AddNew
End Sub

Private Sub Form_Load()
If Conn.State = 1 Then Conn.Close
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\sangket.i\My Documents\VBA\Student.mdb;Persist Security Info=False"
  Adodc1.Recordset.ActiveConnection.BeginTrans
   Adodc1.RecordSource = "SELECT * FROM Tcustumer"

MsgBox " Connection complete", vbInformation, "status connecting"
End Sub
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: runtime error couldnot find Database

#13

Post by snasui »

:D ไฟล์ที่แนบมาไม่สามารถ Import ได้ครับ ลองแนบไฟล์ตัวอย่าง ฐานข้อมูลตัวอย่างมาดูกันครับ
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#14

Post by Sangkate »

ตามนี้เลยครับ
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#15

Post by Sangkate »

ทำไมผมแนบไฟล์แล้วมันไม่อนุญาตให้ .ACCDB .MDB
Sangkate
Member
Member
Posts: 38
Joined: Tue Aug 07, 2012 6:10 pm

Re: runtime error couldnot find Database

#16

Post by Sangkate »

ขออีกทีครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: runtime error couldnot find Database

#17

Post by snasui »

:D ไม่สามารถ Inport ไฟล์ได้เช่นเดิม แนบไฟล์ตัวอย่างมาอีกรอบโดยไม่ต้องแนบไฟล์ Access ครับ
Post Reply