PDA

View Full Version : Hỏi cách tạo Form đăng nhập trong Access



phuyen89
17-10-09, 11:01 AM
Chào mọi người.Mình có vấn đề này không biết làm như thế nào,chỉ biết làm mẫu thôi.Khi đặt PW cho Access thì dùng phần mêm phá PW chỉ có 10s là mở ra liền.Vì vật em thiết kế ra cái Form đăng nhập.
Khi người dùng nhập đúng tên truy cập do mình quy định và bấm đúng mật khẩu.Nhấn nút OK thì:
+nếu đúng mật khẩu và tên truy cập thì cho đăng nhập vào.
+Nếu sai thì sau khoảng 3 lần thì tự động thoát
Trường hợp người dùng nhập rồi nhưng không muốn nhấn OK mà nhấn CANCEL thì thoát luôn.
File của em thiết kế như sau:

----------
Lần sau bạn chú ý đặt tên đề tài cho rõ hơn nhé

Hai Lúa Miền Tây
18-10-09, 11:39 AM
Chào mọi người.Mình có vấn đề này không biết làm như thế nào,chỉ biết làm mẫu thôi.Khi đặt PW cho Access thì dùng phần mêm phá PW chỉ có 10s là mở ra liền.Vì vật em thiết kế ra cái Form đăng nhập.
Khi người dùng nhập đúng tên truy cập do mình quy định và bấm đúng mật khẩu.Nhấn nút OK thì:
+nếu đúng mật khẩu và tên truy cập thì cho đăng nhập vào.
+Nếu sai thì sau khoảng 3 lần thì tự động thoát
Trường hợp người dùng nhập rồi nhưng không muốn nhấn OK mà nhấn CANCEL thì thoát luôn.
File của em thiết kế như sau:

----------
Lần sau bạn chú ý đặt tên đề tài cho rõ hơn nhé
Trước tiên bạn nên thiết kế 1 table để ghi thông tin cho người dùng.
Code như sau:

Trong Module:

Option Compare Database
Public lngMyEmpID As Long


Code trong form đăng nhập:


Option Compare Database
Private intLogonAttempts As Integer
Private Sub cboEmployee_NotInList(NewData As String, _
Response As Integer)
MsgBox "Ban phai nhap dung 'User name' cua ban.", _
vbInformation, Me.Caption
Response = acDataErrContinue
End Sub
Private Sub cmdCancel_Click()
On Error GoTo Err_cmdCancel_Click
DoCmd.Quit
Exit_cmdCancel_Click:
Exit Sub
Err_cmdCancel_Click:
MsgBox Err.Description
Resume Exit_cmdCancel_Click
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.cboEmployee.SetFocus
End Sub
Private Sub cboEmployee_AfterUpdate()
txtstrAccess = DLookup("strAccess", "tblEmployees", _
"[lngEmpID]=" & Me.cboEmployee.Value)
Me!txtUserName = Me!cboEmployee.Column(1)
Me.txtPassword.SetFocus
End Sub
Private Sub cmdLogin_Click()
If IsNull(Me.cboEmployee) Or Me.cboEmployee = "" Then
MsgBox "Ban phai chon 'User Name' cua ban.", _
vbCritical, "User name"
Me.cboEmployee.SetFocus
Exit Sub
End If
If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
MsgBox "Ban phai nhap mat khau cua ban vao o 'Password'.", _
vbCritical, "Nhap mat khau"
Me.txtPassword.SetFocus
Exit Sub
End If
If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
"[lngEmpID]=" & Me.cboEmployee.Value) Then
lngMyEmpID = Me.cboEmployee.Value
MsgBox "Ban da dang nhap thanh cong...", vbInformation, "Dang nhap..."
DoCmd.OpenForm "frmMain"
Me.Visible = False
Else
MsgBox "Mat khau khong dung. Vui long nhap lai.", _
vbExclamation, "Sai mat khau!"
Me.txtPassword.SetFocus
End If
intLogonAttempts = intLogonAttempts + 1
If intLogonAttempts > 2 Then
MsgBox "Mat khau khong dung, chuong trinh se thoat. Vui long lien he voi Admin.", _
vbCritical, "Mat khau!"
Application.Quit
End If
End Sub


Bạn tham khảo thêm file đính kèm nhe.

Lixon
18-11-09, 03:09 PM
Mình cũng đang gặp khó khăn giống chủ topic, mình đã down file login về, file này rất hay, nhưng mình không biết làm cách nào để nhập nó vào phần mềm của mình cả. Bạn có thể chỉ mình cách nhập nó vào chương trình giúp mình không? Xin cám ơn

Hai Lúa Miền Tây
21-11-09, 05:00 PM
Mình cũng đang gặp khó khăn giống chủ topic, mình đã down file login về, file này rất hay, nhưng mình không biết làm cách nào để nhập nó vào phần mềm của mình cả. Bạn có thể chỉ mình cách nhập nó vào chương trình giúp mình không? Xin cám ơn
Trước hết bạn mở file của bạn ra trong ngăng Table click phải chuột, chọn Import... chọn file cần import, chọn gờ Table tblEmployees, Gờ Form chọn frmLogin, xong Import bình thường thôi bạn.
Chỉnh lại code khi đăng nhập thành công thì mở form bạn muốn hiện đầu tiên, và chỉnh lại phần startup là form frmlogin.
Chúc bạn thành công

vanton_dk
08-12-09, 06:09 PM
chào các anh chị, em đang học về cơ sở dữ liệu về Access, em cũng thử làm Form đăng nhập như hướng dẫn của anh chị ở trên, em làm nó chay rồi, xong thỉnh thoảng nó lại mắc lỗi: nhập đúng mật khẩu và tên người dùng rồi mà vẫn báo lỗi dăng nhập sai. em ko hiểu mong anh chị chỉ giúp, em cảm ơn trước nhé!
em gửi bài kèm theo

vanton_dk
08-12-09, 06:40 PM
file kèm theo
http://www.mediafire.com/?xgq3myxynn2

em xem lại rồi. cứ đăng nhập quá 2 lần là lại bị như vậy.Em chchưa biết nhiều về VBA , hình như theo em hiểu thì cái biến lưu số lần đăng nhập sai( quá 3 lần đăng chương trình sẽ thoát ) , nó lưu cả lần đăng nhập đúng. tại em chạy Form này thử riêng mà. anh chị nào chỉ dum em cái, bí nhất thì em cho cái điều kiện này lớn hơn nữa, thì ko có lỗi này.
intLogonAttempts = intLogonAttempts + 1
If intLogonAttempts > 2 Then
MsgBox "Mat khau khong dung, chuong trinh se thoat. Vui long lien he voi Admin.", _
vbCritical, "Mat khau!"
Application.Quit
End If
End Sub

chào anh chị, cái lỗi này em đã xử lý rồi ạ. chỉ cần gán biết nhớ số lần đăng nhập, khi đăng nhập thành công =0, thì chương trình chạy ổn định ko xảy ra lỗi nữa.

nguyentrungse7en
17-06-10, 08:38 PM
Nhưng cậu ơi, chỉnh code cho phù hợp với form bạn muốn mở sau khi đăng nhập thành công ở chôc nào thế?

phatnq2002
19-06-10, 10:18 PM
Trước tiên bạn nên thiết kế 1 table để ghi thông tin cho người dùng.
Code như sau:

Trong Module:

Option Compare Database
Public lngMyEmpID As Long


Code trong form đăng nhập:


