Indices y combobox

Combobox
Hola mi nombre es marcos
Tengo 2 tablas
1ra. Tabla ventas.dbf
Con la siguientes estructura:
Id, tipo numérico, longitud 2
Fecha, tipo date
id_empleado, tipo numérico, longitud 2
2da. Tabla empleados.dbf
Id, tipo numérico, longitud 2
Nombre, tipo carácter, longitud 20
Tengo un formulario de captura de ventas,
Utilizo la tabla ventas.dbf
En el cual hay los siguientes controles:
Id, cuadro de texto
Fecha, cuadro de texto
Id_empleado, combobox
Nota: El control combobox tiene como
Origen de datos la tabla empleados.dbf
El control despliega 2 columnas, id y nombre
Ok..
El problema es que cuando capturo
Información y del control combobox
Selecciono algún empleado.
En vez de guardarme en el campo id_empleado
El id del empleado correcto, me guarda el numero de
Registro de la tabla empleado.dbf
Ejemplo:
Tabla empleados.dbf
Id nombre
2 marcos
5 Daniel
8 Kevin
9 Oralia
10 Norma
Si trato de guardar:
Si con el control combobox selecciono
El empleado daniel, en el campo id_empleado de la tabla ventas.dbf
me tiene que guardar 5, pero me guarda 2, el num.De registro de la tabla empleados.dbf
Al refrescar:
Algún registro de la tabla ventas, se me refrescan los Controles con la información que tenga, pero si el campo
Id_empleados tiene el numero 5, el control combobox, En vez de que me de el nombre Daniel, me da el nombre
Norma, es porque me esta refrescando el numero de Registro de la tabla empleados.dbf
Nota:
Si utilizo los id de tipo carácter funciona correctamente
Pero me es necesario utilizar los id de tipo numérico
Como puedo hacer que el control combobox, guarde y
refresque correctamente, el campo empleado_id.
Antemano gracias.

3 Respuestas

Respuesta
1
1ero: En el tipo de origen del registro del combo seleccioná "Senetencia SQL".
2do. En el origen del Registro (donde antes figuraba "empleados") escribí "SELECT nombre, id FROM Empleados ORDER BY nombre INTO CURSOR cEmpl"
3ro. En la propiedad BoundColumn escribí 2 (la segunda coluamna del select)
Espero haberte ayudado.
Suerte,
Diego.
Respuesta
1
Tu problema puede resolverse de una forma muy sencilla creo es solo cuestión de que en el control combo vos en la propiedad "BoundTo" la pongas a .T. verdadera
Si no es así escríbeme que pudiera ser también la forma de programar tu combobox(de ser así escríbeme y lo vemos)
Respuesta
-1
Y si le pones en el init del formulario ventas:
Close database
se le 1
use empleado
set order to empleado_1
Donde "empleado_1" es el índice de la tabla (cdx). Este índice lo puedes crear en la ventana de comandos, o directamente en la ventana de diseño de la tabla.
El código es algo así:
se le 1
Use empleado
Index on id tag empleado_1
Me parece que el problema puede ser el índice de la tabla.
--Devilzito--

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas