Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,926

HOME > .NET Framework > Forum > เขียนโปรแกรม VB.Net เชื่อมต่อ MS Access พอ Build เป็นไฟล์ .exe ไปติดตั้งเครื่องอื่นแล้วมีปัญหาเรื่องการเชื่่อมต่อฐานข้อมูลครับ



 

เขียนโปรแกรม VB.Net เชื่อมต่อ MS Access พอ Build เป็นไฟล์ .exe ไปติดตั้งเครื่องอื่นแล้วมีปัญหาเรื่องการเชื่่อมต่อฐานข้อมูลครับ

 



Topic : 110601



โพสกระทู้ ( 105 )
บทความ ( 0 )



สถานะออฟไลน์




เนื่องจาก ConnectionString เวลาเขียน code เราจะระบุเป็นพาธของเครื่องที่เราพัฒนาตัวโปรแกรม เช่น

Code
Dim con As New OledbConnection("Provider=microsoft.Jet.oledb.4.0DataSource=C:\Users\USER(ชื่อเครื่อง)\mydata.mdb;")


ทีนี้เวลาเอาตัวที่เรา Build .exe ไปลงที่เครื่องอื่น ก็จะมีปัญหาเรื่องการเชื่อมต่อฐานข้อมูล Access เนื่องจากชื่อเครื่องไม่ได้เหมือนกัน หรือ ผู้ใช้อาจจะไปลงโปรแกรมไว้ที่พาธไดรว์อื่น เล่น ไดรว์ D

ทีนี้เลยอยากจะถามว่า เราจะแก้ปัญหานี้ยังไงได้บ้างครับ ความต้องการของผมคือ ต้องการทำตัวติดตั้งโดยที่ตัวติดตั้งนั้นๆจะแนบเอาไฟล์ฐานข้อมูลเช้าไปในชุดตัวติดตั้งด้วย แล้วเวลาผู้ใช้เอาๆฟล์ติดตั้งตัวนี้ไปติดตั้งที่เครื่องของเขาก็ให้ ConnectionString ระบุที่อยู่ไฟล์ฐานข้อมูลที่เอาไปลงในเครื่องเขาให้ถูกต้อง ประมาณนี้ครับ



Tag : .NET, Ms Access, Win (Windows App), VS 2010 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-14 11:03:40 By : Aran View : 8166 Reply : 27
 

 

No. 1



โพสกระทู้ ( 74,019 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

เก็บ Database ไว้ใน Path ของโปรแกรม แล้วอ้างจาก Path ได้หรือเปล่าครับ

Code (VB.NET)
Dim appPath As String = Application.StartupPath()


Code (VB.NET)
Dim exePath As String = Application.ExecutablePath()







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 11:14:08 By : mr.win
 


 

No. 2



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


Code (VB.NET)
Dim con as New OleDbConnection("Provider=Microsoft.Jet.oledb.4.0;Data Source=" & Application.StartupPath & "\mydata.mdb"

ประมาณนี้อ่ะครับและตอนทำตัว Setup ก็เอา "mydata.mdb" ยัดเข้าไปที่ Application Folder แค่นี้ก็ไม่น่าจะ Error แล้วน่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 11:57:11 By : คนผ่านทาง
 

 

No. 3



โพสกระทู้ ( 105 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ ขอบคุณทุกท่านครับ

แต่ตอนนี้มีปัญหาอีกนิดหน่อยคือ เวลาเอาตัว exe ไปติดตั้งเครื่องที่ใช้ win 7 หลังจากติดตั้งตัวโปรแกรมเสร็จแล้วคลิกรันตัวโปรแกรมเลยมันจะไม่สามารถเพิ่ม/แก้ไขข้อมูลในฐานข้อมูลได้ ต้องไปตั้งค่าให้ Run as administrator แต่ทีนี้เวลารันโปรแกรมมันก็จะมีป๊อบอัพเด้งมาเตือนตลอดเลย แก้ยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 12:05:54 By : golf
 


 

No. 4



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


ได้ใส่ USER and Password เข้าเครื่องหรือป่าวครับตอน Setup
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 13:12:25 By : คนผ่านทาง
 


 

No. 5



โพสกระทู้ ( 105 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไงหรอครับ? หมายถึง ตอน install ต้องให้ใส่ user/pass ของเครื่องที่จะเอาไปลงด้วยหรอครับ?
ผมเพิ่งมาศึกษาภาษานี้ก็เลย ยัง งงๆอยู่ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 14:07:47 By : golf7
 


 

No. 6



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


ผมหมายถึง Permission ของ user ที่เข้าใช้งาน Windows นะครับ สิทธิ์เป็น Admin หรือป่าวครับ ของผม Win7 ยังลงได้ปกติไม่มีปัญหาอะไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 15:05:40 By : คนผ่านทาง
 


 

No. 7



โพสกระทู้ ( 105 )
บทความ ( 0 )



สถานะออฟไลน์


โอ้ว ตามนั้นเลยครับ ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 15:19:52 By : golf
 


 

No. 8



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์


ผมก็มีปัญหาเหมือนท่านนี้ครับ แต่รวบกวนแปลงเป็น V C# หน่อยได้ไหมครับ

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 16:32:48 By : worthlesss
 


 

No. 9



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


สำหรับ c# connect access
Code (C#)
String str_connectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application .StartupPath + @"\mydata.mdb ";

ประมาณนี้อ่ะครับ ผมก็ไม่ค่อยเก่ง C# เท่าไหร่ผิดถูกประการใดก็ขอ อภัยด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 17:33:31 By : คนผ่านทาง
 


 

No. 10



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโทษนะครับ ของผมลองทั้งใช้

Code
SqlConnection sqlConn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + Application.StartupPath + @"\SALEORDER.MDF;Integrated Security=True");


กับ

Code
SqlConnection sqlConn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\SALEORDER.MDF;Integrated Security=True");


มันสามารถทำงานได้ครับ

แต่พอผมปิดโปรแกรม แล้วสั่ง รันโปรแกรมใหม่ ข้อมูลที่เคย insert เข้าไปมันหายอ่ะครับ เหมือนต้อง Insert ใหม่ เลย งงครับว่าผมควรทำอย่างไรดี

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-14 18:03:18 By : worthlesss
 


 

No. 11



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


สิ่งที่ต้องทำนะครับ
1. ทดลอง Insert ดู แล้วตรวจเช็คฐานข้อมูลว่าข้อมูลเข้าจริงหรือป่าวแล้วลองปิดโปรแกรม ดูว่าข้อมูลหายไหม
2. ถ้ายังหายอยู่ก็ลองไปดู Code อีกที ว่ามี Event ตัวไหน ที่สั่งให้ลบข้อมูลใน Database หรือป่าว
3. ถ้ายังไม่ได้หรือหาไม่เจอ ก็คงต้องเริ่มใหม่ครับเพราะจริง ๆ แล้วถ้าเรา Insert เข้าไปแล้วถ้าเราไม่สั่งลบมัน มันก็จะไม่มีทางหายไป(ตามความเข้าใจน่ะครับ) ทั้งนี้ทั้งนั้นต้องลองดูอีกทีครับ
3. สร้าง ตรวจสอบ ทดสอบ วิเคราะห์ สรุป แก้ไข ตามลำดับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-15 08:31:28 By : คนผ่านทาง
 


 

No. 12



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


1. คลิกขวาที่ Shortcut โปรแกรม แล้วเลือก Properties
2. เลือกแท๊ป Compatibility
3. ที่ Privilege Level เลือกเครื่องหมายถูกหน้า Run this program as an administrator
4. คลิกปุ่ม Change Setting for all user
5. ที่ Privilege Level เลือกเครื่องหมายถูกหน้า Run this program as an administrator
6. คลิกปุ่ม OK 2 ครั้ง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-16 02:40:32 By : gunnermontana
 


 

No. 13



โพสกระทู้ ( 19 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : gunnermontana เมื่อวันที่ 2014-08-16 02:40:32
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-16 09:20:47 By : yAZa
 


 

No. 14



โพสกระทู้ ( 614 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ส่วนมากผมจะเก็บ path เชื่อมต่อไว้ใน textfile ไฟล์ครับ ซึ่งแน่นนอนถ้าเรียกผ่าน Application.StartupPath มันจะเรียกผ่านเครื่องใครเครื่องมันครับ ผมเลยเก็บ path เป็นข้อความไว้ใน textfile แล้วเรียกใช้เอาครับ

ฉนั้นแล้ว เครื่อง client จะมี path แตกต่างจาก Server ครับ เช่น

Server
Dim con as New OleDbConnection("Provider=Microsoft.Jet.oledb.4.0;Data Source=" & Application.StartupPath & "\mydata.mdb"


client
Dim con as New OleDbConnection("Provider=Microsoft.Jet.oledb.4.0;Data Source=" & ชื่อเครื่องหรือ IP เครื่องServer & "\mydata.mdb"


ส่วนถ้าเชื่อมต่อไม่ได้ แนะนำตรวจสอบเรื่อง Permission และ แชร์ Folder ที่เก็บฐานข้อมูลด้วยครับ หรือง่ายๆเลย อยากให้ Path ให้เหมือนกัน ให้สร้าง Map Network Driver แล้วเรียกผ่าน Driver ที่ Map ไว้ครับ จะทำให้ Path เหมือนกันครับ เช่น

Code (VB.NET)
dim path  as "Z:\";
Dim con as New OleDbConnection("Provider=Microsoft.Jet.oledb.4.0;Data Source=" & path & "mydata.mdb"

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-16 12:50:58 By : slurpee55555
 


 

No. 15

Guest


ภาพการลบข้อมูล
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-04 22:33:36 By : yupawadee
 


 

No. 16

Guest


ขึ้นแบบนี้ต้องทำไงบ้างคะ ขอคำแนะนำด้วยคะ
ขอบคุณมากคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-04 22:34:22 By : yupawadee
 


 

No. 17

Guest


ตอบความคิดเห็นที่ : 2 เขียนโดย : คนผ่านทาง เมื่อวันที่ 2014-08-14 11:57:11
รายละเอียดของการตอบ ::
ช่วยแนะนำการ deploy หน่อยครับ คือผมทำ vb + access พอ กด build แล้ว เปิดไฟล์ขึ้นมา มันไม่ลิ้งกับ access ที่เคยกำหนดให้บันทึกก็บันทึกไม่ได้ แถมที่ตั้งค่า date ให้เป็น primary key พอเปิดโปรแกรมใช้จริง มันดันแจ้งว่า error ขึ้นตัวสีแดง แล้วก็ปุ่มที่ทำ export ไว้ก็ใช้การไม่ได้ T.T ผมพึ่งหัดเขียนครับ ตอนรันปกติไม่มีปัญหา พอ build แล้วใช้การไม่ได้อ่ะครับ

ช่วยแนะนำผมผ่านเมลทีครับ [email protected]

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-15 16:01:27 By : หนึ่ง
 


 

No. 18

Guest


ขอโทษนะค่ะ มันขึ้นแบบนี้แปลว่าอะไรค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-01-29 20:25:03 By : SmileSweet
 


 

No. 19

Guest


มันจะต้องแก้ไขยังไงใครพอรู้บ้างรบกวนหน่อยค๊ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-23 11:56:50 By : 2
 


 

No. 20

Guest


มีเรื่องจะสอบถามหน่อยค่ะ VB+Access คือว่าบันทึกข้อมูลไปแล้วแต่ในฐานข้อมูลไม่ขึ้นค่ะ ต้องทำยังไงค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-15 22:47:53 By : ๋จุฑารัตน์
 


 

No. 21



โพสกระทู้ ( 3,986 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

แล้วใน Access มี ข้อมูลที่บันทึก ไปแล้วไม๊ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-15 23:11:58 By : lamaka.tor
 


 

No. 22

Guest


1
คือหนูก้อเคยทำครั้งแรกค่ะ เลยไม่ค่อยรู้เรื่องหรือเข้าใจมากนะ
นี่คือในฐานข้อมูล ในID Room มันไม่ขึ้นให้ค่ะทั้งทีีในระบบมันขึ้นให้แร้วแต่ข้อมูลนอกจากไอดีรูมมาหมดค่ะ หนูทำผิดตรงไหนหรอค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-15 23:43:36 By : จุฑารัตน์
 


 

No. 23

Guest


8
ส
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-15 23:51:52 By : จุฑารัตน์
 


 

No. 24



โพสกระทู้ ( 3,986 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ปกติ room นี่มันต้องอัพเดทตลอดเรอะครับ
ผมนึกว่าเราสร้างตึกแล้วก็มีห้องเท่าเดิมซะอีก 5555(ล้อเล่นนะครับ)

1.น่าจะแยก room ออกไปอีกหน้าหนึ่งนะครับ

2.textbox room ได้ Binding ไว้รึป่าว(เพราะ ID_room ไม่ถูกบันทึก)

3. ถ้า room มี status ว่าง/ไม่ว่าง จะดีมากครับ จากหน้านี้เปิดไปที่หน้าเลือกห้องแล้วสามารถดูได้ว่าห้องไหน ว่าง/ไม่ว่าง (อาจจะทำเป็นสีๆ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-16 09:29:19 By : lamaka.tor
 


 

No. 25



โพสกระทู้ ( 74,019 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ถ้า MS Access แนะนำให้ Build ให้เป็น x86 ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-17 13:15:25 By : mr.win
 


 

No. 26

Guest


ขอบคุณสำหรับคำตอบค่ะ มีเรื่องจะถามต่ออีกนิดค่ะคือว่า
ทำไมเวลาใส่รหัสห้องของคนล่าสุดแล้วมันไปอัพเดทของรหัสห้องคนแรกค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-24 00:14:08 By : jun
 


 

No. 27

Guest


ตอบความคิดเห็นที่ : 3 เขียนโดย : golf เมื่อวันที่ 2014-08-14 12:05:54
รายละเอียดของการตอบ ::
... ใส่ความคิดเห็นตรงนี้.......รบกวนถามได้ไหมครับ ผมเพิ่งหัดทำ ทำยังไงอ่าครับ รบกวนที

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-02-02 17:06:01 By : ณัฐพัฒน์
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เขียนโปรแกรม VB.Net เชื่อมต่อ MS Access พอ Build เป็นไฟล์ .exe ไปติดตั้งเครื่องอื่นแล้วมีปัญหาเรื่องการเชื่่อมต่อฐานข้อมูลครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่