Visual Basic - problemas es busquedas selectivas

Life is soft - evento anual de software empresarial
 
Vista:

problemas es busquedas selectivas

Publicado por saul (2 intervenciones) el 18/11/2016 20:32:38
hola buenas tardes, espero que me puedan ayudar tengo un problema con este codigo
los siguientes codigos funcionan perfectamente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Dim s1 As String   ' variable local
ListView1.ListItems.Clear
s1 = Ortega   ' se asigna cadena
If rs.State = 0 Then
    rs.Open "select *from contactos where Apellido =' " & s1 & " ' ", cn
End If
rs.MoveFirst
Dim li As ListItem
Set li = ListView1.ListItems.Add(, , rs("Nombre"))
    li.ListSubItems.Add , , rs("Apellido")
rs.MoveNext
 
' esta linea se  carga en    form_load
 
rs.Open "select*from contactos", cn
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
If rs.State = 0 Then
    rs.Open "select *from contactos where Apellido =  'Ortega' ", cn
End If
rs.MoveFirst
Dim li As ListItem
While rs.EOF = False
    Set li = ListView1.ListItems.Add(, , rs("Nombre"))
    li.ListSubItems.Add , , rs("Apellido")
rs.MoveNext
Wend

mi proble ma radica cuando el pimer codigo lo quiero asiganar un bucle no imprime nada

o al segundo le quiero asignar una variable me marca Error '3021', El valor de EOF o BOF es true, o el actual regristro se elimino la operacion solicitada requiere un registro actual
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 4.022
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

problemas es busquedas selectivas

Publicado por Andres Leonardo (1671 intervenciones) el 19/11/2016 00:12:23
cambia esta linea

de esto
s1 = Ortega ' se asigna cadena

a esto

s1 = "Ortega" ' se asigna cadena
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas es busquedas selectivas

Publicado por saul (2 intervenciones) el 19/11/2016 00:52:12
perdon pero se me olvido poner las comillas ese codigo, pero si funciona, mas que nada lo puse de ejemplo mas bien quiero asignar una variable al codigo siguiete (es el segundo pero modificado)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
dim s1 as string
 
s1= ' A ESTA VARIABLE SE LEASIGNA EL CONTENIDO DE UNA CAJA DE TEXTO
 
If rs.State = 0 Then
 
    rs.Open "select *from contactos where Apellido =  ' " & s1 & " ' ", cn
 
End If
 
rs.MoveFirst  ' LLEGA HASTA LINEA AQUI LO MARCA
 
Dim li As ListItem
 
While rs.EOF = False
 
    Set li = ListView1.ListItems.Add(, , rs("Nombre"))
 
    li.ListSubItems.Add , , rs("Apellido")
 
rs.MoveNext
 
Wend

' pero aqui me marca Error '3021', El valor de EOF o BOF es true, o el actual regristro se elimino la operacion solicitada requiere un registro actual
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 4.022
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

problemas es busquedas selectivas

Publicado por Andres Leonardo (1671 intervenciones) el 20/11/2016 14:45:45
Claro es por uqe pones comillas sencillas y un espacio entre el apellido ....

1
rs.Open "select *from contactos where Apellido =  ' " & s1 & " ' ", cn

Intenta asi

1
rs.Open "select *from contactos where Apellido =  '" & s1 & "' ", cn

ya uqe no encuentrs " ORTEGA " si no 'ORTEGA' otrsa cosa que podrias usar son los comodines de Like par que sean todos los apellidos ortega sin importar

1
rs.Open "select *from contactos where Apellido like  %" & s1 & "%", cn
Espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar