Visual Basic - Ultimo registro

Life is soft - evento anual de software empresarial
 
Vista:

Ultimo registro

Publicado por Rosa (3 intervenciones) el 06/02/2009 12:40:05
Hola! tengo una duda, que debo hacer para acceder al valor de un campo de mi ultimo registro introducido y almacenarlo en una variable??Gracias, Rosa.
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

MoveLast

Publicado por P3L30N2009 (699 intervenciones) el 06/02/2009 12:58:01
Un recordset a la tabla y

recordset.MoveLast
Variable = recordset!Campo
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:MoveLast

Publicado por quique (34 intervenciones) el 06/02/2009 21:55:37
bien, eso es válido si la tabla tiene registros, pero ¿y si no los tiene?
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:MoveLast

Publicado por Rosa (3 intervenciones) el 08/02/2009 19:38:54
Y como hago el recordset?? mi tabla se llama licencias, y si que hay registros. q deberia poner?? 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

RE:Ultimo registro

Publicado por Hector Hinojosa (16 intervenciones) el 10/02/2009 05:38:18
Bueno pues si lo haces con adodb primero agregas la referencia ADODB
* Proyecto>Referencias (seleccionas Microsoft ActiveX Data object 2.5 Library)

despues declaras el recordset

Public rc As New ADODB.Recordset

Despues declaras la conexion

Public cn1 As New ADODB.Connection

Inicializas la conexion
*si usas odbc
cn1.Open "DSN=nombreOdbc", "usuario", "password"

*si usas ConnectionString
cn1.ConnectionString = "tu cadena de conexion"

abres la conexion
cn1.Open

Creas un Tipo en general
Public Enum RecordType
ReadOnly = 0
Optimistic = 1
ForwardOnly = 2
End Enum

Creas un Sub Procedimiento

Public Sub InitRs(RecordType1 As RecordType, rs As ADODB.Recordset)
Set rs.ActiveConnection = cn1
Select Case RecordType1
Case ReadOnly
rs.LockType = adLockReadOnly
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
Case Optimistic
rs.LockType = adLockOptimistic
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
Case ForwardOnly
rs.LockType = adLockReadOnly
rs.CursorLocation = adUseClient
rs.CursorType = adOpenForwardOnly
End Select
End Sub

Inicializas el recordet como solo lectura
InitRs ReadOnly, rs

Haces el select
If rs.State = 1 Then rs.Close
rs.Open "select * from archivos"

If rs.EOF = False Then
else
rs.movelast
End If

para mostrar los valores los pones en text

Text1.Text = rs!id
Text2.Text = rs!Nombre
Text2.Text = rs!Telefono

Para que te quede mas claro lo pondre seccionado en otro mensaje
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:Ultimo registro

Publicado por Hector Hinojosa (16 intervenciones) el 10/02/2009 05:45:51
Ahora ahi va como deberia quedar tu codigo si tienes una base de datos acces, en este caso la base de datos se llama upload

Public Enum RecordType
ReadOnly = 0
Optimistic = 1
ForwardOnly = 2
End Enum
Public rs As New ADODB.Recordset
Public cn1 As New ADODB.Connection

Private Sub Form_Load()
Dim variable as String
cn1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:upload.mdb;User Id=;Password=;"
cn1.Open

InitRs ReadOnly, rs

If rs.State = 1 Then rs.Close
rs.Open "select * from archivos"

if rs.Eof = False then
rs.MoveLast
variable = rs!campo <---campo es el nombre de tu campo el que vas a guardar
else
MsgBox "No hay datos en la tabla"
end if
End Sub

Public Sub InitRs(RecordType1 As RecordType, rs As ADODB.Recordset)
Set rs.ActiveConnection = cn1
Select Case RecordType1
Case ReadOnly
rs.LockType = adLockReadOnly
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
Case Optimistic
rs.LockType = adLockOptimistic
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
Case ForwardOnly
rs.LockType = adLockReadOnly
rs.CursorLocation = adUseClient
rs.CursorType = adOpenForwardOnly
End Select
End Sub

Bueno creo que asi debe Funcionar

Espero que te Sirva Saludos
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