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


0