• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Chỉnh sửa file access trong vb.net 2010

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

d1207t
Thành viên chính thức
Thành viên chính thức
Posts: 31
Joined: Mon 11/07/2011 4:31 pm
Location: Đồ sơn - Hải Phòng
Has thanked: 1 time
Been thanked: 4 times
Contact:

Chỉnh sửa file access trong vb.net 2010

Postby d1207t » Wed 08/05/2019 10:18 am

Em có 1 file access và cần hiển thị trong listview sau đó khi thay đổi số liệu trên listview thì sẽ cập nhật luôn trong file access.
Xin các cao nhân chỉ giao giúp em ạ.



ncxn
Thành viên năng nổ
Thành viên năng nổ
Posts: 62
Joined: Thu 27/01/2011 9:37 am
Has thanked: 1 time
Been thanked: 8 times

Re: Chỉnh sửa file access trong vb.net 2010

Postby ncxn » Wed 08/05/2019 12:16 pm

List view có thuộc tính edit không?

d1207t
Thành viên chính thức
Thành viên chính thức
Posts: 31
Joined: Mon 11/07/2011 4:31 pm
Location: Đồ sơn - Hải Phòng
Has thanked: 1 time
Been thanked: 4 times
Contact:

Re: Chỉnh sửa file access trong vb.net 2010

Postby d1207t » Wed 08/05/2019 1:32 pm

có chứ

User avatar
thuanfun
Thành viên tích cực
Thành viên tích cực
Posts: 144
Joined: Thu 06/11/2008 7:46 pm
Been thanked: 11 times

Re: Chỉnh sửa file access trong vb.net 2010

Postby thuanfun » Wed 08/05/2019 2:28 pm

Bạn dùng DataGridView để hiển thị và Edit nhé
Nhận code VB.NET theo yêu cầu

d1207t
Thành viên chính thức
Thành viên chính thức
Posts: 31
Joined: Mon 11/07/2011 4:31 pm
Location: Đồ sơn - Hải Phòng
Has thanked: 1 time
Been thanked: 4 times
Contact:

Re: Chỉnh sửa file access trong vb.net 2010

Postby d1207t » Wed 08/05/2019 2:39 pm

bác hướng dẫn e được k ạ @thuanfun
vì em cần sửa inline là sửa trên grid đồng thời cập nhật luôn và access

User avatar
thuanfun
Thành viên tích cực
Thành viên tích cực
Posts: 144
Joined: Thu 06/11/2008 7:46 pm
Been thanked: 11 times

Re: Chỉnh sửa file access trong vb.net 2010

Postby thuanfun » Wed 08/05/2019 4:37 pm

Bạn tạo một Form tên frmMDBTest, một Button tên cmdLoadMDB, và một DataGridView tên DataGridView1 và Paste đoạn code sau vào nhé:
Lưu ý trong ví dụ này:
+ Trong "My Project" > "Compile" > "Target CPU" bạn để x86
+ DataTable có cột đầu tiên là Id


  1. Imports System.Data.OleDb
  2. Public Class frmMDBTest
  3.     Private connection As OleDbConnection
  4.     Private tableName As String
  5.     Private Sub cmdLoadMDB_Click(sender As Object, e As EventArgs) Handles cmdLoadMDB.Click
  6.         Dim file = My.Application.Info.DirectoryPath & "\data.mdb"
  7.         tableName = "MyTable"
  8.         Dim strConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & file
  9.         connection = New OleDbConnection(strConnectionString)
  10.         connection.Open()
  11.         Dim adapter = New OleDbDataAdapter("SELECT * FROM " & tableName, connection)
  12.         Dim myTable As New DataTable
  13.         adapter.Fill(myTable)
  14.         DataGridView1.DataSource = myTable
  15.     End Sub
  16.  
  17.     Private Sub DataGridView1_CellBeginEdit(sender As Object, e As DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
  18.         If e.ColumnIndex = 0 Then e.Cancel = True 'Ko cho sửa cột Id
  19.     End Sub
  20.     Private Sub DataGridView1_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
  21.         Dim Id = DataGridView1.Rows(e.RowIndex).Cells(0).Value
  22.         Dim Field = DataGridView1.Columns(e.ColumnIndex).Name
  23.         Dim newValue = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
  24.  
  25.         Dim command = New OleDbCommand("UPDATE " & tableName & " SET " & Field & "='" & newValue & "' WHERE Id=" & Id, connection)
  26.         command.CommandType = CommandType.Text
  27.         command.ExecuteNonQuery()
  28.         MsgBox("Updated: Id=" & Id & ", col=" & Field & ", value=" & newValue)
  29.     End Sub
  30. End Class
  31.  
  32.  
Nhận code VB.NET theo yêu cầu

d1207t
Thành viên chính thức
Thành viên chính thức
Posts: 31
Joined: Mon 11/07/2011 4:31 pm
Location: Đồ sơn - Hải Phòng
Has thanked: 1 time
Been thanked: 4 times
Contact:

Re: Chỉnh sửa file access trong vb.net 2010

Postby d1207t » Wed 08/05/2019 5:07 pm

Cảm ơn bác đã tương trợ ạ, em muốn hỏi tí xíu nữa là nếu bảng của em k có ID (primary key) thì có được k ạ

User avatar
thuanfun
Thành viên tích cực
Thành viên tích cực
Posts: 144
Joined: Thu 06/11/2008 7:46 pm
Been thanked: 11 times

Re: Chỉnh sửa file access trong vb.net 2010

Postby thuanfun » Wed 08/05/2019 5:12 pm

primary key được chứ! Cái Id đó để khi Update không nhầm dòng thôi, miễn mà nó không NULL và không trùng lặp là được.
Ngoài ra bạn cần Edit câu lệnh Update với trường hợp Value không phải là Text (String) thì bỏ dấu nháy '...' 2 bên value đi.
Nhận code VB.NET theo yêu cầu

ngocvinh
Guru
Guru
Posts: 701
Joined: Wed 23/04/2008 8:14 am
Location: Biên Hòa Đồng Nai
Been thanked: 113 times

Re: Chỉnh sửa file access trong vb.net 2010

Postby ngocvinh » Wed 17/07/2019 10:54 pm

Dùng Commandbuider cập nhật cho gọn
.NET

User avatar
xuanquy_th
Guru
Guru
Posts: 803
Joined: Tue 05/08/2008 9:15 pm
Location: Thanh Hoá
Has thanked: 1 time
Been thanked: 10 times
Contact:

Re: Chỉnh sửa file access trong vb.net 2010

Postby xuanquy_th » Sat 20/07/2019 7:21 am

"Dùng Commandbuider cập nhật cho gọn" Muốn gọn thì lại phải có Primary Key nhé
Khi Chúa Trời đóng cánh cửa này lại, Ngài sẽ mở một cánh cửa khác cho ta.
Nhưng ta thường nhìn quá lâu vào cánh cửa đã đóng nên không thấy được có một cánh cửa khác đang mở ra cho ta!!!


Return to “Visual Basic .NET và C# (VB.NET & C#)”

Who is online

Users browsing this forum: No registered users and 4 guests