Option Compare Database
Private intLogonAttempts As Integer
Private Sub cboEmployee_NotInList(NewData As String, _
Response As Integer)
MsgBox "Ban phai nhap dung 'User name' cua ban.", _
vbInformation, Me.Caption
Response = acDataErrContinue
End Sub
Private Sub cmdCancel_Click()
On Error GoTo Err_cmdCancel_Click
DoCmd.Quit
Exit_cmdCancel_Click:
Exit Sub
Err_cmdCancel_Click:
MsgBox Err.Description
Resume Exit_cmdCancel_Click
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.cboEmployee.SetFocus
End Sub
Private Sub cboEmployee_AfterUpdate()
txtstrAccess = DLookup("strAccess", "tblEmployees", _
"[lngEmpID]=" & Me.cboEmployee.Value)
Me!txtUserName = Me!cboEmployee.Column(1)
Me.txtPassword.SetFocus
End Sub
Private Sub cmdLogin_Click()
If IsNull(Me.cboEmployee) Or Me.cboEmployee = "" Then
MsgBox "Ban phai chon 'User Name' cua ban.", _
vbCritical, "User name"
Me.cboEmployee.SetFocus
Exit Sub
End If
If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
MsgBox "Ban phai nhap mat khau cua ban vao o 'Password'.", _
vbCritical, "Nhap mat khau"
Me.txtPassword.SetFocus
Exit Sub
End If
If Me.txtPassword.Value = DLookup("strEmpPassword", "tblEmployees", _
"[lngEmpID]=" & Me.cboEmployee.Value) Then
lngMyEmpID = Me.cboEmployee.Value
MsgBox "Ban da dang nhap thanh cong...", vbInformation, "Dang nhap..."
DoCmd.OpenForm "frmMain"
Me.Visible = False
Else
MsgBox "Mat khau khong dung. Vui long nhap lai.", _
vbExclamation, "Sai mat khau!"
Me.txtPassword.SetFocus
End If
intLogonAttempts = intLogonAttempts + 1
If intLogonAttempts > 2 Then
MsgBox "Mat khau khong dung, chuong trinh se thoat. Vui long lien he voi Admin.", _
vbCritical, "Mat khau!"
Application.Quit
End If
End Sub


Bạn tham khảo thêm file đính kèm nhe.

Ở đây tôi hơi "phân vân" một cái là theo thông lệ, password là có phân biệt hoa thường. Theo cách của bạn, thì bạn dùng hàm DLookup để tìm dò password. Nhưng mặc định, nếu bạn Option Compare Database là nó sẽ coi HOA như thường. Như vậy là chưa ổn.
Bạn nên đổi lại là Option Compare Binary.

Vấn đề tiếp theo là để password "mộc" như thế vẫn hơi "lộ liễu", bởi vì nếu tôi sử dụng một cái soft nào đó để tôi mở file Access ra, xem cái table là biết password liền, đúng không?

Password khi lưu cần phải mã hóa. Khi so sánh cũng nên so sánh trên các password đã mã hóa, như vậy mới tạm ổn.

nthienthbk53
14-11-10, 11:01 PM
Chào các anh chị, em cũng đnag học về access. Nhưng liệu em muốn tạo mục đăng nhập mà không dung VBA có được không anh chị ơi. Vì cái đo em chưa học nah. Anh chị nào giúp em với. em cám ơn nhiều

ckc2006
24-11-10, 09:51 PM
Với code trên nếu như mình muốn khi login thành công vào form main thì sẽ có menu bar kèm theo và mình sẽ phân quyền theo strAccess để menubar sẽ mờ đi một vài chức năng theo yêu cầu. Nhờ các bạn gợi ý cách làm.

Thank

Hai Lúa Miền Tây
27-12-10, 07:57 AM
Vấn đề tiếp theo là để password "mộc" như thế vẫn hơi "lộ liễu", bởi vì nếu tôi sử dụng một cái soft nào đó để tôi mở file Access ra, xem cái table là biết password liền, đúng không?

Password khi lưu cần phải mã hóa. Khi so sánh cũng nên so sánh trên các password đã mã hóa, như vậy mới tạm ổn.

2.) Đây là UDF mã hoá chuổi:


Public Function Encode(vText As String)
On Error GoTo ErrHandler
Dim CurSpc As Integer
Dim varLen As Integer
Dim varChr As String
Dim varFin As String
varLen = Len(vText)
Do While CurSpc <= varLen
DoEvents
CurSpc = CurSpc + 1
varChr = Mid(vText, CurSpc, 1)
Select Case varChr
'lower case
Case "a"
varChr = "coe"
Case "b"
varChr = "wer"
Case "c"
varChr = "ibq"
Case "d"
varChr = "am7"
Case "e"
varChr = "pm1"
Case "f"
varChr = "mop"
Case "g"
varChr = "9v4"
Case "h"
varChr = "qu6"
Case "i"
varChr = "zxc"
Case "j"
varChr = "4mp"
Case "k"
varChr = "f88"
Case "l"
varChr = "qe2"
Case "m"
varChr = "vbn"
Case "n"
varChr = "qwt"
Case "o"
varChr = "pl5"
Case "p"
varChr = "13s"
Case "q"
varChr = "c%l"
Case "r"
varChr = "w$w"
Case "s"
varChr = "6a@"
Case "t"
varChr = "!2&"
Case "u"
varChr = "(=c"
Case "v"
varChr = "wvf"
Case "w"
varChr = "dp0"
Case "x"
varChr = "w$-"
Case "y"
varChr = "vn&"
Case "z"
varChr = "c*4"
'numbers
Case "1"
varChr = "aq@"
Case "2"
varChr = "902"
Case "3"
varChr = "2.&"
Case "4"
varChr = "/w!"
Case "5"
varChr = "|pq"
Case "6"
varChr = "ml|"
Case "7"
varChr = "t'?"
Case "8"
varChr = ">^s"
Case "9"
varChr = "<s^"
Case "0"
varChr = ";&c"
'caps
Case "A"
varChr = "$)c"
Case "B"
varChr = "-gt"
Case "C"
varChr = "|p*"
Case "D"
varChr = "1" & Chr(34) & "r"
Case "E"
varChr = "c>:"
Case "F"
varChr = "@+x"
Case "G"
varChr = "v^a"
Case "H"
varChr = "]eE"
Case "I"
varChr = "aP0"
Case "J"
varChr = "{=1"
Case "K"
varChr = "cWv"
Case "L"
varChr = "cDc"
Case "M"
varChr = "*,!"
Case "N"
varChr = "fW" & Chr(34)
Case "O"
varChr = ".?T"
Case "P"
varChr = "%<8"
Case "Q"
varChr = "@:a"
Case "R"
varChr = "&c$"
Case "S"
varChr = "WnY"
Case "T"
varChr = "{Sh"
Case "U"
varChr = "_%M"
Case "V"
varChr = "}'$"
Case "W"
varChr = "QlU"
Case "X"
varChr = "Im^"
Case "Y"
varChr = "l|P"
Case "Z"
varChr = ".>#"
'Special characters
Case "!"
varChr = "\" & Chr(34) & "]"
Case "@"
varChr = "cY,"
Case "#"
varChr = "x%B"
Case "$"
varChr = "a*v"
Case "%"
varChr = "'&T"
Case "^"
varChr = ";%R"
Case "&"
varChr = "eG_"
Case "*"
varChr = "Z/e"
Case "("
varChr = "rG\"
Case ")"
varChr = "]*F"
Case "_"
varChr = "@B*"
Case "-"
varChr = "+Hc"
Case "="
varChr = "&|D"
Case "+"
varChr = "(:#"
Case "["
varChr = "SlW"
Case "]"
varChr = "'QB"
Case "{"
varChr = "{D>"
Case "}"
varChr = "+c%"
Case ":"
varChr = "(s:"
Case ";"
varChr = "^a("
Case "'"
varChr = "16."
Case Chr(34)
varChr = "s.*"
Case ","
varChr = "&?W"
Case "."
varChr = "GPQ"
Case "<"
varChr = "SK*"
Case ">"
varChr = "RL^"
Case "/"
varChr = "40C"
Case "?"
varChr = "?#9"
Case "\"
varChr = "_?/"
Case "|"
varChr = "(_@"
Case " "
varChr = "=#B"
End Select
varFin = varFin & varChr
DoEvents
Loop
Encode = varFin
Exit Function
ErrHandler:
Dim ErrNum, ErrDesc, ErrSource
ErrNum = Err.Number
ErrDesc = Err.Description
ErrSource = Err.Source
MsgBox "Error# = " & ErrNum & vbCrLf & "Description = " & ErrDesc & vbCrLf & "Source = " & ErrSource, vbCritical + vbOKOnly, "Program Error!"
Err.Clear
Exit Function
End Function

