Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problemas al abrir un registro

Estas en el tema de Problemas al abrir un registro en el foro de Visual Basic clásico en Foros del Web. Hola a todos tengo un problemilla lo que pasa es que soy nuevo en esto de las base de datos con VB6, tengo el siguien ...
  #1 (permalink)  
Antiguo 01/06/2005, 12:38
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
Problemas al abrir un registro

Hola a todos tengo un problemilla lo que pasa es que soy nuevo en esto de las base de datos con VB6, tengo el siguien te problema:

Ya logre conectarme a la mi base de datos access gracias a que ayer me ayudaron a hacerlo, y ya pude insertar un registro mediante una instruccion insert. les pongo mi codigo:

Código:
abre_conexion
        On Error GoTo Y:
        conexion.BeginTrans
            comando = "INSERT INTO historias(especialidad,fecha,edad,nombre,sexo,ocupacion,edo_civil,escolaridad,direccion,lugar_nacimiento,ante_n_p,ante_p,ante_heredo)"
            comando = comando + "VALUES ('" + h_especialidad.Text + "','" + h_fecha.Caption + "','" + h_edad.Text + "','" + h_nombre.Text + "','" + h_sexo.List(h_sexo.ListIndex) + "','" + h_ocupacion.Text + "','" + h_edo_civil.List(h_edo_civil.ListIndex) + "','" + h_esco.Text + "','" + h_direccion.Text + "','" + h_naci.Text + "','" + h_ante_n_p.Text + "','" + h_ante_p.Text + "','" + h_heredo.Text + "')"
            conexion.Execute (comando)
            MsgBox "El paciente se ha almacenado correctamente"
            Abre_registro
            registro.MoveLast
            MsgBox registro.Fields(0).Value
            cierra_registro
        conexion.CommitTrans
        cierra_conexion
la primer parte de codigo lo hace bien el problema esta cuando abro el registro y quiero ir al ultimo registro para obtener el id del ultimo registro insertado y me manda un error que dice que:

"El conjunto de filas no admite recuperacion hacia atras"

Espero alguien me pueda ayudar

Gracias.

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #2 (permalink)  
Antiguo 01/06/2005, 12:45
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 3 meses
Puntos: 1
Primero una consulta INSERT no te va devolver el registro insertado, la información que te va a brindar es la cantidad de registros insertados.

Y el recordset que te devuelte solo es de lecutra de recorrido hacia adelante (adOpenForwardOnly).

Te invito a que revises la ayuda de Visual Studio 98.

Saludes
__________________
Leer es Saber, REEL.
Mi Blog
  #3 (permalink)  
Antiguo 01/06/2005, 12:53
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola y gracias por responder

Mira lo que pasa es que no estoy tratando de obtener los datos del insert si no que primero quiero hacer el insert y despues quiero obtener los datos que inserte, y para esto estoy abriendo el registro de la siguiente manera:

Código:
Public Sub Abre_registro()
On Error GoTo Y:
    Set registro = New ADODB.Recordset
    registro.ActiveConnection = conexion
    registro.Open "historias"
Y:
    If Err.Number <> 0 Then
        MsgBox Err.Description, vbCritical, "Error al abrir un set de Registros"
        End
    End If
End Sub
Y de ahi es de donde quiero obtener el id que menciono en el post anterior.

Espero entiendas mi problema y me puedas ayudar gracias.

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #4 (permalink)  
Antiguo 01/06/2005, 12:59
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 3 meses
Puntos: 1
Pues sucede los mismo, lo que pasa es que tienes que espcificarle más valores al RecordSet para poder saber como va ser su comportamiento.

Tra de esta forma:

Código:
rs.open "tabla", conexion, adOpenKeyset, adLockReadOnly, adCmdTable
Por tal motivo te sugiero que revises la ayuda de visual studio.

Saludes
__________________
Leer es Saber, REEL.
Mi Blog
  #5 (permalink)  
Antiguo 01/06/2005, 13:01
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
ok reel voy a probar lo que mencionas, leo la ayuda de visual y regreso para ver como me fue

GRACIAS

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #6 (permalink)  
Antiguo 01/06/2005, 13:39
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
Listo Reel lo logre abriendo el registro de la siguiente manera:

Código:
registro.Open "historias", conexion, adOpenKeyset, adLockOptimistic, adCmdTable
Gracias por tu ayuda

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:52.