Estoy desarrollando un proyecto para automatizar la actividad de los servicios en mi empresa, estoy utilizando Visual Basic 6, tengo la base de datos desarrollada en access, mi pregunta es como crear un formulario de captura de datos maestro detalles, sin utilizar el asistente, utilizo DAO. Por Ej. Dos tablas 1. Id autonumérico (clave principal en una tabla) 2. Id numérico (clave externa en la otra tabla)
Es una relación de uno a varios.
Disculpa no entiendo bien la pregunta, entendí que no quieres usar el asistente ahí podemos usar adodb, usando recordset que se maneja todo por código pero el ejemplo me desoriento un poco con respecto a la carga de datos. Para que vayas viendo, yo te voy a pasar como hacer un ABM usando recordset de forma básica y sencilla. Fíjate si eso te sirve y arrancamos.
Hola, gracias por la pronta respuesta. Ok, si esta dentro de tus posibilidades enviame el ejemplo, para ganar en claridad, yo tengo dos tablas relacionadas, con una relación de uno a varios. 1. Yo necesito crear un formulario de captura de datos que sea maestro detalles. 2. Ya que un comedor oferta varios servicios y platos Yo necesito entrar el comedor, y los diversos productos con respecto a el Saludos.
Yo te voy a pasar como se hace alta, baja, modificaciones los datos después los transformas vos según tu campos esto en el option explicit Dim rspasareg As Recordset Dim rsalta As Recordset Dim rsalta2 As Recordset Dim rsbaja As Recordset Dim rsmod As Recordset Dim cn As Connection declaras variables esto en el load del form Set cn = New Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\LEANDRO\ACCESODATOS\TELEFONOS.mdb;Persist Security Info=False" la conexion la saque del adodb y despues lo borras, asi ganas mas tiempo. BOTON DE ALTA 'seteas rsalta Set rsalta = New Recordset Set rsalta2 = New Recordset 'haces la consulta manejo todo con sql ' cuando haces la consulta el error mas comun es ' equivocarse los nombres o ponerle una s de mas ' fijate bien los nombres de la tabla consulta1 = "select * from agenda" rsalta.Open consulta1, cn, adOpenDynamic, adLockOptimistic, 1 rsalta.AddNew ' ojo los nombres despues del signo de admiracion 'tienen que ser iguales al de la tabla de access rsalta!idpersona = Me.txtid.Text rsalta!tel = Me.txttel.Text rsalta!nombre = Me.txtnombre rsalta!direccion = Me.txtdire rsalta.Update rsalta.Close BAJA Set rsbaja = New Recordset Set rsbaja2 = New Recordset Dim conbaja As String conbaja = " delete * from agenda where idpersona = " & Me.txtid rsbaja.Open conbaja, cn, adOpenDynamic, adLockOptimistic, 1 MODIFICAR Set rsmod = New Recordset Set rsmod2 = New Recordset Dim conmod As String conmod = "select * from agenda where idpersona = " & txtid.Text conmod2 = "select * from agenda2 where idpersona = " & txtid.Text 'seleccionamos todo de agendas cuando id (de la tabla access)=al del text box rsmod.Open conmod, cn, adOpenDynamic, adLockOptimistic, 1 rsmod!tel = txttel rsmod!nombre = txtnombre rsmod!direccion = txtdire rsmod.Update rsmod.Close BUENO, esta es una de la maneras, después tienes el insert y demás o sea todo el sql completo lo usas a través de los recordset