Gracias por vuestra respuestas.
La sentencia SQL final deberia quedar así si ComboBox1.Text = RAO_COMERCIAL:
Código SQL
[-]SELECT A.IDCOMPRA, A.DATA_COMPRA, A.IDPROVEIDOR, B.RAO_COMERCIAL FROM TR0004C A, TR0002 B
WHERE B.IDPROVEIDOR = A.IDPROVEIDOR AND UPPER B.RAO_COMERCIAL LIKE ''%'+AnsiUpperCase(Edit1.Text)+'%'''
ORDER BY B.RAO_SOCIAL
En los otros casos, quedaria así (ejemplo de un caso)
Código SQL
[-]SELECT A.IDCOMPRA, A.DATA_COMPRA, A.IDPROVEIDOR, B.RAO_COMERCIAL FROM TR0004C A, TR0002 B
WHERE B.IDPROVEIDOR = A.IDPROVEIDOR AND UPPER A.IDPROVEIDOR LIKE ''%'+AnsiUpperCase(Edit1.Text)+'%'''
ORDER BY A.IDPROVEIDOR
El motivo es que los campos estan en tablas distintas.
Si ejecuto con F8, C toma el valor A.IDCOMPRA, A.IDPROVEIDOR, A.DATA_COMPRA o B.RAO_COMERCIAL, por eso me extraña que luego no encuentre la columna C
Saludos