Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Ayuda con DBComboBox (https://www.clubdelphi.com/foros/showthread.php?t=43797)

zanyodark 21-05-2007 09:36:13

Ayuda con DBComboBox
 
Hola saludos, necesito ayuda en el uso del DBComboBox, el problema es el siguiente:

Tengo una base de datos a la cual para dar de alta tengo dbedit's y dbcomboboxes el problema es que cuando capturan los datos solicitados y oprimir el boton para guardar la alta, yo mneto verificaciones en los campos para que no haiga errores, como que no los dejen en blanco los db edits, que la clave sea de ciertos numeros en especificos, etc. y en el caso de la clave la comparo para que no se repita, pero para esto no puedo usar el tlocate mientras la tabla esta en proceso de alta por lo cual yo guardo los datos capturados de los dbedit y dbcombobox en unas variables String para despues cancelo la alta, hago la busqueda con el locate verifica y todo, pero una vez que todas las verificaciones pasan, vuelvo a activar la tabla la pongo en modo para dar alta y vuelvo a agregar los valores de las variables almacenadas a sus lugares, pero el problema es que me marca que el campo turno que es un dbcombobox debe tener un valor.

a los dbcombobox les he tratado de pasarles el valor de varias formas y me sigue marcando el mismo error, no se si alguien me puede ayudar a saber como pasar el valor de la variable a su dbcombobox (el dbcombobox nomas tiene 2 valores o lineas como lo quieran ver en su propiedad items que son matutino y vespertino), yo le he intentado de la siguiente forma:

DBComboBox2.Text:=turno;
----------------------------------
if turno=MATUTINO= then
DBComboBox2.ItemIndex:=0;
-----------------------------------
if turno=MATUTINo then
DBComboBox2.Items[0];
------------------------------------
DBComboBox2.Items:=DBComboBox2.Items[0];

bueno como verán le eh intentado de varias formas claro haber si pegaba pero nomas no doy, y en pocas palabras es ¿como darle el valor por default que yo quiera?, asi nomas comparo con el if y le mando el valor deseado. Espero alguien me pueda ayudar y hallan entendido, gracias

Lepe 21-05-2007 11:04:09

El hilo debería estar en un foro de bases de datos, ya que la duda pertenece a él, además nos darías información extra de como ayudarte.

Hay varias maneras de solucionarlo:
- Que esas restricciones las especifiques en la propia base de datos, como not null, requerido, definir un índice único (no permitirá valores repetidos en ese campo), etc, así no tienes que validar nada, solo controlar los errores en el evento OnpostError de tu tabla o dataset.

- Usar tabla1.lookup para comprobar si hay algún registro con ese valor. LookUp tiene la ventaja de no mover el registro activo, por tanto, no tienes que guardar el registro actual en Strings.

- Usar un Query para buscar ver si los registros ya existen. Como es un dataset aparte, no tienes el problema de mover el registro.

De todas las soluciones, la primera es la más eficiente, ya que no tienes que hacer búsquedas.

Saludos

zanyodark 21-05-2007 18:10:16

ok, muchas gracias, pero como se controlan los errores en el OnpostError? gracias. y en todo caso como se usa en si el lookup?

zanyodark 21-05-2007 18:38:37

muchas gracias por los consejos, pero me sirvio eso que mencionastes que movia los registros algo asi, por lo que nada mas agregue otra ztable donde hice la verificacion y listo, problema resuelto, no tuve que utilizar las variables


La franja horaria es GMT +2. Ahora son las 21:50:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi