agregar un registro a una base de datos

Iniciado por Sebicho, 12 Junio 2005, 10:59 AM

0 Miembros y 1 Visitante están viendo este tema.

Sebicho

Antes que todo buenas...
toy teniendo un problema.. en la programacion del boton que que agrega un registro a la base de datos pongo esto:

Dim rst As New ADODB.Recordset
rst.Open "Agenda", cnuno, adOpenDynamic, adLockOptimistic, adCmdTable
rst.AddNew
rst("ID") = txtID
rst("Nombre") = txtNombre
rst("Apellido") = txtApellido
rst.Update
rst.Close


me lo agrega todo lo mas bien pero tengo que cerrar el programa y volver a abrirlo para que me lo muestre :S
que tengo que hacer para que me lo muestre sin cerrar el programa?
Saludos

EDITADO POR EL MODERADOR: Usa las etiquetas Code la próxima vez.

Slasher-K

Usa el método Update del Recordset.

Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*

Sebicho

ya lo use fijate ahi en la programacion que aparece...
rst.update
rst es el nombre del recordset

Slasher-K

Bueno con el método Update si usas adLockOptimistic tiene que actualizar el origen de datos. Fijate en el modo de bloqueo que usaste.

Saludos.



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*

Sebicho

probe con pessimistic y tampoco ya noc que hacer me toy volviendo loco

lobo80

lo que puedes hacer es trabajar con "ADODC1.refresh", TRABAJA CON ADODC Y ESO TALVEZ TE AYUDE :)

goodbye

#6
Tambien ayuda el desplazarse a otro registro del recordset despues del metodo Update.

Dim rst As New ADODB.Recordset
rst.Open "Agenda", cnuno, adOpenDynamic, adLockOptimistic, adCmdTable
rst.AddNew
rst("ID") = txtID
rst("Nombre") = txtNombre
rst("Apellido") = txtApellido
rst.Update

rst.MoveFirst '<------<< Usar este preferiblemente.


Al lado de la dificultad está la facilidad.
Cambiad de placeres, pero no cambies de amigos.
Aceptar un favor de un amigo, es hacerle otro.

Zanoni

No te recomiendo que uses comandos ADODB ya que a estos comandos tienen q especificar una direccion especifica y no son muy eficientes a la hora de instalar en cualquier pc.
yo por ejemplo uso como base de datos acces97 y para acceder a ella uso el .path que permite abrir en cualquier lado y para agregar los registro lo mas sencillo es usando SQL o los componentes de la libreria DAO3.51
un ejemplo de añadir es:

Public XXXXAs Database
Public Emple As Recordset


Set XXXX= OpenDatabase(App.Path & "\XXXX.Mdb")
    Set emple= XXXXX.OpenRecordset("SELECT * FROM Anti_Presta")

Sub añadeemple()
    Dim BAci As String
    Dim a, baci2 As Boolean
    Aci = Val(fmrae.txtci)
    a = True
    Set Emple = SYSCAN.OpenRecordset("SELECT * FROM empleados where Cedula = " & Aci & "")
   
   
        On Error GoTo error_agregarEM
        Emple.Close
        Set Emple = SYSCAN.OpenRecordset("SELECT * FROM empleados")
        Emple.AddNew
            With Emple
                .Fields("cedula") = Aci
                .Fields("nombre") = fmrae.txtnombre
                .Fields("nacionalidad") = baci2
.
.
.
.
.

            End With
           
          Emple.Update
MsgBox "Datos Agregados a Data", vbInformation, "ATENCION"
        Exit Sub
error_agregarEM:
        MsgBox "Datos Erroneos Verifique y asegurese de llenar todos los campos", vbInformation, "Error de Data"
    End If
existe:
End Sub


espero q te sirva...........


Si hice un comentaro errado hacerlo saber


Zx
Zx