Visual Basic - BUSQUEDA POR MES

Life is soft - evento anual de software empresarial
 
Vista:

BUSQUEDA POR MES

Publicado por erikur raudi (41 intervenciones) el 12/07/2007 19:07:17
HOLA AMIGOS, DE NUEVO NECESITO DE SUS CONOCIMIENTOS.

ESTE ES MI PROBLEMA:

TENGO QUE REALIZAR UNA BUSQUEDA POR MES DENTRO DEL CAMPO FECHA_INICIO EN MI BD ACCESS.

EL FORMATO DE LA FECHA EN LA BD ACCESS ES: mm/dd/yyyy.

ESTA ES LA FORMA EN QUE LO HAGO, MEDIANTE UN TEXT DONDE ESCRIBO EL NÚMERO DE MES (pejem: 7) Y UN BOTON BUSCAR:

Dim Consulta2 As String
Consulta2 = "SELECT * FROM contrato WHERE MONTH(fecha_inicio)='#" & fechaIni.Text & "#'"
Data1.RecordSource = Consulta2
Data1.Refresh

AL EJECUTARLA ME ENVIA EL SIGUIENTE ERROR:

Run-time error '3061' :
Too few parameters. Expected 1.

CUANDO VOY A DEBUG ME MARCA EL ERROR EN:
Data1.Refresh

-------------------------------------------------

ESPERO HABERME EXPLICADO, TAL VEZ PARA USTEDES ESTO ES MUY SENCILLO, PERO PARA ALGUIEN QUE EMPIEZA COMO YO, SE COMPLICAN UN POCO LAS COSAS.

OJALA ME PUEDAN AYUDAR.

GRACIAS, Y ESPERO RESPUESTAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:BUSQUEDA POR MES

Publicado por Natalia Camino (46 intervenciones) el 12/07/2007 19:36:22
Estás tratando el Text como una fecha, cuando es un número. Prueba poniendo la consulta así (sin comillas simples ni #)

"SELECT * FROM contrato WHERE MONTH(fecha_inicio)=" & fechaIni.Text
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BUSQUEDA POR MES

Publicado por Tony (5 intervenciones) el 12/07/2007 20:59:12
HOLA QUE TAL PRUEBA COLOCANDO EN LA CONSULTA SQL LO SIGUIENTE
SELECT * FROM contrato WHERE DATEPART('m',fecha_inicio)="y aqui pones la variable donde esta el mes que quieras buscar" por ejemplo

SELECT * FROM contrato WHERE ('m',fecha_inicio)=2

CON ESA CONSULTA CONSIGUES TODOS LOS REGISTROS DE LA TABLA CONTRATO QUE TENGAN EN FECHA DE INICIO EL MES DE FEBRERO

OJO TRAERA TODOS LOS REGISTROS DE TODOS LOS AÑOS QUE TENGA EN FECHA DE INICIO FEBRERO

ME EXPLICO ES MUY DIFERENTE QUE DIGAS

SELECT * FROM contrato WHERE ('m',fecha_inicio)=2
TRAE TODOS LOS REGISTROS QUE EN FECHA DE INICIO SEA FEBRERO(TODOS LOS AÑOS)

SELECT * FROM contrato WHERE ('m',fecha_inicio)=2 and datepart('yyyy',fecha_inicio)=2007
TRAE TODOS LOS REGISTROS QUE EN fecha_inicio SEAN DE FEBRERO Y DEL AÑO 2007

ESPERO TE SIRVA......CUALQUIER COSA INVESTIGA UN POCO SOBRE LA FUNCION DATEPART SUERTE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BUSQUEDA POR MES

Publicado por erikur raudi (41 intervenciones) el 12/07/2007 21:26:41
GRACIAS A AMBOS, NECESITABA AYUDA.

PONDRE EN PRACTICA SUS RECOMENDACIONES.

HASTA PRONTO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BUSQUEDA POR MES

Publicado por erikur raudi (41 intervenciones) el 13/07/2007 17:10:02
HOLA, LAMENTO MOLESTARTE.

HE HECHO LA CONSULTA COMO ME ACONSEJASTE Y ME SIGUE ENVIANDO EL MISMO ERROR.

NO QUE ESTA MAL, SI ME PUDIERAS ACONSEJAR, SERIA EXCELENTE.

DE ANTEMANO GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:BUSQUEDA POR MES

Publicado por erikur raudi (41 intervenciones) el 13/07/2007 17:09:22
HOLA, LAMENTO MOLESTARTE.

HE HECHO LA CONSULTA COMO ME ACONSEJASTE Y ME SIGUE ENVIANDO EL MISMO ERROR.

NO QUE ESTA MAL, SI ME PUDIERAS ACONSEJAR, SERIA EXCELENTE.

DE ANTEMANO GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar