FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Por favor ayuda con comando Select
Hola
Tengo una tabla con los campos NOMBRES, APELLIDOS, RUT,ESPECIALIDAD, STD ATENCION y otros teniendo insertado el query1 uso este codigo para el select que lo activo desde un boton. Datasource1.Dataset := Query1; Query1.SQL.Clear; Query1.Active := False ; With Query1.Sql Do Begin Clear ; Add('SELECT APELLIDOS,NOMBRES,RUT,ESPECIALIDAD,STD ATENCION'); Add('FROM "BD HRS ATENCION.DB"'); Query1.Active := True ; No se porque funciona ok sin el último campo, STD ATENCION revisé el nombre del campo en la tabla y es correcto cambié el orden de los campos y siempre tengo el problema cuando agrego el quinto campo habrá alguna limitante del número de campos en alguna parte, no lo encontré Me da el error 'Invalid filename STD' process..... Gracias a los que lean esta consulta cvlaso |
#2
|
||||
|
||||
Hola
A ver si me entiendes esta frase: Tratadeentederesto ??????. Verdad que es dificil, bueno, eso es lo que te pasa con el codigo. Cuando usas ADD estas añadiendo y se hace seguido. Este es tu codigo: Ahora mira la diferencia: La ves?. Saludos
__________________
Siempre Novato |
#3
|
|||
|
|||
No creo que ese sea el problema, utilizo la la primera sintaxis, es decir, sin agregar espacios y siempre me ha funcionado.
Puedes comprobar el texto de la consulta con A lo mejor el problema viene dado por el nombre del campo formado por dos palabras, es la primera vez que lo veo. Siempre lo vi así: std_Atencion. Saludos. |
#4
|
||||
|
||||
Si el campo tiene espacios, debe encerrarse entre unos delimitadores. Normalmente es entre comillas dobles o corchetes, algo así: "STD ATENCION" o bien [STD ATENCION]
... amos, igual que has hecho con el nombre de la tabla que también lleva espacios. Si usas el espacio tal cual, el SQL cree que es un alias, es decir, el sql cree que la columna llamada STD ahora pasa a llamarse ATENCION. en cuanto al código, yo lo veo más simple y claro así, pero es cuestión de gustos:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Gracias por la ayuda a todos
Amigos Primero muchas gracias por sus rápidas respuestas, yo soy de la década de los 80 donde programábamos en turbopascal con el DEC2020 de la Univ. En esos días habían pocos a quien hacerles consultas. Me parece genial esto de los foros y post. Los felicito por su dedicación y muchas gracias.Perdón por la lata.
Al grano Uno de mis problemas era que tenia 2 tablas en distintas carpetas, una en: C:\Documents and Settings\cvl\Escritorio\PRY_CDT_0Y otra en: C:\Archivos de programa\Archivos comunes\Borland Shared\Data, esto por que en algún momento el compilador me reclamó que no existía la tabla y la copie a esa carpeta. Pregunta. ¿ Alguien me puede decir como reasigno la ruta para no tener que usar un FROM tan largo? Gracias. Después de arreglar la ruta de la tabla…Lo que me resultó de las mil y unas pruebas :La rutina que me funciona ok,con todos los campos es : Los nombres de los campos con espacios en blanco le dan problemas al compilador, y aparece el mensaje de error. Cuando pongo el campo entre “comillas” dobles la tabla de resultado repite este dato en toda la columna y no carga los datos. Los add no son problema me funcionan ok. Mi trabajo consiste en hacer un programa para filtrar una base de datos de un hospital. Igual por si a alguien le sirve transcribo la rutina completa en la que he parametrizado los datos del Select para ejecutarlo a partir de unos listbox que he creado, con los onclick de los listbox le paso los strings a los Edit.text y luego ejecuto el query. Esto que transcribo lo probé y funciona super okSolo me falta parametrizar la opción ascendente descendente. Como soy nuevo en el foro por favor díganme si vale subir después como post esta rutina con la opción (asc, des), completa, igual no se si se hace de la misma manera que cuando un pregunta algo. Muchas Gracias a todos Saludos Última edición por ecfisa fecha: 04-08-2011 a las 18:12:04. Razón: Etiquetas [DELPHI] [/DELPHI] |
#6
|
|||
|
|||
Hola...
Bienvenido a los foros de Club Delphi, te recomiendo que le des una leida a la Guía de Estilo. Otra cosa, cuando publiques código fuente en Delphi, usa las etiquetas delphi: [delphi] begin ProcedimientoAEjecutar; Variable := 'hola mundo'; // ejemplo end; [/delphi] lo que se mostrará en los foros así:
Saludos... |
#7
|
|||
|
|||
Nueva respuesta ordenada
Disculpen al hacer un copi desde el word se juntaron todos los caracteres
aca va de nuevo ordenado Amigos Primer muchas gracias por sus rápidas respuestas Yo soy de la década de los 80 donde programábamos en turbopascal con el DEC2020 de la Univ. En esos días habían pocos a quien hacerles consultas. Me parece genial esto de los foros y post. Los felicito por su dedicación y muchas gracias. Perdón por la lata. Al grano Uno de mis problemas era que tenia 2 tablas en distintas carpetas Una en, C:\Documents and Settings\cvl\Escritorio\PRY_CDT_0 Y otra en, C:\Archivos de programa\Archivos comunes\Borland Shared\Data, esto por que en algún momento el compilador me reclamó que no existía la tabla y la copie a esa carpeta. Pregunta. Alguien me puede como reasigno la ruta para no tener que usar un FROM tan largo, gracias Después de arreglar la ruta de la tabla… Lo que me resultó de las mil y unas pruebas : La rutina que me funciona ok,con todos los campos es : Datasource1.Dataset := Query1; Query1.SQL.Clear; Query1.Active := False ; With Query1.Sql Do Begin Clear ; Add('SELECT DISTINCT ESPECIALIDAD,DIA_SEMANA,STD_ATENCION,NOMBRES,APELLIDOS'); Add ('FROM "C:\Documents and Settings\cvl\Escritorio\PRY_CDT_0\BD HRS ATENCION.DB"') End ; Query1.Active := True ; Los nombres de los campos con espacios en blanco le dan problemas al compilador, y aparece el mensaje de error. Cuando pongo el campo entre “comillas” dobles la tabla de resultado repite este dato en toda la columna y no carga los datos. Los add no son problema me funcionan ok. Mi trabajo consiste en hacer un programa para filtrar una base de datos de un hospital. Igual por si a alguien le sirve transcribo la rutina completa en la que he parametrizado los datos del Select para ejecutarlo a partir de unos listbox que he creado, con los onclick de los listbox le paso los strings a los Edit.text y luego ejecuto el query. Esto que transcribo lo probé y funciona super ok Solo me falta parametrizar la opción ascendente descendente. With Query1.Sql Do Begin Clear ; Add('SELECT DISTINCT '+Edit1.text+''); Add ('FROM "C:\Documents and Settings\cvl\Escritorio\PRY_CDT_0\BD HRS ATENCION.DB"'); Add('WHERE'); Add(' ( '+Edit3.text+' = "'+Edit4.text+'") '); Add('ORDER BY '+Edit2.text+' ASC'); End ; Como soy nuevo en el foro por favor díganme si vale subir después como post esta rutina con la opción (asc, des), completa, igual no se si se hace de la misma manera que cuando un pregunta algo.. Muchas Gracias a todos Saludos |
#8
|
||||
|
||||
Hola cvlaso77.
Me tomé la licencia de corregir el texto original de tu mensaje ya que era muy difícil de interpretar. Por favor lee el uso de las etiquetas para encerrar tu código. Saludos y gracias por tu colaboración. Nota: lamento el retraso en los mensajes pero tengo problemas de conexión.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda por favor | Nigth | Varios | 1 | 11-11-2008 14:20:48 |
Ayuda por favor... | BuRtOn | Varios | 62 | 07-03-2008 03:21:25 |
Ayuda con el msn por favor | soler | Varios | 25 | 27-02-2008 22:20:23 |
Por favor ayuda con select, es de vital importancia | manolop | Firebird e Interbase | 8 | 19-05-2005 16:51:47 |
Ayuda por favor | yusnerqui | Internet | 8 | 23-04-2004 09:26:43 |
|