Programación General > Visual Basic 6.0 e inferiores

 Problemas En Dao Con Like

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa