You can modify the linked table's TableDef. Add a DisplayControl property to your field with property value as 106 for a check box.
You can execute the code through the Immediate window.
(If you are not not familiar with the Immediate window. Open it with Ctrl+g. Enter a line of code press Enter, and so on for each line.)
Since Oracle has no SQL boolean type the field in Oracle should be something like a number(1,0) or varchar2(2)
*Note* Access saves "No" or unchecked as 0 and "Yes" or checked as -1.
Code:
set db = currentdb
set fld = db.TableDefs("dbo_foo").Fields("a_number")
fld.Properties.Append fld.CreateProperty("DisplayControl", dbInteger, 106)
"dbo_foo" being the linked table and "a_number" the field you want to checkboxify.
If for some reason your target field already has a DisplayControl value set already, just change the last line to only set the value:
Code:
fld.Properties("DisplayControl") = 106
' verify property created with correct value ...
Code:
? fld.Properties("DisplayControl")
After setting the property, my a_number field is displayed as a check box when "dbo_foo" is opened in Datasheet View.
Additionally, you can set other properties the same way instead of "DisplayControl" you could use:
"RowSourceType"
"RowSource"
"BoundColumn"
and so on...