• 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

VB.Net và Access Database

Các bài viết hướng dẫn về Visual Basic .NET và C#

Moderators: tungcan5diop, QUANITGROBEST

Tuan1102
Posts: 5
Joined: Sat 18/09/2010 1:03 am

Re: VB.Net và Access Database

Postby Tuan1102 » Sat 18/09/2010 2:40 am

Cho em hỏi câu này, chẳng là em đang thử lập trình 1 ứng dụng quản lý nhỏ sử dụng CSDL là Access. Trong đó có mục login với 2 trường mà acc và pass. Nay em muốn làm sao để khi người dùng gõ đúng acc và pass thì mới mở form kế tiếp.
Cách làm của em như sau:

Public Class LoginForm2

' TODO: Insert code to perform custom authentication using the provided username and password
' (See http://go.microsoft.com/fwlink/?LinkId=35339).
' The custom principal can then be attached to the current thread's principal as follows:
' My.User.CurrentPrincipal = CustomPrincipal
' where CustomPrincipal is the IPrincipal implementation used to perform authentication.
' Subsequently, My.User will return identity information encapsulated in the CustomPrincipal object
' such as the username, display name, etc.
Dim acc1, acc2 As String
Dim pass1, pass2 As String


Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

acc1 = UsernameTextBox.Text
pass1 = PasswordTextBox.Text
acc2 = Db1DataSet.Tài_khoản.Mã_nhân_viênColumn.Container.ToString
pass2 = Db1DataSet.Tài_khoản.Mật_khẩuColumn.Container.ToString


If acc1.Length = 0 Or pass1.Length = 0 Then
MsgBox("Xin hãy nhập lại thông tin")
Else

If acc1 Like acc2 And pass1 Like pass2 Then
Form2.Show()
Form1.Hide()
Me.Hide()
Else
MsgBox("Sai tên người dùng hoặc mật khẩu, hãy nhập lại")
End If

End If

End Sub

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
Me.Close()
End Sub

Private Sub LoginForm2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Db1DataSet.Tài_khoản' table. You can move, or remove it, as needed.
Me.Tài_khoảnTableAdapter.Fill(Me.Db1DataSet.Tài_khoản)

End Sub

End Class


Cách mà em nghĩ ra là lấy các giá trị của cột "Mã nhân viên" trong bảng "Tài khoản" đặt vào biến acc2 sau đó thì đem so sánh với đoạn text trong text box (biến acc1) => Đúng thì cho đi tiếp form kế. Tương tự với dòng password
Nhưng có lẽ là 2 dòng được đánh dấu đỏ của em bị sai, rất mong mọi người chỉ giùm cho cách sửa. Đây là lần đầu em tập làm với CSDL nên chưa biết gì, bản thân 2 dòng lệnh gán giá trị cho acc2 và pass2 là em tự nghĩ ra nên chắc là sai hoàn toàn



User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Sat 18/09/2010 9:26 am

Bạn vui lòng xem tại đây!
Ta đã trở lại và quên hết tất cả! :D

hachun
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sun 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Postby hachun » Sun 26/09/2010 9:44 pm

Nhờ sự giúp đỡ của các bạn tôi đã làm được phần thêm, xóa, sửa bản ghi trong một số bảng của CSDL.
Cho mình hỏi tiếp nhé!
Giả sử trong CSDL đã có bảng Nhà cung cấp và hàng hóa và đã có một số bản ghi, bây giờ ta làm phiếu nhập kho. Trong form nhập kho có 2 list box. Một là danh sách hàng hóa, hai là danh sách nhà cung cấp. Vậy cách nạp dữ liệu vào hai list box này với nguồn từ hai bảng Nhà cung cấp và Hoàng hóa.
Hoặc phiếu xuất lấy thông tin từ nhiều bảng như: Hàng hóa, Khách hàng, Nhân viên
Mong các bạn giúp đỡ!
Do trục trặc về mạng nên tôi không up lên diễn đàn được, mong các bạn thông cảm
Project Demo: http://www.mediafire.com/file/830y3c9z237awa0/BH.rar

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Mon 27/09/2010 1:08 pm

Hơ, bạn muốn lấy dữ liệu từ dưới CSDL đổ lên ListBox phải không? Cách nạp cũng dễ mà ta. :D
Ta đã trở lại và quên hết tất cả! :D

