Como navegar en una base de datos, parecido a DATA CONTROL

abramovich
15 de Junio del 2005
Enlacé mediante ODBC a una base de datos en SQL, quiero navegar en la base de datos, moverme en ella ir al siguiente registro, mas o menos como DATA CONTROL pero mas avanzando, no logro hacer si alguien me ayuda..........desde gracias..... chau

luis_ballester
15 de Junio del 2005
avr si entendi, lo que quieres hacer es navegar por medio de botones que crees ir al primero, siguiente, anterior y ultimo de los registros en tu base de datos o algo asi.
ok
'bueno pues creas tus variables ok.
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Option Explicit
'despues creas la conexion el el form en el evento load

Private Sub Form_Load()
cnn.Open "Driver={SQL Server};Server=maquina;Uid=sa;Pwd=;Database=name"
Call Estado1
cmdGuardar.Enabled = False
CmdActualizar.Enabled = False
End Sub

yo aqui cree un procedimiento que se llama Estado1 si gusta slo poens o como vea ok eso es deshabiliar todo.
despues creo tambien unprocedimiento llamado desplegar y una de consulta
en el de consulta se buscara al empleado a algo asi ok. dijamo un campo que es la llave primaria y foranea para las demas ok. y el de pesplegar pues nos depleja los datos en las dif cajas de texto u objetos del form .
despues vienbe el codigo de los botones espeor y te sirva

'Boton anterior

Private Sub cmdAnterior_Click()
rs.MovePrevious
If rs.BOF Then
MsgBox "Este es el primer registro", vbInformation, "Primer registro"
rs.MoveNext
cmdPrimero.Enabled = False
cmdAnterior.Enabled = False
End If
Call Desplegar
cmdSiguiente.Enabled = True
cmdUltimo.Enabled = True
End Sub

'Boton primero

Private Sub cmdPrimero_Click()
rs.MoveFirst
cmdPrimero.Enabled = False
cmdAnterior.Enabled = False
cmdSiguiente.Enabled = True
cmdUltimo.Enabled = True
Call Desplegar
End Sub

'Boton siguiente

Private Sub cmdSiguiente_Click()
rs.MoveNext
cmdPrimero.Enabled = True
cmdAnterior.Enabled = True
If rs.EOF Then
MsgBox "Este es el ultimo registro", vbInformation, "Ultimo registro"
cmdSiguiente.Enabled = False
cmdUltimo.Enabled = False
Else
Call Desplegar
End If
End Sub

'boton ultimo

Private Sub cmdUltimo_Click()
rs.MoveLast
Call Desplegar
cmdAnterior.Enabled = True
cmdPrimero.Enabled = True
cmdUltimo.Enabled = False
cmdSiguiente.Enabled = False
End Sub


Public Sub Estado1()
txtClaveCliente.Enabled = False
txtNombreCliente.Enabled = False
txtApePat.Enabled = False
txtApeMat.Enabled = False
txtDirCliente.Enabled = False
txtTelCliente.Enabled = False

txtClaveCliente = ""
txtNombreCliente = ""
txtApePat = ""
txtApeMat = ""
txtDirCliente = ""
txtTelCliente = ""

cmdPrimero.Enabled = False
cmdAnterior.Enabled = False
cmdSiguiente.Enabled = False
cmdUltimo.Enabled = False

cmdNuevo.Enabled = True
cmdGuardar.Enabled = False
cmdConsultageneral.Enabled = True
CmdConsulta.Enabled = True
cmdModificar.Enabled = True
CmdActualizar.Enabled = False
cmdEliminar.Enabled = True
End Sub


Public Sub Desplegar()
If rs.BOF Then
MsgBox ("El Empleado no existe")
Else
txtClaveCliente.Text = rs.Fields("IdCliente").Value
txtNombreCliente.Text = rs.Fields("NombreClient").Value
txtApePat.Text = rs.Fields("ApePat").Value
txtApeMat.Text = rs.Fields("ApeMat").Value
txtDirCliente.Text = rs.Fields("DirCliente").Value
If IsNull(rs.Fields("TelCliente").Value) Then
txtTelCliente.Text = " "
Else
txtTelCliente.Text = rs.Fields("TelCliente").Value
End If
End If
End Sub


Public Sub Consulta()
Set rs = Nothing
rs.Open "Select * from Clientes where IdCliente = '" & cc & "'", cnn, adOpenDynamic, adLockReadOnly
If rs.BOF = True Then
MsgBox "Este cliente no existe", vbExclamation, "No existe"
Else
Call Desplegar
End If
End Sub

espero te aya servido esto o mas biense a lo que desseas
good look
nello