2.) UDF chuyển chuổi đã mã hoá thành chuổi bình thường.


Public Function DeCode(vText As String) As String
On Error GoTo ErrHandler
Dim CurSpc As Integer
Dim varLen As Integer
Dim varChr As String
Dim varFin As String
CurSpc = CurSpc + 1
varLen = Len(vText)
Do While CurSpc <= varLen
DoEvents
varChr = Mid(vText, CurSpc, 3)
Select Case varChr
'lower case
Case "coe"
varChr = "a"
Case "wer"
varChr = "b"
Case "ibq"
varChr = "c"
Case "am7"
varChr = "d"
Case "pm1"
varChr = "e"
Case "mop"
varChr = "f"
Case "9v4"
varChr = "g"
Case "qu6"
varChr = "h"
Case "zxc"
varChr = "i"
Case "4mp"
varChr = "j"
Case "f88"
varChr = "k"
Case "qe2"
varChr = "l"
Case "vbn"
varChr = "m"
Case "qwt"
varChr = "n"
Case "pl5"
varChr = "o"
Case "13s"
varChr = "p"
Case "c%l"
varChr = "q"
Case "w$w"
varChr = "r"
Case "6a@"
varChr = "s"
Case "!2&"
varChr = "t"
Case "(=c"
varChr = "u"
Case "wvf"
varChr = "v"
Case "dp0"
varChr = "w"
Case "w$-"
varChr = "x"
Case "vn&"
varChr = "y"
Case "c*4"
varChr = "z"
'numbers
Case "aq@"
varChr = "1"
Case "902"
varChr = "2"
Case "2.&"
varChr = "3"
Case "/w!"
varChr = "4"
Case "|pq"
varChr = "5"
Case "ml|"
varChr = "6"
Case "t'?"
varChr = "7"
Case ">^s"
varChr = "8"
Case "<s^"
varChr = "9"
Case ";&c"
varChr = "0"
'caps
Case "$)c"
varChr = "A"
Case "-gt"
varChr = "B"
Case "|p*"
varChr = "C"
Case "1" & Chr(34) & "r"
varChr = "D"
Case "c>:"
varChr = "E"
Case "@+x"
varChr = "F"
Case "v^a"
varChr = "G"
Case "]eE"
varChr = "H"
Case "aP0"
varChr = "I"
Case "{=1"
varChr = "J"
Case "cWv"
varChr = "K"
Case "cDc"
varChr = "L"
Case "*,!"
varChr = "M"
Case "fW" & Chr(34)
varChr = "N"
Case ".?T"
varChr = "O"
Case "%<8"
varChr = "P"
Case "@:a"
varChr = "Q"
Case "&c$"
varChr = "R"
Case "WnY"
varChr = "S"
Case "{Sh"
varChr = "T"
Case "_%M"
varChr = "U"
Case "}'$"
varChr = "V"
Case "QlU"
varChr = "W"
Case "Im^"
varChr = "X"
Case "l|P"
varChr = "Y"
Case ".>#"
varChr = "Z"
'Special characters
Case "\" & Chr(34) & "]"
varChr = "!"
Case "cY,"
varChr = "@"
Case "x%B"
varChr = "#"
Case "a*v"
varChr = "$"
Case "'&T"
varChr = "%"
Case ";%R"
varChr = "^"
Case "eG_"
varChr = "&"
Case "Z/e"
varChr = "*"
Case "rG\"
varChr = "("
Case "]*F"
varChr = ")"
Case "@B*"
varChr = "_"
Case "+Hc"
varChr = "-"
Case "&|D"
varChr = "="
Case "(:#"
varChr = "+"
Case "SlW"
varChr = "["
Case "'QB"
varChr = "]"
Case "{D>"
varChr = "{"
Case "+c%"
varChr = "}"
Case "(s:"
varChr = ":"
Case "^a("
varChr = ";"
Case "16."
varChr = "'"
Case "s.*"
varChr = Chr(34)
Case "&?W"
varChr = ","
Case "GPQ"
varChr = "."
Case "SK*"
varChr = "<"
Case "RL^"
varChr = ">"
Case "40C"
varChr = "/"
Case "?#9"
varChr = "?"
Case "_?/"
varChr = "\"
Case "(_@"
varChr = "|"
Case "=#B"
varChr = " "
End Select
varFin = varFin & varChr
CurSpc = CurSpc + 3
DoEvents
Loop
DeCode = varFin
Exit Function
ErrHandler:
Dim ErrNum, ErrDesc, ErrSource
ErrNum = Err.Number
ErrDesc = Err.Description
ErrSource = Err.Source
MsgBox "Error# = " & ErrNum & vbCrLf & "Description = " & ErrDesc & vbCrLf & "Source = " & ErrSource, vbCritical + vbOKOnly, "Program Error!"
Err.Clear
Exit Function
End FunctionNhư vậy bạn có thể sử dụng 2 UDF này để thực hiện yêu cầu của bạn.

