Tablas vinculadas VS Conexión ADODB

Dudas sobre código
odiseo78
Nivel 1
Mensajes: 14
Registrado: Jue Ago 25, 2016 4:11 pm

Tablas vinculadas VS Conexión ADODB

Mensajepor odiseo78 » Mié Nov 18, 2020 7:51 pm

Les comento que como parte de mejorar el rendimiento de mi aplicación, estoy realizando las conexiones a mi BD (MySQL) utilizando cadenas de conexión ADO.
Mi interés en esto surgió por que había escuchado que es mejor utilizar la conexión ADO que utilizar las tablas vinculadas directamente en el front-end de la aplicación.

Pero mi duda es como realizar las consultas que sirven para los formularios e informes si estas consultas utilizan las tablas vinculadas.
Espero haber expuesto mi duda con claridad. Gracias por su apoyo. Saludos!

DaniLopez1991
Nivel 4
Mensajes: 110
Registrado: Lun Sep 23, 2019 2:12 pm

Re: Tablas vinculadas VS Conexión ADODB

Mensajepor DaniLopez1991 » Jue Nov 19, 2020 9:18 am

YO tambien uso ADO, pero no se a que te refieres con las cadenas de conexiones, una vez conectada te tiene que salir en la lista del panel de navegación.

Lo único restrictivo que vi es que tienes que abrir las tablas cuando hagas un recordset con el "DB_OPEN_DYNASET" para que no de errores cuando conecto a sql server.

Especifica si puedes mas el problema por favor!

Saludos

odiseo78
Nivel 1
Mensajes: 14
Registrado: Jue Ago 25, 2016 4:11 pm

Re: Tablas vinculadas VS Conexión ADODB

Mensajepor odiseo78 » Vie Nov 20, 2020 5:50 am

Estoy utilizando MySQL como base de datos.

Una vez que guardo el registro desde mi formulario, quisiera que se actualice y continuar editando ese registro, pero lo unico que consigo es guardar el registro pero el formulario no toma ese registro guardado.

Trabajando con la tabla vinculada solo era suficiente con refrescar el formulario para que el registro quedara guardado y visible en el mismo formulario.

Pero al utilizar la conexion ADO no consigo hacerlo, solo envia el nuevo registro a la BD.

Esta es la cadena de conexión que utilizo:

Código: Seleccionar todo

Public Function conexion()
   
    conexion = "DRIVER={MySQL ODBC 8.0 ANSI Driver};" & _
              " DATABASE=bdpjm;" & _
               " SERVER=localhost;" & _
               " UID=root;" & _
               " PASSWORD='';" & _
               " PORT=3308;"
       
End Function


y en el boton guardar tengo este codigo:

Código: Seleccionar todo

Private Sub Bttn_GuardaTelef_Click()

    If fncControlaVacios(Me.Name) = False Then
        MsgBox "Los campos marcados son requeridos", vbInformation, "Campos vacios"
        Cancel = True
        Exit Sub
    End If
           
    'Abrir conexión
    If cnn.State = 0 Then
      cnn = conexion
      cnn.Open
    End If
    'Guardar el registro
    rs.Open "3_telefonemas", cnn, adOpenKeyset, adLockOptimistic
        With rs
        .AddNew
        !Mov_fecha = Me.Mov_fechaOb.Value
        !Mov_hora = Me.Mov_hora.Value
        !Factura = Me.Factura
        !Agencia = Me.Agencia.Value
        !Movimiento = Me.Movimiento
        !Servicio = Me.ServicioOb
        !Fila_real = Me.FilaFinal.Value
        !Fosa_real = Me.FosaFinal.Value
        !Cadaver_nombre = Me.Cadaver_nombre.Value
        !Cadaver_edad = Me.Cadaver_edad.Value
        !Cadaver_lugar_nacimiento = Me.Cadaver_lugar_nacimiento.Value
        !Notas = Me.Notas.Value
        !TipoMonumento = Me.TipoMonumento.Value
        !Transmitio = Me.Transmitio
        !Recibio = Me.RecibioOb.Value
        !Verifico = Me.Verifico.Value
        !Num_titulo = Me.Num_tituloOb
        !Creado = Me.Creado.Value
        !Usuario = Me.Usuario
        !Identificacion = Me.Identificacion.Value
        !Inhu_prim_Bov = Me.Inhu_prim_Bov.Value
        !Inhu_seg_Bov = Me.Inhu_seg_Bov.Value
        !SinF_num = Me.SinF_num
        .Save
        End With
     
    rs.Close
    cnn.Close
   
    MsgBox "Se guardo el registro", vbInformation, "Aviso"
           
 End Sub

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 1256
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Tablas vinculadas VS Conexión ADODB

Mensajepor Sveinbjorn » Vie Nov 20, 2020 1:06 pm

Te faltaría actualizar el recordset cargado una vez que guardas los cambios.

Añade, para eso la línea
.Update
entre el .Save y el End With, a ver si así ya se te reflejan los cambios.
Sveinbjorn El Rojo


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 2 invitados