SELECT [Listin telefonico].* FROM [Listin telefonico] WHERE ([Listin telefonico].Primera

calimero
29 de Octubre del 2003
unsaludo a todos.
tengo este problema:
estoy creando con visal basic 6 una pequeña aplicación, pero me ocurre lo siguiente:

la alpicación es una agenada telefonica.
he creado una base de datos desde el administrador visula de datos MDB de la versión 7.
con los campos siguientes:
idnumero,Numero de telefono,primer apellido,segundo apellido,nombre,localidad,probincia y comentarios. decir que menos comentarios todos tienen un indice para su busqueda y el campo idnumero es ademas unico y primario.
pues bien este es el problema:
bien e creado un formulario para introducir los numeros y demas, con unos textbox en los que introduzco el dato que quiero buscar y lo encuentro sin problemas, el codigo es este:
If KeyAscii = 13 Then
With Data1.Recordset
.MoveFirst
.Index = "indprap"
.Seek "=", tbbuscarprimerap
If .NoMatch Then
MsgBox "mal rollito"
Else
Command1.SetFocus
End If
KeyAscii = 0
End With
ElseIf KeyAscii = 27 Then
MsgBox "adios"
KeyAscii = 0
End If
End Sub
perfecto no me da problemas ya quepuedo buscarcualquier campo con los demas codigos como este pero modificados para buscar por todos los datos.

como se hace para que yo realice una busqueda por ejemplo: todos los registros de los telefonos de poblacion huesca y solo huesca, sin que me muestre los de nigun otro sitio.
en el admistrador visual de datos he creado una consulta y hace lo que yo quiero su codigo en SQL es este:
SELECT [Listin telefonico].*
FROM [Listin telefonico]
WHERE ([Listin telefonico].Primerapellido = 'rueda' );
pero no se como decir a visual que haga lo mismo por que si
yo solo fuese a buscar ese dato no tendria ningun problema pero como imaginais puedo buscar lo que sea y esa tabla no me vale.

por ultimo decir como para que los resultados de la busqueda los vea en forma de lista y no en forma de uno en cada registro.
os pido perdon por aver echo que esteis tanto tiempo leyendo pero, la verdad esto lo hace la ignorancia.
sin mas un saludo.

Tester
29 de Octubre del 2003
A ver, esyoy algo dormido a estas horas pero creo que entendi la pregunta :P

Una idea seria el añadir en el formulario un listbox o combo en donde el usuario pueda seleccionar uno o varios metodos de busqueda, en ellos podrias introducir el nombre de los campos que te interese, al hacer click en el boton o imagen de busqueda seria solo cuestion de construir una cadena SQL con los campos a abrir y por lo tanto a buscar, suponiendo que tengamos un listbox seria algo asi:

Private Sub Command1_Click()
If List1.SelCount = 0 Then ' Buscar en todos los campos?
Buscar_All
End If

If List1.SelCount > 0 Then ' Buscar en seleccionados
Dim Cadena As String
Dim A As Integer

For A = List1.ListCount - 1 To 0 Step -1
If List1.Selected(A) = True Then
If Len(Cadena) = 0 Then
Cadena = Cadena & List1.List(A)
End If
If Len(Cadena) > 0 Then
Cadena = Cadena & "," & List1.List(A)
End If
End If
Next

Cadena = "SELECT " & Cadena & " From [Listin telefonico];"


Buscar_Selection Cadena
End If
End Sub

Sub Buscar_All()
MsgBox "Buscar en todos", vbOKOnly
End Sub

Sub Buscar_Selection(SQLTXT As String)
MsgBox SQLTXT, vbOKOnly
End Sub

Private Sub Form_Load()
List1.AddItem "Localidad"
List1.AddItem "Pais"
List1.AddItem "Nombre"
List1.AddItem "ApPrimero"
List1.AddItem "ApSegundo"
List1.AddItem "Telefono"
End Sub

Si te fijas bien solo queda insertar tu rutina de busqueda en los Subs complementarios y listos ;)

Si tienes alguna duda ya sabes, un mail, otro post o visita este web: http://www.programacion.com/tutorial/sql/2/

Sin mas, Ismael G. Jiménez
eMail: [email protected]