hachun
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sun 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Postby hachun » Mon 04/10/2010 10:03 pm

Cảm ơn lungocqua và các bạn rất nhiều. Mình đã làm được một chút rồi. Nhưng đến phần phiếu xuất thì gặp vướng mắc.
Một phiếu xuất thì có một nhiều hàng hóa, nhưng mình không biết cách thêm nhiều hàng hóa, mà chỉ có mỗi phiếu một linh kiện thôi. Giúp mình với!

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Mon 04/10/2010 10:59 pm

Cái bảng này lưu trong một bảng riêng phải không bạn?
Nếu vậy thì cứ lưu nó vào một bảng. Bảng này nếu muốn thì tạo một cái khóa chính dạng tự động còn không thì không cần rồi sau đó nó có cột là mã phiếu xuất, cột kế là tên các mặt hàng. Mỗi cột mã phiếu xuất thì có nhiều dòng trùng nhau, cái đó cũng không sao vì nó không là khóa chính nên không sợ. Khi nào cần thì cứ dùng thêm lệnh Where lấy tên mã phiếu xuất đó là được. Như vậy chắc là ổn! :D
Attachments
phieuxuat.zip
Mẫu ví dụ cấu trúc của phiếu xuất
(Access 2003)
(10.55 KiB) Downloaded 555 times
Ta đã trở lại và quên hết tất cả! :D

hachun
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sun 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Postby hachun » Thu 14/10/2010 9:40 pm

Cảm ơn lungocqua nhiều nhưng file này mình tải về không giải nén được, phiền bạn up lại được không?
Thời gian qua mình sốt ruột quá, vì diễn đàn không hoạt động.

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Fri 15/10/2010 12:04 am

Cái fil đó lúc diễn đàn chưa gặp sự cố thì tải về giải nén bình thường. Từ khi gặp sự cố rồi quét virus nên hỏng hết trơn luôn! :(
Ta đã trở lại và quên hết tất cả! :D

mrchelsea87
Posts: 2
Joined: Sun 24/10/2010 4:47 pm

Re: VB.Net và Access Database

Postby mrchelsea87 » Sun 24/10/2010 4:54 pm

Ai có file ma nguồn ví dụ hoàn chỉnh của anh Tuyên hoặc ai đó đã làm thành công về phần này share lên cho mình tham khảo dược không? Cảm ơn mọi người nhiều!!!

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Mon 25/10/2010 8:18 am

Bạn tìm ở trang này chắc sẽ có đó. Nó nằm rải rác khắp nơi! :D
Ta đã trở lại và quên hết tất cả! :D

hachun
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sun 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Postby hachun » Tue 02/11/2010 11:02 pm

Cảm ơn các bạn đã giúp đỡ tớ trong thời gian qua, bài của tớ còn gặp rất nhiều lỗi, nhưng sắp đến hạn rồi, vẫn phải nộp thôi.
Nhân tiện cho mình hỏi thêm vấn đề này. Giả sử mình có một textbox trong có số bất kỳ chẳng hạn 500, mình muốn có một label sẽ hiện số này thành chữ như trên sẽ làm "Năm trăm đồng" chẳng hạn. Mình tìm mãi mà không thấy (chỉ toàn bằng java thôi, mà mình không thạo để đổi về VBNET) mong các bạn giúp đỡ!

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Wed 03/11/2010 12:14 am

Cái này thì trên mạng cũng có. Cả web tiếng Việt và tiếng Anh điều có. Bạn tìm đi. Nhưng phải sửa lại thì mới đúng ý mình được. :D
http://www.c-sharpcorner.com/Forums/Sho ... adID=38232
http://www.demtron.com/blog/post/2009/0 ... Words.aspx
http://www.dreamincode.net/code/snippet2241.htm
...
:)
Ta đã trở lại và quên hết tất cả! :D

hachun
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sun 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Postby hachun » Thu 04/11/2010 2:15 am

Cảm ơn ban tôi đã làm được rồi! Cả cái txtchange trong textbox nữa.

hachun
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sun 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Postby hachun » Mon 08/11/2010 9:38 am

Xin hỏi các bạn, có cách nào tạo một lưới dữ liệu mà trong đó có chứa một combobox, và khi ta thêm dư liêu ở dòng trên thì sẽ tự sinh ra một dòng mới.

