看样子你特不喜欢高效语句,喜欢把简单的问题搞复杂。在实际操作中,并不是把DBGRID中的字段值赋值给下拉列表组件,而是把与DBGRID连接的那个数据集组件的某个字段的值写到下拉列表组件的项目中。不过你要在SQL语句中加入过滤重复项的命令。
combobox.text:=ado.fieldbyname('字段').asstring