Visual Basic - Quien me ayuda con este lio de recordset

Life is soft - evento anual de software empresarial
 
Vista:

Quien me ayuda con este lio de recordset

Publicado por jc (8 intervenciones) el 13/06/2001 06:08:21
Soy un novato en VB. Y lo que quiero realizar al parecer es muy simple: Quiero establecer una conexión con una base de datos, definir un recordset y mantener ambas definiciones activas durante todo el procedimiento. El código es este...

1ero. Definí un modulo como sigue: (Mod 1)
Global cn As Connection
Global rs As Recordset

Public Sub Main()
ConectaBd
Form1.Show
End Sub

Public Sub ConectaBd()
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=Contable;uid=sa"
cn.Open

Set rs = New ADODB.Recordset
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
RsContenidos

End Sub

Public Sub RsContenidos() àEste es el recordset que quiero mantener abierto siempre.
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Source = "select * from contenidos"
Set rs.ActiveConnection = cn
rs.Open
End Sub

Luego defini algunos procedimientos. (Form1), en los cuales quiero realizar acciones sin tener que definir Rs nuevamente y cada vez que abra un Sub
Private Sub Form_Load()
Call carga(rs)
End Sub
Private Sub Command1_Click()
rs.MoveNext
End Sub

Private Sub carga(rs As Recordset)
rs.MoveFirst

Text1.Text = rs.Fields("titulo").Value
Text2.Text = rs.Fields("subtitulo").Value

End Sub

En el fondo, deseo moverme por la tabla, con Movenext o movefirst, y cambiar sus valores libremente, sin nuevas definiciones.

Seguí el consejo de uno de los visitantes a este foro, y eliminé el Dim en la definición del recordset , (el que está definido c
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:Quien me ayuda con este lio de recordset

Publicado por Gonzalo Solano C. (8 intervenciones) el 13/06/2001 10:00:44
Jc
Mira hize lo siguiente, copie tu codigo para tratar de reproducir tu problema ahora
en primer lugar si ya declaraste la variable rs de tipo Global para que la vuelves a declarar dentro del procedimiento RsContenidos, me parece que seria bueno que quites la declaracion (Dim rs as new ADODB. .....)

mira te aconsejo que no declares las variables de tipo rs como globales si es bueno la variable cn porque la conexion estara abierta mientras dure el programa pero los recorsets los utilizas solo cuando necesites.

Espero esto te ayude sino avisame,

Saludos desde BOLIVIA
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:Quien me ayuda con este lio de recordset

Publicado por yina (11 intervenciones) el 13/06/2001 20:39:38
Si solo vas a usar el recorset a nivel de esa forma, declaralo en el general de la forma y listo, todos los objetos de esta, incluyendo botones podran accesarlo. No te recomiendo declarar recordset globales. Espero que te ayude.
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