User avatar
nimgiaminh
Thành viên danh dự
Thành viên danh dự
Posts: 432
Joined: Sat 07/08/2010 9:24 am
Location: Ở dưới đó đó
Has thanked: 6 times
Been thanked: 18 times
Contact:

Re: VB.Net và Access Database

Postby nimgiaminh » Mon 08/11/2010 10:06 am

Ý của bạn là như thế nào??? :-/ :-/ :-/

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Mon 08/11/2010 10:09 am

hachun wrote:có cách nào tạo một lưới dữ liệu mà trong đó có chứa một combobox, và khi ta thêm dư liêu ở dòng trên thì sẽ tự sinh ra một dòng mới.

viewtopic.php?f=16&t=14793#p87649
Ta đã trở lại và quên hết tất cả! :D

hachun
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sun 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Postby hachun » Mon 08/11/2010 3:25 pm

Đúng là cái như thế này! Có cách nào để cái combo này lấy dữ liệu từ bảng nào đó không?
Xin lỗi các bạn vì đã hỏi nhiều, thật sự tôi không biết gì cả!

User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: VB.Net và Access Database

Postby lungocqua » Mon 08/11/2010 4:00 pm

  1. Public Class Form1
  2.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  3.         Dim Com As New DataGridViewComboBoxColumn
  4.         Com.Items.Add("Nam")'<- thay cái này bằng dữ liệu lấy từ một bảng nào đó là được
  5. 'ví dụ:
  6. 'for i as int32=0 to dt.rows.count-1
  7. 'Com.Items.Add(dt.rows(i)(0))
  8. 'next
  9.         Com.HeaderText = "Giới tính"
  10.         Com.Name = "gt"
  11.         DataGridView1.Columns.Add("hovaten", "Họ và Tên")
  12.         DataGridView1.Columns.Add(Com)
  13.     End Sub
  14. End Class
Ta đã trở lại và quên hết tất cả! :D

ltvvt
Thành viên chính thức
Thành viên chính thức
Posts: 19
Joined: Mon 01/11/2010 8:25 am

Re: VB.Net và Access Database

Postby ltvvt » Sun 14/11/2010 5:57 pm

  1.  Dim row As DataRow = dt.NewRow()
  2.         row("MASV") = TextBox5.Text
  3.         row("TENSV") = TextBox6.Text
  4.         DataGridView1.DataSource = dt
  5.         Dim commandInsert As New SqlCommand
  6.         commandInsert.Connection = conn
  7.         commandInsert.CommandType = CommandType.Text
  8.         commandInsert.CommandText = "Insert Into SINHVIEN Values (@MASV,@TENSN)"
  9.         commandInsert.Parameters.Add("@MASV", SqlDbType.Char, 10, "MASV")
  10.         commandInsert.Parameters.Add("@TENSV", SqlDbType.NVarChar, 50, "TENSV")
  11.         da.InsertCommand = commandInsert
  12.         da.Update(dt)
  13.  


[text] không có báo lỗi mà cũng không chạy lun, hjc xem giup em nó bị gì ấy????[/text]

ltvvt
Thành viên chính thức
Thành viên chính thức
Posts: 19
Joined: Mon 01/11/2010 8:25 am

Re: VB.Net và Access Database

Postby ltvvt » Sun 14/11/2010 5:59 pm

  1.  Dim row As DataRow = dt.NewRow()
  2.         row("MASV") = TextBox5.Text
  3.         row("TENSV") = TextBox6.Text
  4.         DataGridView1.DataSource = dt
  5.         Dim commandInsert As New SqlCommand
  6.         commandInsert.Connection = conn
  7.         commandInsert.CommandType = CommandType.Text
  8.         commandInsert.CommandText = "Insert Into SINHVIEN Values (@MASV,@TENSN)"
  9.         commandInsert.Parameters.Add("@MASV", SqlDbType.Char, 10, "MASV")
  10.         commandInsert.Parameters.Add("@TENSV", SqlDbType.NVarChar, 50, "TENSV")
  11.         da.InsertCommand = commandInsert
  12.         da.Update(dt)

[text] không có báo lỗi mà cũng không chạy lun,mấy anh xem nó bị gì dùm em cái [/text]


Return to “[.NET] Bài viết hướng dẫn”

Who is online

Users browsing this forum: No registered users and 2 guests