Hỏi về Sendkeys?

  • Thread starter HongViet
  • Ngày gửi
HongViet

HongViet

Thành viên thân thiết
10/11/05
286
10
18
Đà nẵng
#1
Tôi tổ chức làm 2 files, 1 dùng để chứa các bảng & truy vấn (gọi là DL), 1 gồm ~ phần còn lại (form, report . . .) (gọi là CT); Trước đây khi chưa gán Password vô DL thì macro tự động lấy dữ liệu vô CT = Autoexec; Nhưng sau khi gán rồi thì không biết cách nào tự động phần nhập Password khi mở form Autoexec; các bạn chỉ giúp mình với!:wall: :atom:
Cảm ơn bác PaulSteigel (Mà Bác này là người Đức thì phải?!); Tôi sẽ thử & có gì nữa sẽ hỏi Bác tiếp.
 
Sửa lần cuối:
paulsteigel

paulsteigel

Thành viên thân thiết
13/11/05
103
0
16
43
Hoà Bình
www.sfdp.net
#2
MS Access có chức năng link đến các bảng ở một cơ sở dữ liệu khác, việc này rất thuật tiện để các bạn có thể thực hiện việc quản lý CSDL dưới dạng Ứng dụng và CSDL riêng. Kết nối của Ứng dụng và CSDL sẽ thông qua các kết nối bảng trong chính Ứng dụng.
Theo cách này chúng ta có thể xây dựng một form login theo đó người dùng phải khai báo mật khẩu và tên người dùng. Sau khi nhập vào các thông tin này, chúng ta kích hoạt một thủ tục tạo kết nối với CSDL (có thể tạo mới hoặc refresh link nếu đã có sẵn kết nối). Nếu không thành công thì không cho sử dụng.
Về khoản này tôi gửi cho các bạn một đoạn mã nguồn thực hiện công việc tái tạo lại kết nối cho các liên kết bảng đến một csdl khác có mật khẩu nhé:
'1. Cách gọi hàm:
dbErr = RemapLinks(IIf(IsNull(txtPassword), "", txtPassword), dbPath)
' trong đó txtPassword là chuỗi mật khẩu, dbpath là đường dẫn đến file dữ liệu
' dbErr là biến trả lại lỗi kết nối nếu không thành công. Hàm remaplink sẽ thực hiện kiểm nghiệm các kết nối đã tồn tại trong Ứng dụng

'2. Thủ tục thực hiện công việc
Function RemapLinks(Optional PwdString As String = "", Optional tPath As String = "") As DatabaseErrors
' Thủ tục này sẽ thực hiện việc kiểm tra và khởi tạo lại kết nối dựa vào tên
' các liên kết đã có sẵn
' để dùng cái này, các bạn cần phải trỏ tham chiếu của ứng dụng vào DAO nhé
Dim tdf As Object, TblName As String
Err.Clear
On Error GoTo ErrHandler
For Each tdf In CurrentDb.TableDefs
If InStr(tdf.Connect, ";DATABASE") <> 0 Then
' Đây là một liên kết
If InStr(tdf.Name, "qry_") <> 0 Then
' Cái này không cần thiết - chỉ để kiểm tra cho mục đích của tớ thôi

Else
' Tạo lại chuỗi kết nối nhé - các bạn có thể dùng cách này để tạo ra một kết nối ...
tdf.Connect = "Ms Access;UID=Admin;PWD=" & PwdString & ";DATABASE=" & tPath
'TblName = tdf.Connect
' Làm tươi lại kết nối bằng cái này
tdf.RefreshLink
End If
End If
Next
Set tdf = Nothing
Exit Function
ErrHandler:
RemapLinks = Err.Number
'If Err.Number <> 0 Then WriteLog "RemarpLink", Err.Description
' this is my old code for logging error
End Function

Có gì các bạn cứ hỏi thêm nhé.
 

Thành viên trực tuyến

  • xediengiatot



Xem nhiều