FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ADO con Locate sólo busca 1 campo y necesito 2 :(
Hola a tod@s!
Les escribo porque he buscado información al respecto, pero nada parece funcionar, y ya que aquí es como la escuela Jedi de lo relacionado con Delphi, creo que podrán ayudar a este pobre padawan en desgracia La cuestión es esta: Estoy usando componentes ADO para guardar información en una tabla de Access XP donde se guardan tarifas de envíos, en dicha tabla se guarda un identificador de la ciudad destino, el costo de acuerdo a la clase del envío y una fecha que indica cuándo entra en vigor la tarifa. Por lo anterior, antes de grabar un nuevo registro necesito verificar que no haya otro registro que tenga esa fecha con ese identificador de ciudad. Es decir, si ya tengo lo siguiente: Código:
IdCiudad | Costo | Fecha 1 | 100 | 05/07/2005 Ok, intento hacer la validación de la siguiente manera: donde tblTarifasPorCiudad es la tabla de tarifas de Access XP. La fecha la obtiene de un DateTimePicker llamado dtpFecha. Al parecer, el método Locate sólo funciona si utilizo un campo para hacer la búsqueda, sólo que en este caso, necesito que lo haga por 2 campos diferentes, pues sí puede haber repetidos en IdCiudad, ya que con el tiempo se crea otro registro con una fecha y un costo diferente, pero nunca se eliminan los anteriores, de la siguiente manera: Código:
IdCiudad | Costo | Fecha 1 | 100 | 05/07/2005 1 | 110 | 01/08/2005 |
#2
|
||||
|
||||
Saludos
Cita:
No estoy seguro, ni lo he probado ppero creo qeu debes comverti dtpFecha.DateTime en String.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#3
|
||||
|
||||
Yo también apuesto a que el problema va por la fecha; En la tabla tienes sólo una fecha (y no se si Access almacenará alguna hora de tipo 00:00:00); Asegurate de que al hacer la búsqueda no estás parando un campo "Fecha+Hora", porque si fuera así la comparación no sería correcta (ya que te estará comparando también la hora).
__________________
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. |
#4
|
|||
|
|||
ADO con Locate
Hola
Siguiendo con lo que se referian anteriormente del problema con la fecha del DateTimePicker trata de obtener solo la parte entera del mismo con algo asi: Int(dtpfecha.Date) Saludos Luis Garcia _____________________________ La mejor manera de decir es hacer |
#5
|
|||
|
|||
Lo intento y les aviso!
Gracias por el tip!!! veré ahora mismo si funciona y les dejo saber
|
#6
|
|||
|
|||
ADO y Locate
Hola a tod@s nuevamente!
En efecto, lo que estaba pasando era que en la tabla las fechas estaban guardadas como fechas cortas y la comparación la hacía con fecha/hora, por eso el locate no parecía funcionar. Gracias por su atención y su consejo! Yoda los envidiaría, definitivamente, jejejeje |
|
|
|