• Viernes 3 de Mayo de 2024, 16:39

Autor Tema:  Problemas En Dao Con Like  (Leído 2921 veces)

TasQuin

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Problemas En Dao Con Like
« en: Domingo 26 de Diciembre de 2004, 11:21 »
0
: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

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Problemas En Dao Con Like
« Respuesta #1 en: Domingo 26 de Diciembre de 2004, 12:00 »
0
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.
Mi mujer tiene un físico bárbaro!!!. Einstein.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Problemas En Dao Con Like
« Respuesta #2 en: Lunes 27 de Diciembre de 2004, 05:10 »
0
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

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Problemas En Dao Con Like
« Respuesta #3 en: Lunes 27 de Diciembre de 2004, 18:15 »
0
Hola.

Aparte de consideraciones varias sobre tipos de datos, usa como carácter comodín para LIKE el carácter %.

Código: Text
  1.  
  2. Coincidencia del comienzo de valor del campo con 'MiValor':
  3. SELECT Campo FROM Tabla WHERE OtroCampoTexto LIKE('MiValor%')
  4.  
  5. Coincidencia del final de valor del campo con 'MiValor':
  6. SELECT Campo FROM Tabla WHERE OtroCampoTexto LIKE('%Valor')
  7.  
  8. El valor del campo que contenga 'MiValor':
  9. SELECT Campo FROM Tabla WHERE OtroCampoTexto LIKE('%Valor%')
  10.  
  11.  

Abur.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Problemas En Dao Con Like
« Respuesta #4 en: Lunes 27 de Diciembre de 2004, 20:13 »
0
Aclarando: Para usar Like en consultas de DAO se usa el asterisco * y para ADO se usa el signo de porciento %
 :)

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Problemas En Dao Con Like
« Respuesta #5 en: Martes 28 de Diciembre de 2004, 09:13 »
0
Se non me trabuco... con ADO también funciona el '%', igual que con otras bases de datos SQL.

Abur.

TasQuin

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Problemas En Dao Con Like
« Respuesta #6 en: Martes 28 de Diciembre de 2004, 10:43 »
0
:D  gracias a todos a quellos que contestaron este mensaje y la verdad me fue de gran utilidad para el trabajo asic omo el de alimentar mi conocimiento  ¡¡¡GRACIA!!!  :comp: