2011-03-09 33 views
5

Truy vấn DDL truy cập chính xác để thêm cột kiểu dữ liệu Boolean vào bảng là gì?ALTER TABLE: Thêm cột boolean mới với giá trị mặc định và hộp kiểm

ví dụ Cho đến nay tôi đã nhìn thấy như sau ...

ALTER TABLE MyTable ADD MyNewColumName BIT 

nhưng họ dường như không thể chính xác 100% kể từ

  1. Tiếp cận không áp dụng việc kiểm soát hộp kiểm cột mới được thêm và
  2. giá trị được phép cho cột đó có vẻ là 0-1
+0

Câu hỏi này không phải là về cách thiết lập các kiểu dữ liệu của trường, nhưng về thiết lập kiểm soát hiển thị mặc định (tiêu đề của bạn được gây hiểu lầm). Như @Remou nói dưới đây, đó không phải là thứ có thể được giải quyết với DDL. –

Trả lời

5

Ví dụ DAO.

''Requires reference to Microsoft DAO 3.6 Object Library 
Dim tdf As DAO.TableDef 
Dim fld As DAO.Field 
Dim db As Database 
Dim strSQL As String 


Set db = CurrentDb 

''Create a table ... 
strSQL = "Create Table tblLTD (TheYesNoCheck YesNo, TheYesNoCombo YesNo)" 
db.Execute strSQL 

''It is now in the table collection, so ... 
Set tdf = db.TableDefs("tblLTD") 

''Change the way the YesNo fields display. 
''A Checkbox 
Set fld = tdf.Fields("TheYesNoCheck") 
Set prp = fld.CreateProperty("DisplayControl", dbInteger, acCheckBox) 
fld.Properties.Append prp 

''A combobox 
Set fld = tdf.Fields("TheYesNoCombo") 
Set prp = fld.CreateProperty("DisplayControl", dbInteger, acComboBox) 
fld.Properties.Append prp 
''We will need a format 
Set prp = fld.CreateProperty("Format", dbText, "Yes/No") 
fld.Properties.Append prp 

Từ: http://wiki.lessthandot.com/index.php/Add_a_Display_Control_(Checkbox,_Combobox)_to_a_YesNo_Field

5

Khi truy cập kiểu dữ liệu Có/Không, trường logic có thể hiển thị có/không, đúng/sai hoặc bật/tắt. Khi bạn nhìn vào mã VBA, hằng số đúng và sai tương đương với -1 và 0.

Nếu bạn sử dụng trường này để điền vào hộp kiểm, nó sẽ hoạt động đúng.

Bạn có thể thay đổi câu lệnh ALTER của bạn để sử dụng "CóKhông" như vậy:

ALTER TABLE mytable ADD mynewcolumn YESNO 

Điều đó sẽ cung cấp cho bạn những mong muốn hộp kiểm trong cột bảng truy cập.

+0

Nó sẽ không, tôi sợ, hộp kiểm chỉ có thể nhận được với DAO. – Fionnuala

+0

@Remou Thực ra nó cũng hoạt động – OrElse

Các vấn đề liên quan