border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 01-11-2004, 23:43:59
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado HOLA AYUDA CON FIND FIRST

Hola tengo este codigo


Código:
CTRI = "id= " & Text1.Text
With Data2.Recordset
.MoveLast

.FindFirst CTRI

End With
me suçirve para localizar un registro segun el dato introducido en una textbox, ahora mi pregunta es como le hago para que busque en toda la tabla y no solo en la columna "id" osea que si por ejemplo en lugar de un numero se pone un movimiento "venta" ubique la primera cioncidencia??

Gracias
__________________
voy aprendiendo , siempre
Responder Con Cita
  #2 (permalink)  
Antiguo 02-11-2004, 01:07:51
Avatar de chlsaul
Usuario VIP del Foro
 
Registrado: nov 2003
Ubicación: Trujillo
Posts: 510
chlsaul Valoración +2
Contactar con chlsaul a través de MSN Contactar con chlsaul a través de Yahoo
Predeterminado

HOla como estas
no entiendo bien lo ke deseas hacer, si pones o asignas a ti buskeda el campo ID pues la bisqueda solo sera en ese campo, a ver si explicas mejor lo tu pregunta...
Responder Con Cita
  #3 (permalink)  
Antiguo 02-11-2004, 01:37:04
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Hola efectivmente aqui uso id como campo de busqueda y me funciona muy bien :lol:

pero preferirira no usar id sino un criterio comodin para que busque en toda la tabla y todos los campos

si pongo
Código:
select  * form movimientos
entonces no me permite estipular criterios de busqueda

y si pongo campo por campo
Código:
select  movimientos.movimientos, id.movimientos etcc... from movimientos
entonces me dice que no coinciden los tipos


gracias
__________________
voy aprendiendo , siempre
Responder Con Cita
  #4 (permalink)  
Antiguo 02-11-2004, 08:01:40
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.404
J.M.Movilla Valoración +2
Predeterminado

A ver, daoba77, si primero soy capaz de entenderte y segundo si soy capaz de aclararte...

Cuando tú pones "select * from movimientos" estás ordenando leer todos los campos de la tabla en el mismo orden en que estén creados en la misma; cuando pones "select movimientos.movimientos, id.movimientos, etc..." le ordenas que lea sólo los campos movimientos, id, etc... y puestos en el orden que tú invoques... Pero no hay ninguna otra diferencia en cuanto a que luego te vaya a permitir o no asignar criterios de búsqueda ni va a influir en los tipos de los campos.

Lo que ocurre es que si tú quieres buscar por todos los campos (cosa que me parece poco práctica, aunque sí admito que te interese buscar por varios campos) tendrás que cuidar que en la instrucción de búsqueda las sentencias vayan redactadas de forma que se comparen adecuadamente los campos de búsqueda; por ejemplo, supongamos que quieras buscar los movimientos correspondientes a un artículo cuya descripción es "Manguitos de tela verde": en este caso tendrías que poner la variable de búsqueda entrecomillada, puesto que es de tipo texto:
Código:
CTRI = "Descripcion like '" & Text1.Text & "'"
te buscaría los movimientos con la Descripcion igual al contenido de la caja Text1 (lo que quedaría facilitado si además el Select llevase la cláusula de Order by Descripcion)

Lo mismo te pasaría si buscas por campos de fecha; tendrías que delimitar la variable con almohadillas:
Código:
CTRI = "Fecha = #" & Text1.Text & "#"
y así verás cómo no te da error de tipo...

Igual puedes mezclar campos en los criterios de búsqueda, unidos por AND o por OR, pero siempre que cada campo vaya relacionado adecuadamente con la variable que constituya la base de selección:
Código:
    CTRI = "Descripcion like '" & Text1.Text & "' And Fecha >= #"& & Text2.Text & "#"
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #5 (permalink)  
Antiguo 03-11-2004, 22:07:38
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Hola

Muchas gracias por su atencion


efectivamente ya habia comprendido que un string no es un long (que obvio) ops: y que mi tabla podria contener tipos de datos que no correspondieran entre si , pero como mi intencion solo es la de buscar un valor y no la de realizar calculos con el resultado lo he resuelto super facil

Código:
Private Sub Text1_Change()
NUMR = Text1.Text
strs = "*" & Text1.Text & "*" 'VALOR DEL TEXT1
sTRS2 = List1.Text            'VALOR DE LA LISTA DE CAMPOS
 TABLE = List2.Text
 STrs3 = CStr(sTRS2)
Select Case List1.Text
Case "Id", "Precio", "Numdemov", "cantidad", "cob"

ctri = sTRS2 & " like" & "'" & strs & "'"     'FORMATO DE NUMEROS
Case "articulo", "movimiento", "Nempleado", "local", "usuario", "clave articulo", "ides"
ctri = sTRS2 & " like" & "'" & strs & "'"  'FORMATO DE TEXTO
End Select
filterM
On Error Resume Next

Data2.Recordset.MoveLast
End Sub
ahi se ve el cstr con el que convierto los criterios en string y los resultados solo los muestra no los "extrae"


Aqui la busqueda
Código:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then ' HACER LA BUSQUEDA CON ENTER
SELTEXT
With Data2.Recordset
On Error GoTo erravi
.FindPrevious ctri
If .NoMatch Then
MsgBox "SE TERMINO LA BUSQUEDA"
Text1.SetFocus

.MoveLast
End If
End With
KeyAscii = 0
End If
Exit Sub
erravi:
MsgBox "INGRESE LOS DATOS CORRECTAMENTE"
SELTEXT
End Sub
Y aqui el filtro




Código:
Public Sub filterM() 'FILTRAR
Data2.RecordSource = ("SELECT * FROM " & TABLE & " WHERE " & sTRS2 & " like") & "'" & strs & "'"
Data2.Refresh
End Sub


¡¡¡super practico ¡¡¡ ya solo seleciono la tabla a buscar me muestra los campos seleciono el campo y conforme escribo lo filytra y lo busca al mismo tiempo :grin:


Haber si por ahi le sirve a alguien


Gracias
__________________
voy aprendiendo , siempre
Responder Con Cita
  #6 (permalink)  
Antiguo 03-11-2004, 23:04:45
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.404
J.M.Movilla Valoración +2
Predeterminado

Vale... Eso es bueno para agudizar el ingenio...

Ahora sólo te falta implementar el código para el caso de que el campo sea de tipo lógico (True/False) o de tipo Date... Anímete y remata tu función.
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #7 (permalink)  
Antiguo 03-11-2004, 23:29:43
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Hola gracias Sr Movilla

La verdad la funcion ya lo hace por que convierte cualquier valor a string entonces false no lo lee como valor negativo sino como "False" (cadena de texto) y lo compara, si nececito hacer algun calculo o comparacion entonces solo compruebo el tipo del resultado y lo convierto a su valor correspondiente


Saludos¡¡¡
__________________
voy aprendiendo , siempre
Responder Con Cita
  #8 (permalink)  
Antiguo 03-11-2004, 23:39:43
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.404
J.M.Movilla Valoración +2
Predeterminado

Perdona, daaoba77. Probablemente se trate de un error de transcripción, pero no veo diferencia del código correspondiente a unos casos y otros...

Código:
Select Case List1.Text 
Case "Id", "Precio", "Numdemov", "cantidad", "cob" 

ctri = sTRS2 & " like" & "'" & strs & "'"     'FORMATO DE NUMEROS 
Case "articulo", "movimiento", "Nempleado", "local", "usuario", "clave articulo", "ides" 
ctri = sTRS2 & " like" & "'" & strs & "'"  'FORMATO DE TEXTO 
End Select
En ambos casos aparentemente le das el mismo valor a ctri, por lo que no entiendo la función del Select Case.
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #9 (permalink)  
Antiguo 04-11-2004, 00:04:23
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Hola

Efectivamente mea culpa

el select case esta de mas

Causa probable:

Me desvele demasiado arreglando mi problema y termine dejando el codigo como estaba en cuanto me funciono, la verdade me costo trabajo llegar a el y no quise moverle ni un pelito, asi debo de tener mucho codigo obsoleto en toda mi aplicacion , pero espero depurara cuando termine o conforme me de cuenta

Gracias por la obvservacion

Saludos¡¡
__________________
voy aprendiendo , siempre
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Ayuda con BindingSource.Find junahu Visual Basic.NET 2003 & 2005 1 16-05-2007 15:09:07
hola ayuda por favor pandoro JAVA (General) 2 01-11-2006 22:01:05
hola ayuda porfa !!! mdp_223 C/C++ 3 18-09-2006 15:36:57
hola ayuda con esto porfa!!!!! mdp_223 C/C++ 11 14-09-2006 23:50:51
hola ayuda con commondialog dagoba77 Visual Basic 6.00 2 12-08-2005 00:56:00


La franja horaria es GMT. Ahora son las 20:38:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right