Tìm kiếm Tên nhân viên thông qua ID từ file excel khac.

Liên hệ QC

@momo

Thành viên mới
Tham gia
6/8/20
Bài viết
20
Được thích
3
Xin Chào các anh(chi) trong diễn đàn ah.
Mong các anh(chị) giúp em bài này với ah.
Mục đích của em là:sau khi nhập id và mật khẩu đăng nhập, (mật khẩu là:12345)nhấn ok thì form 1 đóng form2 mở ra ,và tên nhân viên tương ứng vơi id hiện ra.
Em có đăng file giả lập lên cho mọi người dễ hiểu.
Nếu có gì sai xót mong mọi người bỏ qua ah.
 

File đính kèm

  • ten nhan vien.xlsm
    341 KB · Đọc: 9
  • id_Name.xlsx
    9.9 KB · Đọc: 7
  • id_Name.xlsx
    9.9 KB · Đọc: 10
Xin Chào các anh(chi) trong diễn đàn ah.
Mong các anh(chị) giúp em bài này với ah.
Mục đích của em là:sau khi nhập id và mật khẩu đăng nhập, (mật khẩu là:12345)nhấn ok thì form 1 đóng form2 mở ra ,và tên nhân viên tương ứng vơi id hiện ra.
Em có đăng file giả lập lên cho mọi người dễ hiểu.
Nếu có gì sai xót mong mọi người bỏ qua ah.
Thêm dòng : Public strName As String trong Module1
thêm dòng : strName="tên nhân viên" trước dòng Unload Me (đóng Form1)=> bạn phải tìm "tên nhân viên" thông qua ID nhập khi sign in vào ở Form1

và thêm event khỏi động form2:
Private Sub UserForm_Initialize()
Me.TextBox1.Text = strNaame
End Sub

----------------------

Cái thread này hình như để vào khu vực này có gì sai sai thì phải???
 
Thêm dòng : Public strName As String trong Module1
thêm dòng : strName="tên nhân viên" trước dòng Unload Me (đóng Form1)=> bạn phải tìm "tên nhân viên" thông qua ID nhập khi sign in vào ở Form1

và thêm event khỏi động form2:
Private Sub UserForm_Initialize()
Me.TextBox1.Text = strNaame
End Sub

----------------------

Cái thread này hình như để vào khu vực này có gì sai sai thì phải???
Cảm ơn@ thnghiachau ah!
làm sao để tìm tên nhân viên strName="ten nhan vien"
Theo em nghĩ thì sử dụng kết nối trong sql và có tìm hiểu thử nhưng vẫn ngoài khả năng của em.Nên vẫn chưa được ah.
Nếu có thể anh giúp em với ah.
 
Cảm ơn@ thnghiachau ah!
làm sao để tìm tên nhân viên strName="ten nhan vien"
Theo em nghĩ thì sử dụng kết nối trong sql và có tìm hiểu thử nhưng vẫn ngoài khả năng của em.Nên vẫn chưa được ah.
Nếu có thể anh giúp em với ah.
Có rất nhiều cách lấy được tên nhân viên thông qua ID từ file excel khác (FIle-A)
1/ Cổ điển: mở FIle-A => dò tìm
2/ không mở file thông qua ADO và string SQL
3/ .... các cách khác mà tôi không biết....
bạn biết cái nào thì làm cái đó thôi!
 
Có rất nhiều cách lấy được tên nhân viên thông qua ID từ file excel khác (FIle-A)
1/ Cổ điển: mở FIle-A => dò tìm
2/ không mở file thông qua ADO và string SQL
3/ .... các cách khác mà tôi không biết....
bạn biết cái nào thì làm cái đó thôi!
Người ta đã nói là ngoài khả năng nên nhờ bạn giúp rồi mà.
 
Có rất nhiều cách lấy được tên nhân viên thông qua ID từ file excel khác (FIle-A)
1/ Cổ điển: mở FIle-A => dò tìm
2/ không mở file thông qua ADO và string SQL
3/ .... các cách khác mà tôi không biết....
bạn biết cái nào thì làm cái đó thôi!
Có rất nhiều cách lấy được tên nhân viên thông qua ID từ file excel khác (FIle-A)
1/ Cổ điển: mở FIle-A => dò tìm
2/ không mở file thông qua ADO và string SQL
3/ .... các cách khác mà tôi không biết....
bạn biết cái nào thì làm cái đó thôi!
Cảm ơn @thnghiachau ah!
Em cũng đang làm theo huong AD0,có tìm hiểu các bài tương tự trên diễn đàn và làm theo.
Em đã chỉnh cho phù hợp với bài của em.Nhưng bị tắc ở chổ là ,em sau khi tìm kiếm thì tên nhân viên sẽ in lên textbox chứ không phải là listbox ah.
Mong anh xem giúp ah.
Mã:
Public Function SearchDataFromClosedWorkbook(CloseWb As String, txt1 As String, txt2 As String)
    'CloseWb: file chua data
    'SQL: cu phap truy van du lieu
    'txt1: gia tri Textbox MA SO
    'txt2: gia tri Textbox Ten cong ty
    
    Dim cnn As Object, Rst As Object, SQL As String, SearchRes(), WbPath As String
    
    Set cnn = CreateObject("ADODB.Connection")
    Set Rst = CreateObject("ADODB.Recordset")
    'WbPath = ThisWorkbook.Path & "\" & CloseWb
    
    cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\" & CloseWb & _
            ";Extended Properties=""Excel 12.0;HDR=No;"""
    
    txt1 = """%" & txt1 & "%"""
    txt2 = """%" & txt2 & "%"""
    
    SQL = "SELECT * FROM [Sheet1$] WHERE F1 LIKE " & txt1 & " AND F2 Like " & txt2
    
    Set Rst = cnn.Execute(SQL)
    
    If Not Rst.EOF And Not Rst.bof Then
        SearchRes = Rst.getrows
        SearchDataFromClosedWorkbook = f_transpose2DArray(SearchRes)
    Else
        SearchDataFromClosedWorkbook = Array("khong co du lieu")
    End If
    Rst.Close
    cnn.Close
    
End Function

' ----------------------------------------------------------------
' Purpose: Transpose a 2D array
' ----------------------------------------------------------------

Public Function f_transpose2DArray(inputArray As Variant) As Variant

Dim x As Long, yUbound As Long
Dim y As Long, xUbound As Long
Dim tempArray As Variant

    xUbound = UBound(inputArray, 2) + 1
    yUbound = UBound(inputArray, 1) + 1
    
    ReDim tempArray(1 To xUbound, 1 To yUbound)
    
    For x = 1 To xUbound
        For y = 1 To yUbound
            tempArray(x, y) = inputArray(y - 1, x - 1)
        Next y
    Next x
    
    f_transpose2DArray = tempArray
    
End Function

Public Sub FillListBox()
    Dim Res()
    
    Res = SearchDataFromClosedWorkbook("id_Name.xlsx", CStr(UserForm1.TextBox3), CStr(UserForm1.TextBox2))
    UserForm1.ListBox1.Clear
    
    If UBound(Res) Then
        UserForm1.ListBox1.ColumnCount = UBound(Res, 2)
        UserForm1.ListBox1.List = Res
    Else
        UserForm1.ListBox1.ColumnCount = UBound(Res) + 1
        UserForm1.ListBox1.List = Res
    End If
End Sub
Bài đã được tự động gộp:

Người ta đã nói là ngoài khả năng nên nhờ bạn giúp rồi mà.
Người ta đã nói là ngoài khả năng nên nhờ bạn giúp rồi mà.
Cảm ơn ah!
Có gì mong anh giúp đỡ.
 
Người ta đã nói là ngoài khả năng nên nhờ bạn giúp rồi mà.
Dạ Dạ Dạ...
em mới học được cái lấy cả khối data (vd: A2:B16 trong Sheet1 của file "id_Name.xlsx" bằng ADO thôi...

Thầy chỉ giúp em cái string Sql như thế nào mà mình lấy đúng cái tên từ ID đi ạ.
Cám ơn thầy
 
Xin Chào các anh(chi) trong diễn đàn ah.
Mong các anh(chị) giúp em bài này với ah.
Mục đích của em là:sau khi nhập id và mật khẩu đăng nhập, (mật khẩu là:12345)nhấn ok thì form 1 đóng form2 mở ra ,và tên nhân viên tương ứng vơi id hiện ra.
Em có đăng file giả lập lên cho mọi người dễ hiểu.
Nếu có gì sai xót mong mọi người bỏ qua ah.
Sao không để chung 1 FIle mà lại phải để ở file khác vậy bạn.Mà nếu để File khác mà dùng ADO thì sao không để ở Access.
 
Sao không để chung 1 FIle mà lại phải để ở file khác vậy bạn.Mà nếu để File khác mà dùng ADO thì sao không để ở Access.
Cảm ơn @snow25 ah!
-File em đang làm là file khách hàng oder nên em không để chung file đuợc ah.
-Vốn dĩ đề bài của em là nó nằm trên hai file rieng biệt ah.
- Access thì em bó toàn thân anh ah,e khong biết gi vê access cả.
Nếu có gì mong anh giúp đỡ
 
Cảm ơn @thnghiachau ah!
Em cũng đang làm theo huong AD0,có tìm hiểu các bài tương tự trên diễn đàn và làm theo.
Em đã chỉnh cho phù hợp với bài của em.Nhưng bị tắc ở chổ là ,em sau khi tìm kiếm thì tên nhân viên sẽ in lên textbox chứ không phải là listbox ah.
Mong anh xem giúp ah.
Mã:
Public Function SearchDataFromClosedWorkbook(CloseWb As String, txt1 As String, txt2 As String)
    'CloseWb: file chua data
    'SQL: cu phap truy van du lieu
    'txt1: gia tri Textbox MA SO
    'txt2: gia tri Textbox Ten cong ty

    Dim cnn As Object, Rst As Object, SQL As String, SearchRes(), WbPath As String

    Set cnn = CreateObject("ADODB.Connection")
    Set Rst = CreateObject("ADODB.Recordset")
    'WbPath = ThisWorkbook.Path & "\" & CloseWb

    cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\" & CloseWb & _
            ";Extended Properties=""Excel 12.0;HDR=No;"""

    txt1 = """%" & txt1 & "%"""
    txt2 = """%" & txt2 & "%"""

    SQL = "SELECT * FROM [Sheet1$] WHERE F1 LIKE " & txt1 & " AND F2 Like " & txt2

    Set Rst = cnn.Execute(SQL)

    If Not Rst.EOF And Not Rst.bof Then
        SearchRes = Rst.getrows
        SearchDataFromClosedWorkbook = f_transpose2DArray(SearchRes)
    Else
        SearchDataFromClosedWorkbook = Array("khong co du lieu")
    End If
    Rst.Close
    cnn.Close

End Function

' ----------------------------------------------------------------
' Purpose: Transpose a 2D array
' ----------------------------------------------------------------

Public Function f_transpose2DArray(inputArray As Variant) As Variant

Dim x As Long, yUbound As Long
Dim y As Long, xUbound As Long
Dim tempArray As Variant

    xUbound = UBound(inputArray, 2) + 1
    yUbound = UBound(inputArray, 1) + 1

    ReDim tempArray(1 To xUbound, 1 To yUbound)

    For x = 1 To xUbound
        For y = 1 To yUbound
            tempArray(x, y) = inputArray(y - 1, x - 1)
        Next y
    Next x

    f_transpose2DArray = tempArray

End Function

Public Sub FillListBox()
    Dim Res()

    Res = SearchDataFromClosedWorkbook("id_Name.xlsx", CStr(UserForm1.TextBox3), CStr(UserForm1.TextBox2))
    UserForm1.ListBox1.Clear

    If UBound(Res) Then
        UserForm1.ListBox1.ColumnCount = UBound(Res, 2)
        UserForm1.ListBox1.List = Res
    Else
        UserForm1.ListBox1.ColumnCount = UBound(Res) + 1
        UserForm1.ListBox1.List = Res
    End If
End Sub
Dựa vào cái bạn đưa lên tôi làm thử cho bạn cái này...
xem file nha

-------------------------

TB: bạn có thể cho mình cái link mà bạn đã lấy code trên không để mình học ah... Cám ơn nhiều
 

File đính kèm

  • ten nhan vien.xlsm
    346.9 KB · Đọc: 7
Lần chỉnh sửa cuối:
Dựa vào cái bạn đưa lên tôi làm thử cho bạn cái này...
xem file nha

-------------------------

TB: bạn có thể cho mình cái link mà bạn đã lấy code trên không để mình học ah... Cám ơn nhiều
Cảm ơn @thnghiachau nhiều ah.
Mình sẽ xem có gì không hiểu xin phép đươch hỏi thêm.
Còn mã code đó thì mình xem từ bài đăng này
https://www.giaiphapexcel.com/diend...liệu-từ-1-file-excel-khác.151056/#post-982571
 
Dựa vào cái bạn đưa lên tôi làm thử cho bạn cái này...
xem file nha

-------------------------

TB: bạn có thể cho mình cái link mà bạn đã lấy code trên không để mình học ah... Cám ơn nhiều
Bạn nên bắt lỗi nếu không có dữ liệu thỏa điều kiện thì không thực hiện bước tiếp theo.

Cảm ơn@ thnghiachau ah!
làm sao để tìm tên nhân viên strName="ten nhan vien"
Theo em nghĩ thì sử dụng kết nối trong sql và có tìm hiểu thử nhưng vẫn ngoài khả năng của em.Nên vẫn chưa được ah.
Nếu có thể anh giúp em với ah.

Bạn vào Module1 thêm dòng khai báo biến toàn cục như sau:
Mã:
Option Explicit
Public arrName As Variant
'Code của bạn
'...

Code trong UserForm1 của nút OK, Tôi chỉ thêm cái code truy vấn dữ liệu còn lại code của bạn tôi không đụng đến

Mã:
Private Sub CommandButton6_Click()
    Dim cnn As Object, Rst As Object
    Set cnn = CreateObject("ADODB.Connection")
    Set Rst = CreateObject("ADODB.Recordset")
    Dim myMsg As Integer
    If TextBox2.Value = "12345" Then
        Dim Res As Variant
        Res = MsgBox(" chuong trinh tiep tuc ?", vbYesNo)
        If Res = vbYes Then
            With cnn
                .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\id_Name.xlsx;Extended Properties=Excel 12.0;"
                Rst.Open ("Select [Name] From [Sheet1$] Where [ID] = " & TextBox3.Text), cnn, 1, 3
                If Rst.RecordCount > 0 Then
                    arrName = Rst.GetRows
                    'MsgBox arrName(0, 0)
                Else
                    MsgBox "Khong co du lieu!"
                    Exit Sub
                End If
            End With
            Unload Me
            UserForm2.Show
        End If
        If Res = vbNo Then
            Exit Sub
        End If
    Else
        myMsg = MsgBox("mat khau sai nhap lai", _
        vbOKOnly + vbInformation, "ƒpƒXƒ[ƒh”FØ")
        With TextBox2
            .Value = ""
            .SetFocus
        End With
    End If
End Sub

Code trong UserForm2

Mã:
Private Sub UserForm_Initialize()
    TextBox1.Text = arrName(0, 0)
End Sub
 
Bạn nên bắt lỗi nếu không có dữ liệu thỏa điều kiện thì không thực hiện bước tiếp theo.
Dạ, cám ơn thầy.
Em học được cái này: "Select [Name] From [Sheet1$] Where [ID] = " & TextBox3.Text
Trước giờ em vẫn cứ nghĩ là "nhất thiết là phải table" dữ liệu thì mới được....
 
Lần chỉnh sửa cuối:
Bạn nên bắt lỗi nếu không có dữ liệu thỏa điều kiện thì không thực hiện bước tiếp theo.



Bạn vào Module1 thêm dòng khai báo biến toàn cục như sau:
Mã:
Option Explicit
Public arrName As Variant
'Code của bạn
'...

Code trong UserForm1 của nút OK, Tôi chỉ thêm cái code truy vấn dữ liệu còn lại code của bạn tôi không đụng đến

Mã:
Private Sub CommandButton6_Click()
    Dim cnn As Object, Rst As Object
    Set cnn = CreateObject("ADODB.Connection")
    Set Rst = CreateObject("ADODB.Recordset")
    Dim myMsg As Integer
    If TextBox2.Value = "12345" Then
        Dim Res As Variant
        Res = MsgBox(" chuong trinh tiep tuc ?", vbYesNo)
        If Res = vbYes Then
            With cnn
                .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\id_Name.xlsx;Extended Properties=Excel 12.0;"
                Rst.Open ("Select [Name] From [Sheet1$] Where [ID] = " & TextBox3.Text), cnn, 1, 3
                If Rst.RecordCount > 0 Then
                    arrName = Rst.GetRows
                    'MsgBox arrName(0, 0)
                Else
                    MsgBox "Khong co du lieu!"
                    Exit Sub
                End If
            End With
            Unload Me
            UserForm2.Show
        End If
        If Res = vbNo Then
            Exit Sub
        End If
    Else
        myMsg = MsgBox("mat khau sai nhap lai", _
        vbOKOnly + vbInformation, "ƒpƒXƒ[ƒh”FØ")
        With TextBox2
            .Value = ""
            .SetFocus
        End With
    End If
End Sub

Code trong UserForm2

Mã:
Private Sub UserForm_Initialize()
    TextBox1.Text = arrName(0, 0)
End Sub
Cảm ơn rất@Hai Lúa Miền Tây nhiều ah.
Em được học thêm kiến thức mới!
 
Bạn nên bắt lỗi nếu không có dữ liệu thỏa điều kiện thì không thực hiện bước tiếp theo.



Bạn vào Module1 thêm dòng khai báo biến toàn cục như sau:
Mã:
Option Explicit
Public arrName As Variant
'Code của bạn
'...

Code trong UserForm1 của nút OK, Tôi chỉ thêm cái code truy vấn dữ liệu còn lại code của bạn tôi không đụng đến

Mã:
Private Sub CommandButton6_Click()
    Dim cnn As Object, Rst As Object
    Set cnn = CreateObject("ADODB.Connection")
    Set Rst = CreateObject("ADODB.Recordset")
    Dim myMsg As Integer
    If TextBox2.Value = "12345" Then
        Dim Res As Variant
        Res = MsgBox(" chuong trinh tiep tuc ?", vbYesNo)
        If Res = vbYes Then
            With cnn
                .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\id_Name.xlsx;Extended Properties=Excel 12.0;"
                Rst.Open ("Select [Name] From [Sheet1$] Where [ID] = " & TextBox3.Text), cnn, 1, 3
                If Rst.RecordCount > 0 Then
                    arrName = Rst.GetRows
                    'MsgBox arrName(0, 0)
                Else
                    MsgBox "Khong co du lieu!"
                    Exit Sub
                End If
            End With
            Unload Me
            UserForm2.Show
        End If
        If Res = vbNo Then
            Exit Sub
        End If
    Else
        myMsg = MsgBox("mat khau sai nhap lai", _
        vbOKOnly + vbInformation, "ƒpƒXƒ[ƒh”FØ")
        With TextBox2
            .Value = ""
            .SetFocus
        End With
    End If
End Sub

Code trong UserForm2

Mã:
Private Sub UserForm_Initialize()
    TextBox1.Text = arrName(0, 0)
End Sub
Chào thầy @ Hai Lúa Miền Tây ah.
Sau khi em chạy, theo code thầy viết thì vẫn mắc một lỗi là. Nếu mình không nhập ID ,mà chỉ nhập mật khẩu luôn ,và đăng nhập thôi thì sẽ xảy ra lỗi ah.
Mong thầy xem lại ah.Trong trường hợp này nếu như mình không dăng nhập id thì sẽ thông báo qua msg ah!
 
Chào thầy @ Hai Lúa Miền Tây ah.
Sau khi em chạy, theo code thầy viết thì vẫn mắc một lỗi là. Nếu mình không nhập ID ,mà chỉ nhập mật khẩu luôn ,và đăng nhập thôi thì sẽ xảy ra lỗi ah.
Mong thầy xem lại ah.Trong trường hợp này nếu như mình không dăng nhập id thì sẽ thông báo qua msg ah!
Bạn xử lý bắt lỗi là nếu texbox ID đó là rỗng thì dừng code, đồng thời yêu cầu người dùng nhập vào.
 
Bạn xử lý bắt lỗi là nếu texbox ID đó là rỗng thì dừng code, đồng thời yêu cầu người dùng nhập vào.
Da em
Bạn xử lý bắt lỗi là nếu texbox ID đó là rỗng thì dừng code, đồng thời yêu cầu người dùng nhập vào.
Dạ em đã xử lý được rồi ah,cảm ơn thầy nhiều.
 
Bạn xử lý bắt lỗi là nếu texbox ID đó là rỗng thì dừng code, đồng thời yêu cầu người dùng nhập vào.
Dạ chào thầy@Hai Lúa Miền Tây
-Em muốn hỏi thầy vấn đề liên quan đến bài này ah.
-Em có tìm hiểu và làm theo bài trên,bằng cách mở rộng phạm vi lấy dữ liệu.Tức là không những lấy tên ,mà em còn muốn lấy cả tuổi và Công việc nữa ah.
-Em nghĩ đơn giản là ,thêm trường tuoi vào phần select là đuợc.

Nhưng mãi vẫn không ra ah!
-Xin thầy hướng dẫn ah!
Mã:
Rst.Open ("Select [Name],[tuoi] From [Sheet1$] Where [ID] = " & TextBox3.Text), cnn, 1, 3
 

File đính kèm

  • id_Name.xlsx
    10.1 KB · Đọc: 11
  • ten nhan vien1.xlsm
    341.1 KB · Đọc: 10
Dạ chào thầy@Hai Lúa Miền Tây
-Em muốn hỏi thầy vấn đề liên quan đến bài này ah.
-Em có tìm hiểu và làm theo bài trên,bằng cách mở rộng phạm vi lấy dữ liệu.Tức là không những lấy tên ,mà em còn muốn lấy cả tuổi và Công việc nữa ah.
-Em nghĩ đơn giản là ,thêm trường tuoi vào phần select là đuợc.

Nhưng mãi vẫn không ra ah!
-Xin thầy hướng dẫn ah!
Mã:
Rst.Open ("Select [Name],[tuoi] From [Sheet1$] Where [ID] = " & TextBox3.Text), cnn, 1, 3
Chỉ cần 1 biến arrName là đủ nhé bạn. Code trong UserForm1 của nút OK:
Mã:
Private Sub CommandButton6_Click()
    Dim cnn As Object, Rst As Object
    Set cnn = CreateObject("ADODB.Connection")
    Set Rst = CreateObject("ADODB.Recordset")
    Dim myMsg As Integer
    If TextBox2.Value = "12345" Then
        Dim Res As Variant
        Res = MsgBox(" chuong trinh tiep tuc ?", vbYesNo)
        If Res = vbYes Then
            With cnn
                .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\id_Name.xlsx;Extended Properties=Excel 12.0;"
                Rst.Open ("Select [Name],[tuoi],[CV] From [Sheet1$] Where [ID] = " & TextBox3.Text), cnn, 1, 3
                
                If Rst.RecordCount > 0 Then
                    arrName = Rst.GetRows
                Else
                    MsgBox "Khong co du lieu!"
                    Exit Sub
                End If
            End With
            Unload Me
            UserForm2.Show
        End If
        If Res = vbNo Then
            Exit Sub
        End If
    Else

        myMsg = MsgBox("mat khau sai nhap lai", _
        vbOKOnly + vbInformation, "ƒpƒXƒ[ƒh”FØ")
      
        With TextBox2
            .Value = ""
            .SetFocus
        End With
    End If
End Sub

Code trong UserForm2

Mã:
Private Sub UserForm_Initialize()
    TextBox1.Text = arrName(0, 0)
    TextBox2.Text = arrName(1, 0)
    TextBox3.Text = arrName(2, 0)
End Sub
 
Chỉ cần 1 biến arrName là đủ nhé bạn. Code trong UserForm1 của nút OK:
Mã:
Private Sub CommandButton6_Click()
    Dim cnn As Object, Rst As Object
    Set cnn = CreateObject("ADODB.Connection")
    Set Rst = CreateObject("ADODB.Recordset")
    Dim myMsg As Integer
    If TextBox2.Value = "12345" Then
        Dim Res As Variant
        Res = MsgBox(" chuong trinh tiep tuc ?", vbYesNo)
        If Res = vbYes Then
            With cnn
                .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\id_Name.xlsx;Extended Properties=Excel 12.0;"
                Rst.Open ("Select [Name],[tuoi],[CV] From [Sheet1$] Where [ID] = " & TextBox3.Text), cnn, 1, 3
               
                If Rst.RecordCount > 0 Then
                    arrName = Rst.GetRows
                Else
                    MsgBox "Khong co du lieu!"
                    Exit Sub
                End If
            End With
            Unload Me
            UserForm2.Show
        End If
        If Res = vbNo Then
            Exit Sub
        End If
    Else

        myMsg = MsgBox("mat khau sai nhap lai", _
        vbOKOnly + vbInformation, "ƒpƒXƒ[ƒh”FØ")
     
        With TextBox2
            .Value = ""
            .SetFocus
        End With
    End If
End Sub

Code trong UserForm2

Mã:
Private Sub UserForm_Initialize()
    TextBox1.Text = arrName(0, 0)
    TextBox2.Text = arrName(1, 0)
    TextBox3.Text = arrName(2, 0)
End Sub
Được rồi thầy ah,Cảm ơn thầy@Hai Lúa Miền Tây nhiều!
 
Web KT
Back
Top Bottom