Visual Basic - DE NUEVO ...???

Life is soft - evento anual de software empresarial
 
Vista:

DE NUEVO ...???

Publicado por SELDA (48 intervenciones) el 19/07/2007 15:21:11
Hola estoy intentando realizar lo que ayer me recomendaron hacer y si funciona bien, pero en un solo caso, que es el siguiente :

Private Sub Texto29_GotFocus()

Dim sql As Database
Dim tabla As Recordset
Dim strSQL As String
Dim strPalabrabuscada As String

strPalabrabuscada = NBUSCA

Set sql = DBEngine.OpenDatabase("E:\PROYECTO.mdb")
strSQL = "SELECT * FROM Tubular where Tubular.no_ensamble like '*" & strPalabrabuscada & "*'"
Set tabla = sql.OpenRecordset(strSQL, dbOpenDynaset)
Texto29.Text = IIf(IsNull(tabla.Fields("AQMTLP")), "", (tabla("AQMTLP")))

End Sub

Pero lo que quiero tambien es que cuando yo le de un click al cuadro de texto 29 me muestre en otros cuadros de texto, otros campos de la miasma tabla que se relacionan con el mismo registro, hago lo siguiente , pero me muestra el error : No se puede hacer referencia a una propiedad o a un metodo para un control a menos que el control tenga el enfoque.

Private Sub Texto29_GotFocus()

Dim sql As Database
Dim tabla As Recordset
Dim strSQL As String
Dim strPalabrabuscada As String

strPalabrabuscada = NBUSCA

Set sql = DBEngine.OpenDatabase("E:\PROYECTO.mdb")
strSQL = "SELECT * FROM Tubular where Tubular.no_ensamble like '*" & strPalabrabuscada & "*'"
Set tabla = sql.OpenRecordset(strSQL, dbOpenDynaset)
Texto29.Text = IIf(IsNull(tabla.Fields("AQMTLP")), "", (tabla("AQMTLP")))
Texto33.Text = IIf(IsNull(tabla.Fields("DESCR")), "", (tabla("DESCR")))
Texto100.Text = IIf(IsNull(tabla.Fields("UNTCST")), "", (tabla("UNTCST")))

End Sub

Pero tambien como mi recordset encuentra varios no_ensamble kiero que aparezca uno en cada cuadro de texto, como le puedo hacer??? ...

Gracias por su ayuda ...
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:DE NUEVO ...???

Publicado por barca1010 (132 intervenciones) el 19/07/2007 15:30:54
Una pregunta, donde tienes los otros textbox?
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:DE NUEVO ...???

Publicado por SELDA (1 intervención) el 19/07/2007 15:39:50
Los cuadros de texto se encuentra en el mismo formulario donde esta texto25 ...
o a que te refieres ...
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:DE NUEVO ...???

Publicado por barca1010 (132 intervenciones) el 19/07/2007 15:51:18
otra pregunta, el error te aparece cuando agregas esta dos lineas:

Texto33.Text = IIf(IsNull(tabla.Fields("DESCR")), "", (tabla("DESCR")))
Texto100.Text = IIf(IsNull(tabla.Fields("UNTCST")), "", (tabla("UNTCST"))) ?
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:DE NUEVO ...???

Publicado por Pepe Polainas (14 intervenciones) el 19/07/2007 15:49:45
Mencionas que quieres hacer eso al darle click en el cuadro de texto 29, pero lo estás haciendo cuando ese cuadro obtiene el foco, o sea, en el evento GotFocus; tal vez deberías hacerlo en el evento Click, pues eso es lo que mencionas.

Private Sub Texto29_Click()
Dim sql As Database
Dim tabla As Recordset
Dim strSQL As String
Dim strPalabrabuscada As String

strPalabrabuscada = NBUSCA

Set sql = DBEngine.OpenDatabase("E:\PROYECTO.mdb")
strSQL = "SELECT * FROM Tubular where Tubular.no_ensamble like '*" & strPalabrabuscada & "*'"
Set tabla = sql.OpenRecordset(strSQL, dbOpenDynaset)
Texto29.Text = IIf(IsNull(tabla.Fields("AQMTLP")), "", (tabla("AQMTLP")))
Texto33.Text = IIf(IsNull(tabla.Fields("DESCR")), "", (tabla("DESCR")))
Texto100.Text = IIf(IsNull(tabla.Fields("UNTCST")), "", (tabla("UNTCST")))
End Sub

Respecto a lo último que mencionas, de que puede encontrar "varios no_ensamble", creo que lo mejor será que consideres pasarlos a un FlexGrid en vez de usar cuadros de texto.
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:DE NUEVO ...???

Publicado por Carlos (66 intervenciones) el 19/07/2007 15:53:33
Una pregunta para Pepe Polainas estoy viendo que el programa tiene muchos textbox! no seria preferible tener un solo text box y trabajarlo por matrices?!
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

Pues sí

Publicado por Pepe Polainas (1 intervención) el 19/07/2007 15:58:23
Pues sí, eso es lo que yo hago generalmente, pero en el ejemplo de Griselda así vienen. Y cuando sean muchos registros los que devuelva su consulta no le van a alcanzar los textboxes que tenga definidos, por eso tal vez debería usar un Flexgrid, o generar los texboxes dinámicamente, como tú dices.
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:Pues sí

Publicado por barca1010 (132 intervenciones) el 19/07/2007 16:02:58
De todas formas yo creo que el error que le aparece es porque envia el foco al textbox y el formulario todavia no esta cargado.
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:Pues sí

Publicado por SELDA (48 intervenciones) el 19/07/2007 16:12:25
ya intente con el evento: Click y no funciona ... Saben como lo estoy probando, poniendole a cada caja de texto el siguiente codigo;

Dim sql As Database
Dim tabla As Recordset
Dim strSQL As String
Dim strPalabrabuscada As String

strPalabrabuscada = NBUSCA

Set sql = DBEngine.OpenDatabase("E:\PROYECTO.mdb")
strSQL = "SELECT * FROM Tubular where Tubular.no_ensamble like '*" & strPalabrabuscada & "*'"
Set tabla = sql.OpenRecordset(strSQL, dbOpenDynaset)
Texto29.Text = IIf(IsNull(tabla.Fields("AQMTLP")), "", (tabla("AQMTLP")))

en el evento GotFocus ....

Solo le cambio el nombre del cuadro de texto y el campo, pero , al momento de que quiero que muestre el siguiente compoenente me muestra el mismo ...
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:Pues sí

Publicado por SELDA (48 intervenciones) el 19/07/2007 16:04:49
Me estoy confundiendo un poco, no tengo flexgrit el cuadro de herramientas del editor de vb de access 2000, el mayor numero que arrojaría mi consulta seria de 30, esto que significa :

el numero de ensamble que introduje en el cuadro de texto NBUSCA tiene de 1 a 30 componentes, los mismos que quiero mostrar como ya antes lo comente.

Por favor expliquenme que es lo que puedo y lo que no debo hacer, se los agradecere mucho ...
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:y en donde ocurre el error exactamente?

Publicado por SELDA (48 intervenciones) el 19/07/2007 16:26:23
El error ocurre cuando agrego las ultimas 2 lineas de este codigo ...
Private Sub Texto29_GotFocus()

Dim sql As Database
Dim tabla As Recordset
Dim strSQL As String
Dim strPalabrabuscada As String

strPalabrabuscada = NBUSCA

Set sql = DBEngine.OpenDatabase("E:\PROYECTO.mdb")
strSQL = "SELECT * FROM Tubular where Tubular.no_ensamble like '*" & strPalabrabuscada & "*'"
Set tabla = sql.OpenRecordset(strSQL, dbOpenDynaset)
Texto29.Text = IIf(IsNull(tabla.Fields("AQMTLP")), "", (tabla("AQMTLP")))
Texto33.Text = IIf(IsNull(tabla.Fields("DESCR")), "", (tabla("DESCR")))
Texto38.Text = IIf(IsNull(tabla.Fields("UNTCST")), "", (tabla("UNTCST")))

End Sub

Dime como puedo recorrer el registro para que muestre el siguiente ...

GRACIAS POR SU GRAN AYUDA Y ORIENTACION ...
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:y en donde ocurre el error exactamente?

Publicado por SELDA (48 intervenciones) el 19/07/2007 16:29:34
Una cosa mas estoy trabajando en access 2000, pero estoy utilizando su editor de visual basic en la opcion de dormularios ...
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:por ahi hubieras empezado!!!

Publicado por SELDA (48 intervenciones) el 19/07/2007 16:38:18
GRACIAS GRACIAS, ahora voy a probar, con esto haber como me funciona, pero cualquier duda acudire con ustedes ...
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