Only way I can think about is:
1. Have RowSource property for combo like:
Code:
SELECT STUDENT_ID, STUDENT_NAME & ", " & INTERNAL_FILE_ID & ", " & STUDENT_CODE FROM STUDENT ORDER BY 2;
2. Set [ControlSource = "STUDENT_ID", BoundColumn = 1, ColumnCount = 2, and ColumnWidths = "0, 2.5" (or "0; 2.5" , I'm not sure).
3. Add an unbound combo like cbbSearchOrder with BoundColumn = 1 and with RowSource like:
Code:
1; name/internal/code; 2; name/code/internal; 3; internal/name/code; 4; internal/code/name; 5; code/name/internal; 6; code/internal/name
4. In AfterUpdate event of cbbSearchOrder change Rowsource of your combo like:
Code:
...
IF me.cbbSearchOrder = 1 THEN
me.cbbMyCombo.RowSource = "SELECT STUDENT_ID, STUDENT_NAME & ", " & INTERNAL_FILE_ID & ", " & STUDENT_CODE FROM STUDENT ORDER BY 2;"
ELSEIF me.cbbSearchOrder = 2 THEN
me.cbbMyCombo.RowSource = "SELECT STUDENT_ID, STUDENT_NAME & ", " & STUDENT_CODE & ", " & INTERNAL_FILE_ID FROM STUDENT ORDER BY 2;"
ELSEIF me.cbbSearchOrder = 3 THEN
me.cbbMyCombo.RowSource = "SELECT STUDENT_ID, INTERNAL_FILE_ID & ", " & STUDENT_NAME & ", " & STUDENT_CODE FROM STUDENT ORDER BY 2;"
ELSEIF me.cbbSearchOrder = 4 THEN
me.cbbMyCombo.RowSource = "SELECT STUDENT_ID, INTERNAL_FILE_ID & ", " & STUDENT_CODE & ", " & STUDENT_NAME FROM STUDENT ORDER BY 2;"
ELSEIF me.cbbSearchOrder = 5 THEN
me.cbbMyCombo.RowSource = "SELECT STUDENT_ID, STUDENT_CODE & ", " & STUDENT_NAME & ", " & INTERNAL_FILE_ID FROM STUDENT ORDER BY 2;"
ELSEIF me.cbbSearchOrder = 6 THEN
me.cbbMyCombo.RowSource = "SELECT STUDENT_ID, STUDENT_CODE & ", " & INTERNAL_FILE_ID & ", " & STUDENT_NAME FROM STUDENT ORDER BY 2;"
ELSE
END IF
Me.cbbMyCombo.Requery
Now user estimates search order when current one is not liked, and then enters the search string