Lưu ý: Nó không hổ trợ kiểu gõ có dấu. Nếu muốn chữ có dấu bạn tự thêm nhé.

vanrongvn
04-01-11, 10:49 AM
Với Formlogin đó thì OK rồi

vanrongvn
17-01-11, 11:37 AM
Mình vừa thiết kế Access này gới bạn tham khảo
http://www.mediafire.com/?7jkuczwidji85oi (http://www.mediafire.com/?7jkuczwidji85oi)
nếu có ý kiến nào hay góp ý cho mình

dinhbacvip
16-03-11, 09:57 PM
pass là gì thế bạn??

dailykem
02-09-11, 10:30 AM
login kiểu này khó sử dụng nhỉ?
chẳng hiện ra login luôn mà hiện ra toàn số mã gì đó

pass là gì thế bạn??
acc admin, pass admin

lehoanganhduc
09-09-11, 10:23 AM
Xin cho hỏi, nếu tạo bàng chứa Password như vậy thì người nào đó mở được bảng này thì biết hết password sao?

Hai Lúa Miền Tây
09-09-11, 12:31 PM
Xin cho hỏi, nếu tạo bàng chứa Password như vậy thì người nào đó mở được bảng này thì biết hết password sao?
Đây chỉ là ví dụ, còn việc sử dụng thì tùy biến, ví dụ mã hóa pass + csdl... Cho dù có mở cũng khó biết được.

dark37
06-01-12, 06:49 PM
mình có frm như sau .. sao mình ko thể liên kết tới access mong các bạn giúp mình sớm , mình đang cần ... lúc mình chạy chương trình bằng vb .. nó ko hiện frm ra ..


