Programación General > Visual Basic 6.0 e inferiores
Problemas En Dao Con Like
TasQuin:
:hola: la verdad es que tengo un problema en esta consulta con dao:
Dim Bus2 As String
Dim Was, CLAVE As String
Was = InputBox("Por Favor Teclee El Folio a Buscar", "BUSCAR FOLIO")
If Was = "" Then
Exit Sub
Else
Bus2 = "select * from TRABAJO where IDPRODUCCION = '" & Was & "' "
Set TablaEmpleados = BaseGlobal.OpenRecordset(Bus2, 2)
If (TablaEmpleados!IDEMPLEADO <> "") Then
Text10 = TablaEmpleados!IDEMPLEADO
CLAVE = "select * from EMPLEADOS where IDEMPLEADO = '" & Text10 & "' "
End If
:whistling: EL PROBLEMA ES QUE CUANDO EN ACCESS DECLARO EL CAMPO DE "IDPRODUCION:TEXTO" SI ME ENVIA EL RESULTADO, PERO COMO SE INTRODUCEN SOLO NUMEROS, TENGO QUE CAMBIARLA DE ESTA MANERA "IDPRODUCCION:NUMERO", ENTONCES ME MANDA EL ERROR <<-. ME DICE QUE LOS DATOS NO COINCIDEN-->> A QUE SE DEBE O CUAL ES MI ERROR EN LA CONSULTA, LO HE QUERIDO HACER CON Like, PERO NO ENTIIENDO LA CONSULTA DE ESTE MODO.
SI ME PUDIERAN AYUDAR, DE ANTEMANO MIL GRACIAS
Sagutxo:
Salu2. Prueba a hacer conversiones con estas funciones.
Si quieres pasar numero a cadena:
ValStr=str(1234)
De cadena a numero:
ValInt= format(Valstr,Mascara);
doy por hecho que sabes que hay que sustituir la palabra máscara por una máscara válida
Espero haberte podido ayudar.
agur.
cpmario:
Número o cadena de texto
Al hacer una consulta en SQL tienes que verificar si es texto o números lo que deseas.
Si el campo a buscar es texto "IDPRODUCION:TEXTO" la consulta debe escribirse entre comillas simples. Como lo tienes... ='" & Was & "'"
Pero si el campo es numérico "IDPRODUCCION:NUMERO" entonces debes introducir la consulta sin las comillas.
Dim lngWas as long
lngWas = InputBox("Por Favor Teclee El Folio a Buscar", "BUSCAR FOLIO")
If lngWas = 0 Then
Exit Sub
Else
Bus2 = "select * from TRABAJO where IDPRODUCCION = " & lngWas
Antes de construir una base de datos debes de definir si el campo que deseas es de texto o numérico. También toma en cuenta que en un campo de texto puedes guardar números como si fueran texto y si lo deseas puedes después convertirlos en números.
Siempre define que tipo de variable vas a usar ya que es más fácil que se presenten errores de tipo cuando no se definen, por ejemplo:
En lugar de:
Dim Was
Cuando es texto usa mejor:
Dim strWas as string
Cuando es número y no lleva decimales:
Dim lngWas as long
:)
Brroz:
Hola.
Aparte de consideraciones varias sobre tipos de datos, usa como carácter comodín para LIKE el carácter %.
--- Código: Text --- Coincidencia del comienzo de valor del campo con 'MiValor':SELECT Campo FROM Tabla WHERE OtroCampoTexto LIKE('MiValor%') Coincidencia del final de valor del campo con 'MiValor':SELECT Campo FROM Tabla WHERE OtroCampoTexto LIKE('%Valor') El valor del campo que contenga 'MiValor':SELECT Campo FROM Tabla WHERE OtroCampoTexto LIKE('%Valor%')
Abur.
cpmario:
Aclarando: Para usar Like en consultas de DAO se usa el asterisco * y para ADO se usa el signo de porciento %
:)
Navegación
[#] Página Siguiente
Ir a la versión completa