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

Registered : 109,037

HOME > .NET Framework > Forum > สวัสดีค่ะ ขอความช่วยเหลือเกี่ยวกับการนำฐานข้อมูล Access 2007 ไปใช้ใน VisualBasic 2010 ด้วยค่ะ



 

สวัสดีค่ะ ขอความช่วยเหลือเกี่ยวกับการนำฐานข้อมูล Access 2007 ไปใช้ใน VisualBasic 2010 ด้วยค่ะ

 



Topic : 119103



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



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




Code (VB.NET)

สวัสดีค่ะ ขอความช่วยเหลือเกี่ยวกับการนำฐานข้อมูล Access 2007 ไปใช้ใน VisualBasic 2010 ด้วยค่ะ
ไม่ค่อยมีควาามรู้ด้านนี้เลย แต่อาทิตย์หน้าต้องส่งงานอาจารย์แล้วขอรบกวนพี่ๆทุกคนช่วยหนูหน่อยนะคะ
ไม่ได้เพิ่งทำนะคะ แต่อ.เพิ่งสั่งไม่นานและเพื่อนในกลุ่มดันชิ่งกลับ ตจว ไปแล้ว T-T

ตอนนี้หนูได้สร้างฟอร์มในVB2010 แล้วสร้างตารางในAccess พร้อมกับกำหนดความสัมพันธ์ต่างๆเรียบร้อยแล้ว ตอนนี้เหลือขั้นตอน
1การคอนเน็คระหว่างVB2010กับAccessที่ยังไม่ค่อยเข้าใจ
2การเขียนโค้ตเพื่อเอาข้อมูลในตารางมาแสดง พวก Select from where ใน VB2010
3เขียนโค้ต Insert update delate และการ Search คะ

มาเริ่มคำถามกันเลยนะคะ
คำถามข้อที่หนึ่ง
ตอนนี้หนูได้ทำการ Connection กับฐานข้อมูลที่เป็น Access ด้วยเครื่องมือ "Add new Data Source" ใน VB2010 เรียบร้อยแล้ว
ไม่ทราบว่าหนูยังต้องเขียนโค้ตคอนเน็ตแบบในกรอบสีน้ำเงินในรูปตัวอย่างไหมคะ หน้าLog-in เป็นหน้าแรกที่โหลด
ต้องเขียยนโค้ตคอนเน็คที่นี้ใช่หรือเปล่า แล้วถ้าต้องเขียนช่วยยกตัวอย่างที่ถูกต้องให้ได้ไหมคะ พอดีโค้ตนี้หามาจากในเน็ต
ช่วยยกตัวอย่างว่าเขียนลงในไหน ยังไงรบกวนอธิบายละเอียดด้วยนะคะพอบางทีหนูก็โงๆ ไม่รู้ว่าจะเขียนยังไงจริงๆ T-T แล้วถ้าเราปิดโปรแกรม VS2010 แล้วเปิดใหม่ครั้งหน้าเราต้องคอนเน็คหรือกดอะไรอีกไหมคะ หรือใช้ฐานข้อมูลได้เลย

Connect

ข้อที่สอง
หนูสร้าง Query ใน Access ด้วยเครื่องมือ Query Design และใช้เครื่องมือ DataGridView ลาก Query ลงมาใน Form
ก็ได้ตารางข้อมูลพร้อมแสดงและก็โค้ตหนึ่งบรรทัด อยากถามคะว่าเราไม่ต้องเขียน Select From อะไรใน VB เลยเหรอคะ
ถ้าหนูอยากเขียนโค้ต SQL เหล่านี้ใน VB2010 จะทำยังไงคะเขียนลองดูแล้วมัน Error ช่วยยกตัวอย่างให้ดูหน่อยค่ะ
โค้ตที่ได้จากการสร้าง Query ด้วย DataGridView

Code
Me.QryProdustEn_QC_TableAdapter.Fill(Me.En_DatabaseDataSet._QryProdustEn_QC_)


นี้คือโค้ต SQL ที่หนูต้องการเขียนใน VB2010 จะเขียนยังไงคะถึงจะสามารถใช้งานได้

Code (SQL)
SELECT Products.Pro_ID, Products.[จำนวนในคลัง], Category.Category_Name
FROM Category INNER JOIN (Brand INNER JOIN Products ON Brand.Bran_ID = Products.Bran_ID) ON Category.Category_ID = Products.Category_ID
WHERE (((Brand.Bran_Name) Like "E*"))
ORDER BY Category.Category_ID;


Qry1

คำถามข้อที่สาม
หนูจำเป็นต้องสร้าง Queryใน Access ก่อนทุกครั้งที่จะเรียกใช้ใน VB2010 ไหมคะหรือหนูสามารถเขียนโค้ต Select from... ในVB2010 เพื่อสร้างคิวรี่ได้เลยไม่จำเป็นต้องไปสร้างใน Access มาก่อนก็ได้

คำถามข้อที่สี่
หากต้องการ Insert Update Delate ข้อมูลลงในตารางหรือคิวรี่ ต้องเขียนโค้ตใน VS2010 ยังไงเหรอคะ
และถ้าจะกำหนดให้ฐานข้อมูลรับค่าจาก TextBox จะเขียนโค้ตยังไงช่วยยกตัวอย่าง Insert Update Delete ทั้งสามอย่างให้หน่อยคะ
ตามรูปที่อยุ๋ข้างล่างนี้ก็ได้

AddCus



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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-09-26 13:08:28 By : Aunsusu View : 3970 Reply : 6
 

 

No. 1



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



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

ข้อ 1
ถ้าใช้วิธีลากวางๆๆๆๆๆ ก็ไม่ต้องเขียน Connection เพราะมันจะมาทั้ง
dataset datatable BindingSource แล้วได้รับกับตั้งค่าอย่างเหมาะสมยุแล้ว
โค้ดพวกนี้จะมาเองโดยอัตโนมัติ ครับ

Code (VB.NET)
Public Class Form1
    'บันทึก database
    Private Sub Sett_Post_PostCodeBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles Sett_Post_PostCodeBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.Sett_Post_PostCodeBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.PostCodeDataSet)

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'PostCodeDataSet.Sett_Post_PostCode' table. You can move, or remove it, as needed.
        ' Load Database
        Me.Sett_Post_PostCodeTableAdapter.Fill(Me.PostCodeDataSet.Sett_Post_PostCode)
    End Sub
End Class


1

ข้อที่สอง/ข้อที่สาม

สร้าง Query ใน Access ด้วยเครื่องมือ Query Design
TableAdapter ที่ให้มาจะมีแค่ 1 Table ต่อ 1 TableAdapter
ถ้าจะเชื่อมหรือ join ต้องสร้างใหม่ครับ
1. เลือก dataset
2. Add datatable

111

3. next ๆๆๆ

12

4.เลือก table ที่จะ join

13

14

5.เลือก column ที่จะเอาไปใช้งาน

16

6. test table ที่ได้โดยลอง ระบุค่าลงตรงช่อง filter แล้ว Executed Query

17

7. เราจะได้ SQL บ้านๆๆ กับ table บ้าน ๆๆ มาใช้งานครับ

18

181


คำถามข้อที่สี่
เมื่อเราลากๆๆๆมันลงมาสิ่งที่จะเพิ่งมาด้วยอีกอย่างคือ
BindingNavigator
ซึ่งมันจะผูกกับ BindingSource TableAdapter DataSet เรียบร้อยแล้ว

19

โดยโค้ดที่ใช้จะเป็น

Code (VB.NET)
       Me.Validate()
        Me.Sett_Post_PostCodeBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.PostCodeDataSet)


ซึ่งมันก็จะมาหลังจากที่เราลากมันมาแล้วอ่าครับ
หากเรามี หลาย TableAdapter
ก็ให้ใช้หลักการคือ

Code
Me.Validate() ชื่อ BindingSource_1.EndEdit() ชื่อ BindingSource_2.EndEdit() ชื่อ BindingSource_3.EndEdit() ชื่อ BindingSource_4.EndEdit() ชื่อ BindingSource_5.EndEdit() ชื่อ BindingSource_6.EndEdit() ชื่อ BindingSource_7.EndEdit() Me.TableAdapterManager.UpdateAll( ชื่อ DataSet )


หากใช้ DataGridView ที่ผูกกับ BindingNavigator แล้วเราสามารถ Insert/Update/Delete ทำทุกอย่างให้เสร็จๆไปแล้วกด Save ทีเดียวมันก็จะทำทุกอย่างที่ว่าอย่างง่ายดาย


เหมือนโปรโมทโปรแกรมเลย 5555แต่มันง่ายจริง ๆ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-26 14:35:55 By : lamaka.tor
 


 

No. 2



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



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

การค้นหาแบบบ้านๆๆ
Code (VB.NET)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        DataTable1BindingSource.Filter = "PostCode = " & PostCodeTextBox.Text
End Sub


20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-26 14:43:06 By : lamaka.tor
 

 

No. 3



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



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


จากที่พี่ TOR_CHEMISTRY บอกว่า
ข้อที่สอง/ข้อที่สาม
สร้าง Query ใน Access ด้วยเครื่องมือ Query Design
TableAdapter ที่ให้มาจะมีแค่ 1 Table ต่อ 1 TableAdapter
ถ้าจะเชื่อมหรือ join ต้องสร้างใหม่ครับ
จากที่หนูเข้าใจ แสดงว่าหนูไม่ต้องสร้างคิวรีในAccessก็ได้ มาสร้างคิวรี่ในVB2010 ได้เลย
มีข้อสงสัยอีกหน่อยหนึ่งตรงที่พี่สร้างคิวรี่ join มาตั้งหลายตารางแต่ทำไมโค้ตเวลาเซฟถึงมีแค่
Sett_Post_PostCode อันอื่นไม่ต้องเซฟเหรอค่ะ

Code (VB.NET)
Me.Validate()
 Me.Sett_Post_PostCodeBindingSource.EndEdit()
 Me.TableAdapterManager.UpdateAll(Me.PostCodeDataSet)

หรือต้องเพิ่มแบบนี้ลงในโค้ต

Code (VB.NET)
 Me.Validate()
 Me.Sett_Post_PostCodeBindingSource.EndEdit()
 Me.Sett_Post_OfficeCodeBindingSource.EndEdit()
 Me.Sett_Post_ProviceCodeBindingSource.EndEdit()
 Me.TableAdapterManager.UpdateAll(Me.PostCodeDataSet)


รบกวนดูฟอร์มต่างๆที่หนูสร้างขึ้นหน่อยค่ะ
ยกตัวอย่างฟอร์ม ฝ่ายขาย แทบย่อย ใบสั่งซื้อ ภายในก็มีแทบย่อย เดือนและวันอีก
ถ้าแบบนี้แสดงว่าหนูต้องสร้างคิวรี่ถึง 365 อันเลยเหรอคะ มีวิธีอื่นไหม
เพราะแถบย่อยต่องการแสดงว่าแค่ข้อมูลของวันนั้นๆแค่นั้นค่ะ
ฟอร์ม


แล้วก็รูปนี้ ถ้าเราสร้างคิวรี่ตามที่พี่บอกไปแล้ว หากต้องการกลับมาแก้เงือนไข ต้องทำยังไงเหรอคะ หนูหาไม่เจอ รบกวนอีกทีนะคะ T_T
ตอนนี้เครียดมากๆ
17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-26 18:08:19 By : Aunsusu
 


 

No. 4



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



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

Query Design ที่ถูก join ไว้ จะสามารถดูได้อย่างเดียวครับ
ไม่สามารถแก้ไขได้ พูดตรงๆคือมันมีไว้ preview ดูข้อมูลที่ เชื่อมโยงกันอยู่แค่นั้น

ถ้าจะต้อง แก้ไขก็จะต้องดึง BindingNavigator , TableAdapter และ BindingSource ของแต่ละ table มาใช้งาน
ก็ลากวาง ๆๆๆ นั่นแหละครับ
ถ้าเราลากมา

ฟหกหดหผด

Code (C#)
private void Form2_Load(object sender, EventArgs e)
        {
            this.sett_Post_PostOfficeTableAdapter.Fill(this.postCodeDataSet.Sett_Post_PostOffice);
            this.sett_Post_AmphurTableAdapter.Fill(this.postCodeDataSet.Sett_Post_Amphur);
            this.dataTable1TableAdapter.Fill(this.postCodeDataSet.DataTable1);
            this.sett_Post_ProvinceTableAdapter.Fill(this.postCodeDataSet.Sett_Post_Province);
        }

        private void sett_Post_ProvinceBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.sett_Post_ProvinceBindingSource.EndEdit();
            this.sett_Post_AmphurBindingSource.EndEdit();
            this.sett_Post_PostOfficeBindingSource.EndEdit();
            this.sett_Post_ProvinceBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.postCodeDataSet);
        }


ส่วนถ้าต้องการใช้ BindingNavigator
ฆกกำพะกเปกเ
แค่นั้นก็สามารถใช้ BindingNavigator save แต่ละตารางได้แล้วครับ
ผมใช้การก๊อบ BindingNavigator ตัวที่เขาให้มาวาง แล้วก็เปลี่ยน BindingSource ตามรูปง่ายกว่าที่เราสร้าง BindingNavigator มาใหม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-26 18:45:21 By : lamaka.tor
 


 

No. 5



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



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


ขอบคุณมากๆดลยคะ

ถามเพิ่มเติมตรงคิวรี่ ที่ถามว่าจะแก้ไขหมายถึง คิวรี่เดิมมี
postcode_ID,postcoed,provice,symbol,Ampur,postOffice
แต่หนูอยากไม่ต้องการแสดง postcode_ID แล้วจะแสดงแค่
Postcoed, Provice, Symbol, Ampur, PostOffice
จะต้องทำยังไงเหรอค่ะ จะต้องลบคิวรีเดิมแล้วสร้างใหม่เหรอค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-26 19:36:37 By : Aunsusu
 


 

No. 6



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



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

คลิกเลือกคอลัมได้เลยครับว่าจะเอาตัวไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-28 13:11:46 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สวัสดีค่ะ ขอความช่วยเหลือเกี่ยวกับการนำฐานข้อมูล Access 2007 ไปใช้ใน VisualBasic 2010 ด้วยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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