กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
759 8
URL.หัวข้อ /
URL
ใช้ Access กับ MySQL อย่างไร
มีคนถามไว้ที่
http://pantip.inet.co.th/tech/software/topic/SP923748.html#1
ดังนี้
ใช้ MS Access กับ MySQL
ใครเคยใช้ MS Access เชื่อมต่อกับ MySQL โดยผ่าน
ODBC บ้างช่วยแนะนำหน่อยครับ
จากคุณ : abcdefghi@chaiyo.com [22 เม.ย. 2545 - 15:10:18]
ผมได้ตอบเขาไว้ดังนี้
จะต้องติดตั้ง MyODBC driver โดย d/l จาก http://www.mysql.com/downloads/api-myodbc-2.50.html ให้ติดตั้งให้เรียบร้อย แล้วไปสร้าง DSN ให้ฐานข้อมูล MySQL (โดยใช้ ODBC ใน control panel ลองมองหา MySQL ในรายการที่มีให้) แล้วตั้งชื่อให้เป็นอะไรก็ได้เช่น MyAccess จากนั้นให้กลับไปที่ Access, คลิกขวาที่ตารางที่ต้องการจะย้ายไป MySQL>Save As/Export>เลือกเป็น Select ODBC Database() ตรงช่อง Save As Type:>มองหา MyAccess>เรียบร้อย!
เผอิญผมเพิ่งจะทำเมื่อวานเอง ใช้ได้ดีที่เดียวครับ *** Edited by Supap Chaiya *** 5/10/2003 12:08:39 PM
http://pantip.inet.co.th/tech/software/topic/SP923748.html#1
ดังนี้
ใช้ MS Access กับ MySQL
ใครเคยใช้ MS Access เชื่อมต่อกับ MySQL โดยผ่าน
ODBC บ้างช่วยแนะนำหน่อยครับ
จากคุณ : abcdefghi@chaiyo.com [22 เม.ย. 2545 - 15:10:18]
ผมได้ตอบเขาไว้ดังนี้
จะต้องติดตั้ง MyODBC driver โดย d/l จาก http://www.mysql.com/downloads/api-myodbc-2.50.html ให้ติดตั้งให้เรียบร้อย แล้วไปสร้าง DSN ให้ฐานข้อมูล MySQL (โดยใช้ ODBC ใน control panel ลองมองหา MySQL ในรายการที่มีให้) แล้วตั้งชื่อให้เป็นอะไรก็ได้เช่น MyAccess จากนั้นให้กลับไปที่ Access, คลิกขวาที่ตารางที่ต้องการจะย้ายไป MySQL>Save As/Export>เลือกเป็น Select ODBC Database() ตรงช่อง Save As Type:>มองหา MyAccess>เรียบร้อย!
เผอิญผมเพิ่งจะทำเมื่อวานเอง ใช้ได้ดีที่เดียวครับ *** Edited by Supap Chaiya *** 5/10/2003 12:08:39 PM
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R00264
ถ้าต้องการติดต่อแบบ DSNLess ก็สามารถทำได้ โดยใช้ ADO ดังนี้
Sub myodbc_ado_Click2()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sql As String
'connect to MySQL server using MySQL ODBC 3.50 Driver
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL};" _
& "SERVER=localhost;" _
& " DATABASE=vegetables;" _
& "UID=kaeg;PWD=chaiya0123456; OPTION=3"
conn.Open
Set rs = New ADODB.Recordset
'Count the records..
rs.Open "SELECT Count(*) FROM info1", conn
Debug.Print rs(0)
rs.Close
rs.Open "SELECT * FROM info1", conn, 3, 3
rs.MoveFirst
For Each fld In rs.Fields
Debug.Print fld.Name,
Next
Debug.Print
Do Until rs.EOF
For Each fld In rs.Fields
Debug.Print fld.Value,
Next
rs.MoveNext
Debug.Print
Loop
rs.Close
conn.Close
End Sub
จะเห็นว่า ถ้าต้องการที่จะแสดงจำนวนข้อมูลทั้งหมด จะไม่สามารถใช้ Recordcount ได้ เนื่องจาก MySQL ไม่ได้สนับสนุน ต้องใช้ Count(*) แทนดังนี้
rs.Open "SELECT Count(*) FROM info1", conn
Debug.Print rs(0)
ส่วนการติดต่อ MySQL ถ้าใช้ MyODBC เวอร์ชัน 2.50 จะเป็นดังนี้
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL};" _
& "SERVER=localhost;" _
& " DATABASE=vegetables;" _
& "UID=kaeg;PWD=chaiya0123456; OPTION=3"
แต่ถ้าเป็นเวอร์ชัน 3.51 ก็จะเป็น
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& " DATABASE=test;"_
& "UID=venu;PWD=venu; OPTION=35"
ลองดูครับ
2 @R02773
อยากให้ช่วยแนะนำการ setup หรือติดตั้ง Server โดยใช้ MySQL โปรแกรมด้วยครับ เพราะลองติดตั้งแล้วแต่งงมาก.....
ขอบคุณครับ
ขอบคุณครับ
3 @R02780
ลองดูกระทู้ http://www.thai-access.com/suphap.php?topic_id=181 ครับ
4 @R02786
ผมจะลองดู......ขอบคุณครับ
5 @R02789
ผมลอง download ตามที่อาจารย์แนะนำแล้วครับ แต่สงสัยในส่วน driver odbc ชื่อ driver อะไรครับ แล้ว mirror คืออะไรครับ ขอบคุณครับ อยากใช้ mysql มาก เพราะช่วยประหยัดเงินค่าฐานข้อมูลเยอะครับ
6 @R02990
ตอนนี้ผมสามารถใช้ MySQL ได้แล้วขอบคุณมากครับ.....แต่มีข้อสงสัยเกี่ยวกับ DSN ติดต่อกับ Access ว่าทำไมไม่สามารถกำหนด Privaliage ของ user ได้จาก MySQL ครับ เพราะเมือผมลองดูแล้วมันขึ้นอยู่กับ Access.....
7 @R03091
recordset1.Open "SELECT * from table where Time = '" & oldtime & "' and Date = '" & olddate & "' ,conn, adOpenStatic, adLockOptimistic"
มันเรียก ข้อมูลชื่อฟิลด์ Time ขึ้นมาตามเงื่อนไขไม่ได้ค่ะ
1.ต้องแก้ไขส่วนนี้ Time = '" & oldtime & "' อย่างไรค่ะ เพราะ ฟิลด์ Time เป็นชนิด DateTime ค่ะ
2.ต้องแก้ไขส่วนนี้ Date = '" & olddate & "' อย่างไรค่ะ เพราะ ฟิลด์ Date เป็นชนิด Date ค่ะ
ช่วยแนะนำด้วยน่ะค่ะ.....ขอบคุณค่ะ
มันเรียก ข้อมูลชื่อฟิลด์ Time ขึ้นมาตามเงื่อนไขไม่ได้ค่ะ
1.ต้องแก้ไขส่วนนี้ Time = '" & oldtime & "' อย่างไรค่ะ เพราะ ฟิลด์ Time เป็นชนิด DateTime ค่ะ
2.ต้องแก้ไขส่วนนี้ Date = '" & olddate & "' อย่างไรค่ะ เพราะ ฟิลด์ Date เป็นชนิด Date ค่ะ
ช่วยแนะนำด้วยน่ะค่ะ.....ขอบคุณค่ะ
8 @R03099
ลองแบบนี้ครับ
recordset1.Open "SELECT * from table where Time = " & oldtime & " and Date = " & olddate & " , conn, adOpenStatic, adLockOptimistic
recordset1.Open "SELECT * from table where Time = " & oldtime & " and Date = " & olddate & " , conn, adOpenStatic, adLockOptimistic
Time: 0.1149s