Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-09-2010
pabloloustau pabloloustau is offline
Miembro
 
Registrado: dic 2009
Posts: 56
Poder: 15
pabloloustau Va por buen camino
ingresar datos de campos a dbcombobox

hola a todos! tengo una base de datos access coneccion odbc, mi tabla es sobre medicamentos. una columna es nombre_medicamento Y tengo 5 columnas para las dosis. dosis1, dosis2, etc. que serian valores que utilizo como rango de dosis. como puedo ingresar esos valores a un dbcombobox?
Responder Con Cita
  #2  
Antiguo 09-09-2010
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
hola

no entiendo bien tu pregunta que es lo que quieres hacer juntas todos esos registros en un combo?,

yo utilizo este codigo para gardar registros de una base de datos en un Tcombobox, concatenando varios campos, espero te pueda ayudar
Código Delphi [-]
procedure carga_claves();
var wlicitacion: string;
begin
wlicitacion:=trim(fcaptura.txtlicitacion.Text);
if wlicitacion<>'' then
 begin
  with fmodulo.Qry_gral do
   begin
    sql.Clear;
    sql.add('select licitacion,gpo,gen,esp,dif,var from requerimiento');
    sql.add('where licitacion=:licitacion');
    sql.add('group by licitacion,gpo,gen,esp,dif,var');
    parameters.ParamByName('licitacion').Value:=trim(wlicitacion);
    try
      Open;
      fcaptura.cb_clave.Clear;
       if not Fmodulo.Qry_gral.IsEmpty then
        begin
         while not  fmodulo.Qry_Gral.Eof do
          begin
           fcaptura.cb_clave.Items.Add((fieldByname('gpo').AsString)+(fieldByname('gen').AsString) + (fieldByname('esp').AsString) + (fieldByname('dif').AsString) + (fieldByname('var').AsString));
           next;
          end;
        end;
     except
      on E:EOleException do
       begin
        // error
        MessageDlg(Format('Error: %s    Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
       end;
     end;
   end;
 end;
end;
Responder Con Cita
  #3  
Antiguo 10-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por pabloloustau Ver Mensaje
Y tengo 5 columnas para las dosis. dosis1, dosis2, etc. que serian valores que utilizo como rango de dosis. como puedo ingresar esos valores a un dbcombobox?
DBcomboBox está pensado para mostrar los valores de una columna (5), pero no los valores de 5 columnas.

Un par de recomendaciones si te es posible modificar cosas (si estás a tiempo).
(1) Para acceder a MSAccess es más eficiente y rápido acceder utilizando ADO.
(2) El lugar de 5 columnas para las dosis, utiliza una tabla relacionada de dosis. De esta forma "normalizas" el diseño de la Base de Datos.

Si te es posible hacer el segundo cambio, podrás utlizar el dbCombo, si no, lo más sencillo creo que es, utilizar un combobox normal (sin BD) y rellenar los valores a mano y luego grabar el valor en el campo a mano también.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 11-09-2010
pabloloustau pabloloustau is offline
Miembro
 
Registrado: dic 2009
Posts: 56
Poder: 15
pabloloustau Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
DBcomboBox está pensado para mostrar los valores de una columna (5), pero no los valores de 5 columnas.

Un par de recomendaciones si te es posible modificar cosas (si estás a tiempo).
(1) Para acceder a MSAccess es más eficiente y rápido acceder utilizando ADO.
(2) El lugar de 5 columnas para las dosis, utiliza una tabla relacionada de dosis. De esta forma "normalizas" el diseño de la Base de Datos.

Si te es posible hacer el segundo cambio, podrás utlizar el dbCombo, si no, lo más sencillo creo que es, utilizar un combobox normal (sin BD) y rellenar los valores a mano y luego grabar el valor en el campo a mano también.
si puedo modificar a gusto porque recien la estoy creando, pense en la posibilidad que me decis de las tablas relacionadas, el problema es que esa opcion me serviria en el de que el rango de dosis sea el mismo para todos los medicamentos, pero no es asi. cada medicamento tiene un rango de dosis en particular. asi que lo unico que se me ocurrio fue crear varias columnas de dosis para cada registro. me doy cuenta que no es muy funcional porque para mostrar los datos los hago por medio de dbtext no visibles para cada dosis y luego los paso a un combobox comun.
Responder Con Cita
  #5  
Antiguo 13-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por pabloloustau Ver Mensaje
...pense en la posibilidad que me decis de las tablas relacionadas, el problema es que esa opcion me serviria en el de que el rango de dosis sea el mismo para todos los medicamentos, pero no es asi.
Al contrario.
Con más razón debes usar tablas relacionadas si el número de dosis no es fijo, como tú dices. Imagina que dentro de unos meses aparece un medicamente con 6 dosis. ¿Qué pasaría con tu tabla que tiene 5 campos para las dosis?

Al tenerlo relacionado y las dosis en otra tabla, cada registro de medicamente tendrá tantos registros relacionados como dosis, sin limitación.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 14-09-2010
pabloloustau pabloloustau is offline
Miembro
 
Registrado: dic 2009
Posts: 56
Poder: 15
pabloloustau Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Al contrario.
Con más razón debes usar tablas relacionadas si el número de dosis no es fijo, como tú dices. Imagina que dentro de unos meses aparece un medicamente con 6 dosis. ¿Qué pasaría con tu tabla que tiene 5 campos para las dosis?

Al tenerlo relacionado y las dosis en otra tabla, cada registro de medicamente tendrá tantos registros relacionados como dosis, sin limitación.
gracias neftali, voy a trabajar en lo que me decis a ver que sale, no sera mucho hacer una tabla relacionada de dosis para cada registro de medicamento??

Última edición por pabloloustau fecha: 14-09-2010 a las 08:06:30.
Responder Con Cita
  #7  
Antiguo 14-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por pabloloustau Ver Mensaje
no sera mucho hacer una tabla relacionada de dosis para cada registro de medicamento??
Creo que es lo más correcto y lo que te va a dar menos problemas a la larga; Tener 2 tablas, una de medicamenteos y otra de dosis.

MEDICAMENTOS
----------------
IDMed
Nombre
Descripcion
...


DOSIS
----------------
IDDosis
IDMed
cantidad
...


Ahora mismo no se si las dosis son algo estandard y está claramente definido o más bien algo bastante libre; Según como sea la tabla de dosis y los campos (e información) que contenga también podría ser un diseño M-N en lñugar de un 1-N.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Query y campos de un DBComboBox Alfonsoft Conexión con bases de datos 6 27-10-2007 21:51:15
Problemas al ingresar datos DaRkBoY Oracle 20 05-06-2007 16:34:44
Tabla Paradox no permite ingresar datos zugazua2001 Varios 1 09-09-2005 16:49:56
ingresar campos dmagui Firebird e Interbase 1 23-06-2005 18:32:55
Ingresar Y Modificar Datos con un Query senpiterno Conexión con bases de datos 1 09-10-2004 14:56:45


La franja horaria es GMT +2. Ahora son las 00:57:44.


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
Copyright 1996-2007 Club Delphi