HoangManh > 14-04-17, 08:41 AM
(13-04-17, 05:47 PM)tranthanhan1962 Đã viết: Dễ mà có vài cách: Ví dụ trên recordsource bạn có 3 field: A,B,C. Bạn có các texbox trên form TextA, TextB, TextC có các controlSource tương ứng. Tạo Textbox TextX.Da em cam on anh a
Cách 1: set controlsource TextX là B, TextX không khác gì TextB về mọi thứ, khi bạn sửa dữ liệu lên TextX, TextB sẽ thay đỗi giá trị và ngược lại.
Cách 2:set controlsource TextX là = [B] (Tên trường nằm giữa 2 dấu vuông). TextX chỉ hiện thị giá trị của trường và không cho phép chỉnh sửa.
Cách 3:set controlsource TextX là = [TextB] (Tên control TextB nằm giữa 2 dấu vuông). TextX chỉ hiện thị giá trị của TextB và không cho phép chỉnh sửa.
Khi bạn chuyển đế vị trí record nào nó sẽ hiện giá trị trường hoặc control (mình nói control vì đôi khi chúng ta có thể dùng nhiều loại control để xuất ra giá trị của trường mà không phải là textbox ví dụ như combobox, listbox thậm chí checkbox hoặc option button...)
Nếu xuất giá trị sang form khác thì lấy thêm địa chỉ của form đó.
Ví dụ Subform của bạn tên là SubABC và TextX nằm trên mainform thì controlsource của TextX là: Forms![SubABC]![TextB]
Chúc bạn thành công!
HoangManh > 14-04-17, 09:20 AM
(13-04-17, 05:47 PM)tranthanhan1962 Đã viết: Dễ mà có vài cách: Ví dụ trên recordsource bạn có 3 field: A,B,C. Bạn có các texbox trên form TextA, TextB, TextC có các controlSource tương ứng. Tạo Textbox TextX.
Cách 1: set controlsource TextX là B, TextX không khác gì TextB về mọi thứ, khi bạn sửa dữ liệu lên TextX, TextB sẽ thay đỗi giá trị và ngược lại.
Cách 2:set controlsource TextX là = [B] (Tên trường nằm giữa 2 dấu vuông). TextX chỉ hiện thị giá trị của trường và không cho phép chỉnh sửa.
Cách 3:set controlsource TextX là = [TextB] (Tên control TextB nằm giữa 2 dấu vuông). TextX chỉ hiện thị giá trị của TextB và không cho phép chỉnh sửa.
Khi bạn chuyển đế vị trí record nào nó sẽ hiện giá trị trường hoặc control (mình nói control vì đôi khi chúng ta có thể dùng nhiều loại control để xuất ra giá trị của trường mà không phải là textbox ví dụ như combobox, listbox thậm chí checkbox hoặc option button...)
Nếu xuất giá trị sang form khác thì lấy thêm địa chỉ của form đó.
Ví dụ Subform của bạn tên là SubABC và TextX nằm trên mainform thì controlsource của TextX là: Forms![SubABC]![TextB]
Chúc bạn thành công!
tranthanhan1962 > 14-04-17, 11:34 AM
HoangManh > 14-04-17, 12:26 PM
(14-04-17, 11:34 AM)tranthanhan1962 Đã viết: Nếu ControlSource là <tên trường> thì bạn có thể thay đổi giá trị được => có thể sửa dữ liệu được.
Nếu ControlSource là <=tên trường> hay <=tên control> thì bạn không thể thay đổi giá trị được.
Đã thiết đặt giá trị control thì nó sẽ nhận ngay giá trị khi open form. TextX lấy giá trị trực tiếp từ trường hay control cho nên khi thay đổi record sẽ lấy giá trị hiện hành của record hay control đó. Khi kích chọn dòng nào sẽ lấy giá trị hiện hành của dòng đó, khi sửa là sửa trên dòng (record hiện hành) đó, nếu bạn viết code tùm lum khi thay đổi record nó sẽ sửa giá trị từa lưa là khóc luôn đó.
Người ta thường sửa thẳng giá trị record trên control chứa controlsource của trường mà không cần phải thêm một control khác cho rối chuyện và nặng ứng dụng. Viết nhiều phần rườm rà có khi phản tác dụng và làm khó người dùng. Mổi field chỉ cần một control là đủ rồi. Viết dư thừa, phức tạp chẳng có ít gì mà làm mệt cho người sử dụng. Phần mềm càng đơn giản càng dễ sử dụng, người dùng càng thích và càng dễ ... bán
Chúc bạn thành công.
lsSql = "SELECT PKEY, SYOHINCD, SYOHINNM, SYOHINKANA, TANNI, TNK FROM WK_M_HANBAITNK1 "
lsSql = lsSql & " WHERE SYOHINNM = " & fgNullToStr(Me.txtSyohinnmKN) & ";"
Set lRs = CurrentDb.OpenRecordset(lsSql) ' lỗi ngáy controll tại dòng này )
tranthanhan1962 > 14-04-17, 01:14 PM