Visual Basic - AYUDA DE ACCESS

Life is soft - evento anual de software empresarial
 
Vista:

AYUDA DE ACCESS

Publicado por totita (48 intervenciones) el 13/07/2007 16:27:53
Hola disculpen la molestia pero necesito ayuda urgentemente, estoy haciendo una consulta en access y quiero que el resultado me aparesca en una tabla, cabe mencionar que estoy utilizando el editor de visual basic, el codigo que estoy utilizando es el siguiente, se que tiene alguna falla porque no me muestra absolutamente nada, pero no se en donde se encuentra, alguien podría ayudarme??? ...

Private Sub BUSCAR_Gotfocus()
'Realizar busqueda en modo: Numero de ENSAMBLE

Dim sql As Database 'base de datos
Dim sales As Recordset ' tabla
Dim busqueda As String
Dim busca As String


busca = NBUSQUEDA 'se asigna el textbox a la variable

Set sql = CurrentDb() 'Abre la base de datos
busqueda = "SELECT * FROM Tubular WHERE Tubular.no_ensamble like '*" & busca & "*'" 'busca la variable
Set sales = sql.OpenRecordset(busqueda, dbOpenDynaset)

With sales
While Not .EOF
.Edit
.Update
.MoveNext
Wend
End With
Salida:
sales.Close
sql.Close
End Sub
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

RE:AYUDA DE ACCESS

Publicado por fede (189 intervenciones) el 13/07/2007 17:16:31
primero nose porque nombras al campo Tubular.no_ensamble si haces la consulta sobre una sola tabla y hace una cosa xq sino te dice nada no hay error asi q hace esto
nro=sales.recordcount, si este nro es cero es porque no encuentra nada y hay un error en el criterio de la consulta fijate o cualquier cosa avisa
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

RE:AYUDA DE ACCESS

Publicado por TOTITA (1 intervención) el 13/07/2007 19:29:36
Hola fede gracias por tu observación, mira hice las correcciones y sigue sin mostrar nada, asi es que me di a la tarea de implementar este codigo, que si me muestra cuantos registros existen con el criterio escrito en la caja de texto, ahora bien, lo que necesito es que me muestre esos registros y no solo que me los cuente, si me explico, asi de esta manera me pude asegurar de que si esta realizando la consulta.

Private Sub BUSCAR_Click()
Dim sql As Database
Dim sales As Recordset
Dim strSQL As String
Dim strPalabrabuscada As String
Dim cuentapalabra As Integer
strPalabrabuscada = Texto2
Set sql = DBEngine.OpenDatabase("E:\PROYECTO.mdb")
strSQL = "SELECT * FROM Tubular where Tubular.no_ensamble like '*" & strPalabrabuscada & "*'"
Set sales = sql.OpenRecordset(strSQL, dbOpenDynaset)
With sales
If .EOF And .BOF Then 'Si está al comienzo y al final del Recordset al mismo tiempo.
MsgBox "No se encuentra el Numero de ensamble"
GoTo Salida
Else
.MoveLast
.MoveFirst 'Voy al primer y al último registros con el objetivo de contar los registros.
End If
cuentapalabra = sales.RecordCount
Etiqueta25.Caption = cuentapalabra 'aqui puedes meter el msgbox
Salida:
sales.Close
End With
sql.Close

End Sub
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

RE:AYUDA DE ACCESS

Publicado por fede (189 intervenciones) el 13/07/2007 20:31:10
pero donde los keres mostrar en un datagrid en un flexgrid?
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

RE:AYUDA DE ACCESS

Publicado por Griselda(TOTITA) (48 intervenciones) el 13/07/2007 20:43:50
Estoy utilizando Access 2002 y en la barra de herramientas no tengo ninguno de esos componentes, de que otra manera se puede mostrar ???
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

RE:AYUDA DE ACCESS

Publicado por fernando (102 intervenciones) el 13/07/2007 22:34:18
Pregunto lo mismo que fede, mostrar dónde? Estás trabajando en visual basic o VBA en Access 2002? De todas maneras, yo reemplazaría el caracter comodín * por el caracter %.
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

RE:AYUDA DE ACCESS

Publicado por fede (189 intervenciones) el 14/07/2007 16:46:08
haber totita vos haces la consulta tatata todo bien ahora vos lo queres mostrar pero con que objeto lo mostras con datagrid con flexgrid,listview o no sabes decime si es eso y yo te paso un codgio
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

RE:AYUDA DE ACCESS

Publicado por GRISELDA (TOTITA) (48 intervenciones) el 16/07/2007 19:39:46
Hola a todos, si fede es eso no se decirte, soy nueva programando en el editor de visual basic de access 2002, si tan solo pudiese explicar mejor mis dudas. Espero me ayuden, dudas, comentarios sugerencias, cualquier critica aqui estare esperando su ayuda.
Gracias y ojala me puedan ayudar.

SALUDOS GRISELDA ...
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

RE:AYUDA DE ACCESS

Publicado por fernando (102 intervenciones) el 14/07/2007 21:32:18
No todos saben tanto como nuevo. Aunque no he encontrado alguna respuesta suya que contribuya a resolver algo, sólo críticas.
PD: es piba, se llama Griselda.
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

RE:AYUDA DE ACCESS

Publicado por Gaston (1 intervención) el 20/07/2007 22:38:33
¿Dónde muestras los registros del recordset?; lo que entiendo que tratas de hacer es una búsqueda en una tabla, lo que falta es mostrar los resultados de dicha búsqueda, usualmente otro formulario, o el mismo desde donde se llamó el procedimiento; los controles que usualmente se utilizan para mostrarlos son el combobox o listbox, que son los más prácticos; el datagrid o el flexgrid, que no te recomiendo si eres principiante,por lo complicado de su uso; como sugerencia te muestro cómo puedes llenar un listbox con los resultados de tu búsqueda, espero que te sirva...

Private Sub BUSCAR_Click()
Dim sql As Database
Dim sales As Recordset
Dim strSQL As String
Dim strPalabrabuscada As String
Dim cuentapalabra As Integer
strPalabrabuscada = Texto2
Set sql = DBEngine.OpenDatabase("E:\PROYECTO.mdb")
strSQL = "SELECT * FROM Tubular where Tubular.no_ensamble like '*" & strPalabrabuscada & "*'"
Set sales = sql.OpenRecordset(strSQL, dbOpenDynaset)
With sales
If .EOF And .BOF Then 'Si está al comienzo y al final del Recordset al mismo tiempo.
MsgBox "No se encuentra el Numero de ensamble"
GoTo Salida
Else
.MoveLast
.MoveFirst 'Voy al primer y al último registros con el objetivo de contar los registros.

'Aquí comenzamos a llenar el ListBox Lista1, que debe estar en el formulario actual.
While Not .EOF
Lista1.Add sales![Campo]
.MoveNext
Wend

End If
cuentapalabra = sales.RecordCount
Etiqueta25.Caption = cuentapalabra 'aqui puedes meter el msgbox
Salida:
sales.Close
End With
sql.Close

End Sub
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

RE:AYUDA DE ACCESS

Publicado por Griselda (48 intervenciones) el 24/07/2007 14:27:08
Hola muchisimas gracias ...
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