Page 1 of 1

runtime error couldnot find Database

Posted: Tue Sep 18, 2012 7:18 pm
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

Re: runtime error couldnot find Database

Posted: Tue Sep 18, 2012 8:16 pm
by snasui
:D Code นี้เขียนที่ไหนครับ Excel หรือ Access หรือที่อื่น ลอง Run ทีละ Step โดยการกดแป้น F8 ดูแล้วหรือไม่เพื่อจะดูว่าติดที่บรรทัดใด หากแนบไฟล์ตัวอย่างมาได้ก็จะดีจะได้ช่วยทดสอบได้ครับ

Re: runtime error couldnot find Database

Posted: Mon Sep 24, 2012 7:57 pm
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 ได้ไหมอาจารย์ อยากรู้จริงๆครับว่าทำไม

Re: runtime error couldnot find Database

Posted: Mon Sep 24, 2012 9:08 pm
by snasui
:D Connection String สำหรับ Access 2007 ไม่เหมือนกับ 2003 ลองดูตามนี้ครับ http://www.connectionstrings.com/access-2007

Re: runtime error couldnot find Database

Posted: Tue Sep 25, 2012 12:35 pm
by Sangkate
ขอบคุณครับอาจารย์. ที่ให้ความรู้เป็นวิทยาทาน ขอให้รำ่รวยสุขภาพแข็งแรงครับ

Re: runtime error couldnot find Database

Posted: Wed Oct 10, 2012 6:58 pm
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 ตามที่ต้องการผมพยายามแล้วแต่มืดครับช่วยไกด์หน่อยครับอาจารย์

Re: runtime error couldnot find Database

Posted: Wed Oct 10, 2012 7:21 pm
by snasui
Sangkate wrote:ทำไมที่ผมเขียนมันถึงไม่ไปเก็บตาม insert into ตามที่ต้องการผมพยายามแล้วแต่มืดครับช่วยไกด์หน่อยครับอาจารย์
:D แนบ Code ที่ลองเขียนมาเองแล้วในกล่องความเห็นนี้ด้วยครับ

Re: runtime error couldnot find Database

Posted: Wed Oct 10, 2012 7:50 pm
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 = ""

Re: runtime error couldnot find Database

Posted: Wed Oct 10, 2012 8:44 pm
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

Re: runtime error couldnot find Database

Posted: Thu Oct 11, 2012 6:18 pm
by Sangkate
มันขึ้น error ว่า unrecognized database format c;\ program files\ Microsoft visual studio\ VB98\customer.mdb เราต้องแก้อย่างไร แล้วจริงๆประโยคนี้มันบอกว่าอะไรครับอาจารย์

Re: runtime error couldnot find Database

Posted: Thu Oct 11, 2012 9:30 pm
by snasui
:D แนบ Code ที่ลองปรับแล้วมาดูกันครับ จากที่เขียนมา
Sangkate wrote:unrecognized database format c;\ program files\ Microsoft visual studio\ VB98\customer.mdb
จากอักขระที่ผมระบายสีไว้จะเห็นว่าแทนที่จะเป็นโคล่อนคือ : แต่เขียนเป็น Semi Colon คือ ; ซึ่งไม่ถูกต้องครับ

Re: runtime error couldnot find Database

Posted: Wed Oct 17, 2012 7:05 pm
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

Re: runtime error couldnot find Database

Posted: Wed Oct 17, 2012 7:20 pm
by snasui
:D ไฟล์ที่แนบมาไม่สามารถ Import ได้ครับ ลองแนบไฟล์ตัวอย่าง ฐานข้อมูลตัวอย่างมาดูกันครับ

Re: runtime error couldnot find Database

Posted: Thu Oct 18, 2012 5:17 pm
by Sangkate
ตามนี้เลยครับ

Re: runtime error couldnot find Database

Posted: Thu Oct 18, 2012 5:28 pm
by Sangkate
ทำไมผมแนบไฟล์แล้วมันไม่อนุญาตให้ .ACCDB .MDB

Re: runtime error couldnot find Database

Posted: Thu Oct 18, 2012 5:34 pm
by Sangkate
ขออีกทีครับ

Re: runtime error couldnot find Database

Posted: Thu Oct 18, 2012 10:13 pm
by snasui
:D ไม่สามารถ Inport ไฟล์ได้เช่นเดิม แนบไฟล์ตัวอย่างมาอีกรอบโดยไม่ต้องแนบไฟล์ Access ครับ