Access - selec con varias condiciones

 
Vista:
sin imagen de perfil

selec con varias condiciones

Publicado por jairo (8 intervenciones) el 26/05/2015 23:05:02
hola, tengo un problema ojala y me puedan ayudar, quiero hacer una consulta en access por medio de sql pero con 2 condiciones, la primera condición es variable y de tipo entero, la segunda condicion es de tipo bolean, el codigo q escribo es: "select *from tabla1 where condicionbolean=' " & false & " ' and condicionnumerico=" & numero entero
y como ya sabran no me da, me dice que no coiciden los tipos, creo q el problema son las comillas dobles y sencillas porque las pruebo aparte y me dan, las e acomodado de muchas formas y no le e dado.
gracias por su tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de douglas

selec con varias condiciones

Publicado por douglas (280 intervenciones) el 27/05/2015 00:16:59
Pruébalo así


"select *from tabla1; where condicionbolean=' " & False & " ' and condicionnumerico=" & Int([condicionnumerico]"


Tu lo acomodas a como lo estas haciendo
Buena 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
sin imagen de perfil

selec con varias condiciones

Publicado por jairo (8 intervenciones) el 27/05/2015 00:39:14
GRACIAS POR LA REPUESTA TE ESCRIBO EL CODIGO PARA VER QUE PROBLEMA HAY.
Dim numeroempleado As Integer
numeroempleado = InputBox("nada")


Dim mirecoset As New Recordset
Dim miconeccion As New Connection
Dim INSTRUCCION As String


Set miconeccion = CurrentProject.Connection

INSTRUCCION = "select * from TBINGRESO WHERE ACTIVO='" & False & "' AND EMPLEADO=" & numeroempleado
mirecoset.Open INSTRUCCION, miconeccion

LO HICE COMO ME DIJISTE SOLO CAMBIE LA VARIABLE NUMEROEMPLEADO AUN ME SIGUE DANDO ERROR DE NO COICIDEN LOS TIPOS, EN EL INPUTBOX LE ESCRIBO EL NUMERO 4 QUE ES UN ENTERO.
GRACIAS DE ANTEMANO.
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
Imágen de perfil de douglas

selec con varias condiciones

Publicado por douglas (280 intervenciones) el 27/05/2015 01:08:54
Claro que no esa variable era para tomar números enteros de una cadena con decimales
ósea de una lista con datos hay 4 y 4,5 el tomaría el 4.
Pregunta en donde pones el numero 4 existen números distintos a un numero entero.
Pregunta que acces estas usando,
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
sin imagen de perfil

selec con varias condiciones

Publicado por jairo (8 intervenciones) el 27/05/2015 02:04:40
activo :tipo bolean este corresponde a si un empleado esta actualmente trabajando en la empresa
empleado :es el id autonomerico de una tabla llamada empleados relacionada con la tabla tbingreso
con este codigo me da "no coiciden los tipos de datos en la expresion de criterio"

INSTRUCCION = "select * from tbingreso where ACTIVO='" & False & "' AND EMPLEADO = 4 "

si las hago por separado me da la consulta
Instruccion="select *from tbingreso where ACTIVO= FALSE" (PARA CONSULTA DE ACTIVO=FALSO)
Instruccion="select *from tbingreso where EMPLEADO=4" (PARA CONSULTA DE EMPLEADO =4)
HACIENDOLAS ASI NO HAY PROBLEMA

PERO LO QUE QUIERO HACER ES UNIR LAS DOS CONDICIONES.. O ALGUNA ALTERNATIVA QUE ME DE LAS DOS CONDICIONES.

GRACIAS, Y DISCULPA LA MOLESTIA!!
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
Imágen de perfil de Douglas

selec con varias condiciones

Publicado por Douglas (280 intervenciones) el 28/05/2015 00:10:37
De la forma como lo acomodas parece que lo corres desde visual basic externo por tanto me parece
que va así.

numero= InputBox("nada")
Dim mirecoset As New Recordset
Dim miconeccion As New Connection
Dim StrSQL as String


Set miconeccion = CurrentProject.Connection



strSQL ="SELECT *FROM TBingreso "&_
"WHERE TBingreso.ACTIVO='"& False &"'"&_
"AND TBingreso.Empleado='"&numero&"'"&_
"Order by TBingreso.Empleado;"

La puse de memoria ojala vaya bien si no la acomodas
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
sin imagen de perfil

selec con varias condiciones

Publicado por jairo (8 intervenciones) el 28/05/2015 00:53:09
gracias Duglas, he probado tu codigo y me da el mismo error "no coiciden los tipos de datos en la expresion de criterio"

el codigo que puse es el siguiente:
numeroempleado = InputBox("nada")
Dim mirecoset As New Recordset
Dim miconeccion As New Connection
Dim INSTRUCCION As String


Set miconeccion = CurrentProject.Connection
INSTRUCCION = "select *from tbingreso " & "where tbingreso.activo=' " & False & " ' " & "and tbingreso.empleado=' " & numeroempleado & " ' " (esta es casi duplicando tu codigo)

la probe de otras maneras:
INSTRUCCION = "select *from tbingreso " & "where tbingreso.activo=' " & False & " ' " & "and tbingreso.empleado= " & numeroempleado

y tambien probe:
INSTRUCCION = "select *from tbingreso " & "where tbingreso.activo=' " & False & " ' " & "and tbingreso.empleado= 4 "

y tambien con el mismo error de que no coiciden los tipos en la expresion.

sera que no se puede?

saludes y gracias por tomarte el tiempo.
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
Imágen de perfil de douglas

selec con varias condiciones

Publicado por douglas (280 intervenciones) el 28/05/2015 00:55:43
acá esta el error
pon un cuadro de mensaje a ver que es lo que esta dando

numeroempleado = InputBox("nada")

Pero la sentencia es así lo que no le estas danto es bien las variables

Pon un txtbox con lo que sale de ahí a ver si te esta dando lo que crees

Revísalo ya que cuando lo pones por separado pones un numero entero y no la variable
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
sin imagen de perfil

cuadro de mensaje

Publicado por jairo (8 intervenciones) el 28/05/2015 01:20:05
Estoy Usando Access 2010,he puesto un msgbox para ver que toma el inputbox, siempre le escribo un 4 porque se la respuesta que me tiene que dar pero siempre para en el error de que no coiciden los tipos de datos en la expresion

numeroempleado = InputBox("nada")
Dim mirecoset As New Recordset
Dim miconeccion As New Connection
Dim INSTRUCCION As String

MsgBox numeroempleado

Set miconeccion = CurrentProject.Connection

INSTRUCCION = "select *from tbingreso " & "where tbingreso.activo='" & False & "'" & " and tbingreso.empleado='" & numeroempleado & "'"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

cuadro de mensaje

Publicado por Alberto T (1 intervención) el 11/06/2015 22:25:44
Hola Muchas gracias por la información, yo tambien uso access 2010 y tenia ese mismo problema, pero con tus especificaciones lo puede solucionar graxcias. :D



______________________________________________________________________________________________

Lo Mejor de lo Mejor Grupos electrogenos.
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