Estoy usando TADODataSet
(D7).
No creo campos persistentes en el modo de diseño con mi DataSet.¿Cómo crear un campo de búsqueda TDataSet en tiempo de ejecución?
dsItems.CommandText := 'select ID, ItemName, UserIDCreate from Items';
dsUsers.CommandText := 'select ID, LoginName from Users'; // lookup dataset
Si hago doble clic en dsItems
y "Agregar todos los campos campos" y haga clic en "Nueva presentada" y definir mi campo de búsqueda, todo está funcionando bien. El dsItems
resultante debe contener: ID, ItemName, UserIDCreate, LoginName_Lookup
¿Cómo puedo evitar hacer todo esto en tiempo de diseño y añadir un campo de búsqueda después de/o antes de la apertura (no estoy seguro?) Del conjunto de datos.
En otras palabras: ¿Cómo emular "Agregar todos los campos campos" y luego "Nueva Archivado" añadir operaciones de búsqueda presentada en tiempo de ejecución?
NOTA: consigo una excepción cuando se ejecuta el código de John desde el IDE. La excepción se produce al intentar abrir el DataSet: EOleException with message 'An unknown error has occured'
.
function TCustomADODataSet.LocateRecord (ADODB.pas)
en línea if FieldCount = 1 then FLookupCursor.Find...
Estoy aceptando la respuesta lástima pues el programa está trabajando cumplido.
Sería bueno que alguien pudiera verificar el obtener (o no) una excepción al ejecutar el formulario dentro del IDE.
¿Quiere decir que primero necesito crear "cualquier otro campo al que necesite acceder como campos persistentes" en el modo de diseño para ejecutar este código? – Vlad
Aparece 'EOleException con el mensaje 'Se ha producido un error desconocido' al intentar abrir el DataSet. – Vlad
Puede agregar todos los campos persistentes en tiempo de ejecución. ¿Qué parte arroja la excepción y qué línea? –