Hola me gustaría saber como se modelan las bases de datos, si van a almacenar objetos (ej: personas - estudios"puede tener varios") Y como se hace para que los objetos accedan a esas bases... Va quiero decir, como se establece la relación de que una persona por ejemplo tenga distintos estudios... Como se que mi pregunta es un poco difícil contestarla acá... Tal vez vez tengas tiempo para hacerme un ejemplo sencillo con una base de datos y un pequeño proyecto...
Se que te estoy pidiendo mucho es que no entiendo como se puede guardar en una base de datos en access un objeto persona. Que tenga una colección de estudios... Se me ocurrió pedirte este ejemplo pero tal vez ya tengas algún otro ya armado... O alguna página donde pueda leer sobre el tema... Desde ya muchas gracias y mil disculpas por pedir tanto... Un saludo de Ezequiel Desde Rosario Argentina Te dejo mi email por si tienes algún proyecto... [email protected]
Te envío un ejemplo que tengo de una clase Cliente, te puede servir, el proyecto completo es muy grande y no te lo puedo pasar. Para definir una instancia coloca este código en una clase Llámale Cliente al archivo Y desde un formulario puedes hacer esto dim MiCliente as NEW Cliente Private m_id_cliente As String Private m_nombre As String Private m_direccion As String Private m_ciudad As String Private m_cod_postal As String Private m_telefono1 As String Private m_telefono2 As String Private m_fax As String Private m_atencion As String Private m_residente As String Private m_obra As String Private m_dir_obra As String Public m_tel_obra As String Private cmd As ADODB.Command Private jro As jro.JetEngine Public Property Get id_cliente() As String id_cliente = m_id_cliente End Property Public Property Let id_cliente(valor As String) m_id_cliente = IIf(IsNull(valor), "", valor) End Property Public Property Get nombre() As String nombre = m_nombre End Property Public Property Let nombre(valor As String) m_nombre = IIf(IsNull(valor), "", valor) End Property Public Property Get direccion() As String direccion = m_direccion End Property Public Property Let direccion(valor As String) m_direccion = IIf(IsNull(valor), "", valor) End Property Public Property Get ciudad() As String ciudad = m_ciudad End Property Public Property Let ciudad(valor As String) m_ciudad = IIf(IsNull(valor), "", valor) End Property Public Property Get cod_postal() As String cod_postal = m_ciudad End Property Public Property Let cod_postal(valor As String) m_cod_postal = IIf(IsNull(valor), "", valor) End Property Public Property Get telefono1() As String telefono1 = m_telefono1 End Property Public Property Let telefono1(valor As String) m_telefono1 = IIf(IsNull(valor), "", valor) End Property Public Property Get telefono2() As String telefono2 = m_telefono2 End Property Public Property Let telefono2(valor As String) m_telefono2 = IIf(IsNull(valor), "", valor) End Property Public Property Get fax() As String fax = m_fax End Property Public Property Let fax(valor As String) m_fax = IIf(IsNull(valor), "", valor) End Property Public Property Get atencion() As String atencion = m_atencion End Property Public Property Let atencion(valor As String) m_atencion = IIf(IsNull(valor), "", valor) End Property Public Property Get residente() As String residente = m_residente End Property Public Property Let residente(valor As String) m_residente = IIf(IsNull(valor), "", valor) End Property Public Property Get obra() As String obra = m_obra End Property Public Property Let obra(valor As String) m_obra = IIf(IsNull(valor), "", valor) End Property Public Property Get dir_obra() As String dir_obra = m_dir_obra End Property Public Property Let dir_obra(valor As String) m_dir_obra = IIf(IsNull(valor), "", valor) End Property Public Property Get tel_obra() As String tel_obra = m_tel_obra End Property Public Property Let tel_obra(valor As String) m_tel_obra = IIf(IsNull(valor), "", valor) End Property Public Sub Add() On Error GoTo Add_Error cmd.CommandText = "USP_INSERT_CLIENTE" cmd.Execute , Array(Me.nombre, Me.direccion, Me.ciudad, Me.cod_postal, Me.telefono1, _ Me.telefono2, Me.fax, Me.atencion, Me.residente, Me.obra, Me.dir_obra, Me.tel_obra) jro.RefreshCache g_cnn.Conneccion GoTo Fin Add_Error: Select Case g_cnn.Conneccion.Errors.Item(0).NativeError Case -541396598 MsgBox "El campo nombre no puede ser vacío", vbCritical Case Else MsgBox "Error: " & g_cnn.Conneccion.Errors.Item(0).NativeError & " : " & _ g_cnn.Conneccion.Errors.Item(0).Description, vbCritical End Select Fin: End Sub Public Sub Delete() On Error GoTo Delete_Error cmd.CommandText = "USP_DELETE_CLIENTE" cmd.Execute , Array(Me.id_cliente) jro.RefreshCache g_cnn.Conneccion GoTo Fin Delete_Error: MsgBox "Error: " & g_cnn.Conneccion.Errors.Item(0).NativeError & " : " & _ g_cnn.Conneccion.Errors.Item(0).Description, vbCritical Fin: End Sub Public Sub Update() On Error GoTo Update_Error cmd.CommandText = "USP_UPDATE_CLIENTE" cmd.Execute , Array(Me.nombre, Me.direccion, Me.ciudad, Me.cod_postal, Me.telefono1, _ Me. Telefono2, Me. Fax, Me. Atencion, Me. Residente, Me.obra, Me.dir_obra, Me.tel_obra, Me.id_cliente) jro.RefreshCache g_cnn.Conneccion GoTo Fin Update_Error: MsgBox "Error: " & g_cnn.Conneccion.Errors.Item(0).NativeError & " : " & _ g_cnn.Conneccion.Errors.Item(0).Description, vbCritical Fin: End Sub Private Sub Class_Initialize() Set cmd = New ADODB.Command cmd.ActiveConnection = g_cnn.Conneccion cmd.CommandType = adCmdStoredProc Set jro = New jro.JetEngine End Sub Private Sub Class_Terminate() Set cmd = Nothing Set jro = Nothing End Sub Te recomiendo cualquier libro que trate sobre objetos de VB 6.0, casi cualquiera de Microsoft Press. Tembien lee sobre windows DNA y las capas de una apliacion.