public partial class Login : DevComponents.DotNetBar.Office2007RibbonForm
{
public Login()
{
InitializeComponent();
}
#region "Biến cục bộ trong form"
public OleDbConnection objConnect;
private DataTable objDataTable;
private DataTable objDataTable1;


#endregion
#region "Tạo và hủy kết nối với database"
private void ketnoidata()
{
String chuoikn = "Provider = Microsoft.Jet.OLEDB.4.0 ;" +
"Data Source = Nhom8_CNTT 16GT" + Application.StartupPath + @"\C:\Users\NHAT-IT\Desktop\Nhom 8\Nhom8_CNTT 16GT\qlxm.mdb;";
objConnect = new OleDbConnection(chuoikn);
objConnect.Open(); // Mở kết nối
}
private void huyketnoidata()
{
objConnect.Close(); // Đóng kết nối
objConnect.Dispose(); // Giải phóng tài nguyên
objConnect = null; // Hủy đối tượng
}
#endregion
public bool CheckLogin(string name, string pass)
{
String chuoikn = "Provider = Microsoft.Jet.OLEDB.4.0 ;" +
"Data Source = Nhom8_CNTT 16GT" + Application.StartupPath + @"\C:\Users\NHAT-IT\Desktop\Nhom 8\Nhom8_CNTT 16GT\qlxm.mdb;";
objConnect = new OleDbConnection(chuoikn);
// Tạo Command
OleDbCommand cmd = new OleDbCommand("select * from Dang_Nhap where UserName='" + name + "' and PassWord='" + pass + "'", objConnect);
objConnect.Open(); // Mở kết nối
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
objConnect.Close();
return true;
}
objConnect.Close();
return false;
}


private void buttonX2_Click(object sender, EventArgs e)
{
this.Close();
}


private void buttonX1_Click(object sender, EventArgs e)
{
if (CheckLogin(txt_user.Text, txt_pass.Text))
{
main frmmain = new main();
frmmain.Show();

}
else
MessageBox.Show("Đăng nhập thất bại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}

nguoiconxunui
13-01-12, 05:32 PM
mình có frm như sau .. sao mình ko thể liên kết tới access mong các bạn giúp mình sớm , mình đang cần ... lúc mình chạy chương trình bằng vb .. nó ko hiện frm ra ..


public partial class Login : DevComponents.DotNetBar.Office2007RibbonForm
{
public Login()
{
InitializeComponent();
}
#region "Biến cục bộ trong form"
public OleDbConnection objConnect;
private DataTable objDataTable;
private DataTable objDataTable1;


#endregion
#region "Tạo và hủy kết nối với database"
private void ketnoidata()
{
String chuoikn = "Provider = Microsoft.Jet.OLEDB.4.0 ;" +
"Data Source = Nhom8_CNTT 16GT" + Application.StartupPath + @"\C:\Users\NHAT-IT\Desktop\Nhom 8\Nhom8_CNTT 16GT\qlxm.mdb;";
objConnect = new OleDbConnection(chuoikn);
objConnect.Open(); // Mở kết nối
}
private void huyketnoidata()
{
objConnect.Close(); // Đóng kết nối
objConnect.Dispose(); // Giải phóng tài nguyên
objConnect = null; // Hủy đối tượng
}
#endregion
public bool CheckLogin(string name, string pass)
{
String chuoikn = "Provider = Microsoft.Jet.OLEDB.4.0 ;" +
"Data Source = Nhom8_CNTT 16GT" + Application.StartupPath + @"\C:\Users\NHAT-IT\Desktop\Nhom 8\Nhom8_CNTT 16GT\qlxm.mdb;";
objConnect = new OleDbConnection(chuoikn);
// Tạo Command
OleDbCommand cmd = new OleDbCommand("select * from Dang_Nhap where UserName='" + name + "' and PassWord='" + pass + "'", objConnect);
objConnect.Open(); // Mở kết nối
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
objConnect.Close();
return true;
}
objConnect.Close();
return false;
}


private void buttonX2_Click(object sender, EventArgs e)
{
this.Close();
}


private void buttonX1_Click(object sender, EventArgs e)
{
if (CheckLogin(txt_user.Text, txt_pass.Text))
{
main frmmain = new main();
frmmain.Show();

}
else
MessageBox.Show("Đăng nhập thất bại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}

Nhảm hả, cái này người ta viết bằng C# , dùng vb chạy thế nào được mà form thì phải tạo chứ có code không thì làm ăn kiểu gì
Đó là chưa kể người ta dùng Components tùm lum kia,