Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
indices en tablas

Hola de nuevo, la verdad es que estoy aprendiendo mucho con vosotros, a ver si al final tambien puedo ayudar a alguien con el delphi .

Segun he leido y me habeis explicado, para añadir registros y manipularlos, se usan los table1.edit, table1.insert;table1.post...
Si quiero visualizar el primer registro table1.first y ya se visualiza en los db correspondientes.
Pero si quiero visualizar un registro en funcion de una clave unica, hay que poner lo que se recomienda en otro post, esto es,
Table1.locate('codigo',edit1.Text,[loPartialKey]);Si tengo un campo indice triple, esto es, codigo, habitacion y fecha, como se hace. Y si quiero hacer una consulta usando solo habitacion(clave secundaria) y me devuelva la misma habitacion pero en diferentes fechas?.

gracias

p.d. con la cara oculta de delphi 4 voy aprendiendo, pero para algunas cosas basicas me lia.
Responder Con Cita
  #2  
Antiguo 31-05-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cool Creo yo...

La siguiente linea (ejemplo) la copie de la ayuda del mismo Delphi, creo que sería lo que necesitas no?

Código Delphi [-]
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);

Suerte!
Responder Con Cita
  #3  
Antiguo 01-06-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
si, gracias, a ver si con eso lo resuelvo, si uso eso mismo pero con una sola clave tambien sirve?, es decir para sacar por ejemplo, todos los contactos que empiecen por P tal y como has puesto tu sin importar las otras dos claves, porque he puesto secundarias.
Habria que poner while not eof verdad?, o lo tenog que hacer con un query.

gracias
Responder Con Cita
  #4  
Antiguo 01-06-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cool Ok

Locate si no me equivovo, encuentra la primea ocurrencia de una búsqueda, pero el siguiente registro puede no ser lo que buscamos... En mis comienzos usaba mucho Locate, Lookup, FindField y un momton de sentencias y código para obtener lo deseado y funcionaba a la maravilla, pero gastaba mucho tiempo en desarrollar esas partes. Mientras fui "madurando" en BDs con GSDBs aprendí que las sentencias SQL te solucionan un monton de problemáticas, por ejemplo haciendo un 'like 'P*' y FindNext solucionas lo ultimo que me preguntabas. (Resumen usa: TADOQuery)

O e su defecto puedes usar la propiedad "Filter" para obtener lo que requieres.

En todo caso continua preguntando, talvez no soy muy concreto en mis respuestas o pueda ayudarte con algo de código (en ese caso danos el caso específico)...

Saludos!
Responder Con Cita
  #5  
Antiguo 01-06-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias. Como todo novato, surgen dudas y problemas, pero poco a poco se va aprendiendo.

Tengo varias tablas, una en concreto se llama habitacion, que contiene:

numerohabitacion
fecha
como clave maestra son esos dos juntos, puesto que una habitacion para una fecha no puede estar duplicada, con el locate, tal y como me comentais, solo hay uno.
La pregunta es, si quiero ver todas las habitaciones dando igual la fecha, seria tambien con un locate para esa clave, y el resto como lo podria hacer, es decir, para visualizar todas las fechas para una habitacion.

gracias
Responder Con Cita
  #6  
Antiguo 02-06-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cool TADOQuery

Cita:
Empezado por anubis
...si quiero ver todas las habitaciones dando igual la fecha...
Código SQL [-]
select numerohabitacion from habitacion group by numerohabitacion

Cita:
Empezado por anubis
...ara visualizar todas las fechas para una habitacion...
Código SQL [-]
select * from habitacion where numerohabitacion = ' + Edit1.Text

Espero os sirva, un saludo!
Responder Con Cita
  #7  
Antiguo 02-06-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
se agradece, voy a probar a ver. Ya os voy diciendo.
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
Dudas del uso de indices entre mas tablas... Coco_jac Varios 3 14-05-2006 19:31:56
Problemas con indices en tablas dbf robertoliendo Conexión con bases de datos 1 26-05-2005 16:42:19
Tablas con indices secundarios Phacko Conexión con bases de datos 7 31-12-2004 20:43:55
Tablas Con Indices MaríaMR Conexión con bases de datos 6 29-11-2004 08:40:42


La franja horaria es GMT +2. Ahora son las 08:49:04.


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