TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: navaismo en 23 de Junio de 2006, 13:04:05

Título: Se que no deberia hacerlo aqui pero Ya me harte!!! ayuda VB y acces
Publicado por: navaismo en 23 de Junio de 2006, 13:04:05
 :? Hola , pues se que no deberia preguntar esto aqui pero la verdad ya me dulele la cabeza de buscar informacion en la red y en la msdn y no encontrar mucho o nada o lo mismo.

Mi problema es que quiero crear una base de datos de acces desde visual basic y que desde visual basic pueda rellenar mediante un formulario las tablas de la base de datos. pero resulta que no se cual es la instruccion para meter sacar leer o escribir actualizar los registros de una base de datos.

Espero no molestar mucho.
Título: Re: Se que no deberia hacerlo aqui pero Ya me harte!!! ayuda VB y acces
Publicado por: jfmateos2 en 23 de Junio de 2006, 13:15:44
Personalmente nunca he cread la base de datos directamente desde VB6, pero en la siguiente subrutina se muestra cómo acceder a una base de datos para buscar, modificar, añadir y borrar registros. Espero que te sirva de orientación.
Código: [Seleccionar]
Private Sub Aceptar_Click()
    Dim conexion As New Connection
    Dim resultado As New Recordset
'    Call CTNIdentificacion_LostFocus
    If datoscorrectos() Then
        'Cargar los precios
        ReDim precio(1 To NumeroConceptos) As Double
        Dim valoriva As Double
        With conexion
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Data Source=CampingBasico.mdb ; Jet OLEDB:Database Password=adivinala"
            .Open
        End With
        resultado.Open "Configuracion", conexion, , adLockPessimistic, adCmdTable
        If resultado.EOF = False Then
            resultado.MoveLast
            If resultado!nombre1 <> "" Then
                For indice1 = 1 To NumeroConceptos
                    precio(indice1) = resultado("Precio" & indice1)
                Next
                valoriva = CDbl(resultado!iva)
            Else
                MsgBox "La configuración del programa no es correcta."
                EscritorioLibre = True
                Unload Me
            End If
            resultado.Close
        Else
            MsgBox "La configuración del programa no es correcta."
            EscritorioLibre = True
            Unload Me
        End If
        'Escribir datos de cliente
        resultado.Open "Clientes", conexion, , adLockPessimistic, adCmdTable
        resultado.Find "IDCliente ='" & CTId.Text & "'"
        resultado!NIF = CTNIdentificacion.Text
        resultado!nombre = CTNombre.Text
        resultado!Primerapellido = CTPrimerApellido.Text
        resultado!segundoapellido = CTSegundoApellido.Text
        resultado!descuentocliente = CDbl(CTDescuentoCliente.Text)
        id = resultado!IDcliente
        resultado.Update
        resultado.Close
        'Borrar estancia
        resultado.Open "Estancias", conexion, , adLockPessimistic, adCmdTable
        resultado.Find "idcliente ='" & id & "'"
        resultado.Delete
        resultado.Close
        'Escribir factura
        resultado.Open "Facturas", conexion, , adLockPessimistic, adCmdTable
        resultado.AddNew
        resultado!IDcliente = id
        resultado!Fechaentrada = Int(FEntrada.Value)
        resultado!FechaSalida = Int(FSalida.Value)
        For indice1 = 1 To NumeroConceptos
            resultado("concepto" & indice1) = CInt(Controls("cuadrotexto" & indice1).Text)
        Next
        resultado!descuento = CDbl(CTDescuento.Text)
        If Option1(0) Then
            resultado!formadepago = "Efectivo"
            formadepago = "Efectivo"
        ElseIf Option1(1) Then
            resultado!formadepago = "Tarjeta"
            formadepago = "Tarjeta"
        ElseIf Option1(2) Then
            resultado!formadepago = "Cheque"
            formadepago = "Cheque"
        Else
            resultado!formadepago = "Otra"
            formadepago = "Otra"
        End If
        resultado!total = CDbl(CTTotal.Text)
        resultado!Parcela = CTParcela.Text
        resultado!descuentocliente = CDbl(CTDescuentoCliente.Text)
        resultado!descuentoestancia = CDbl(CTDescuentoEstancia.Text)
        resultado!fechafactura = Int(Now())
        resultado.Update
        resultado.Close
        resultado.Open "Facturas", conexion, , adLockPessimistic, adCmdTable
        resultado.MoveLast
        nfactura = resultado!idfactura
        resultado.Close
        'Imprimir factura
        ReDim matrizconceptos(1 To NumeroConceptos)
        ReDim nombreconcepto(1 To NumeroConceptos) As String
        For indice1 = 1 To NumeroConceptos
            matrizconceptos(indice1) = CInt(Controls("cuadrotexto" & indice1).Text)
            nombreconcepto(indice1) = Left$(Controls("Etiqueta" & indice1).Caption, Len(Controls("Etiqueta" & indice1).Caption) - 1)
        Next
        For indice1 = 1 To 2
            Call imprimirfactura(id, CTNIdentificacion.Text, CTNombre.Text, CTPrimerApellido.Text, CTSegundoApellido.Text, CDbl(CTDescuentoCliente.Text), FEntrada.Value, FSalida.Value, CTParcela.Text, CDbl(CTDescuentoEstancia.Text), matrizconceptos, nfactura, Int(Now()), precio, valoriva, nombreconcepto, formadepago, "Salida")
        Next
        'Incluir en lista de facturas
        If UltimasFacturas.listafactura.TextMatrix(1, 0) = "" Then
            UltimasFacturas.listafactura.TextMatrix(1, 0) = nfactura
            UltimasFacturas.listafactura.TextMatrix(1, 1) = CTNIdentificacion.Text
            UltimasFacturas.listafactura.TextMatrix(1, 2) = CTNombre.Text
            UltimasFacturas.listafactura.TextMatrix(1, 3) = CTTotal.Text
        Else
            UltimasFacturas.listafactura.AddItem (nfactura & vbTab & CTNIdentificacion.Text & vbTab & CTNombre.Text & vbTab & CTTotal.Text)
        End If
        EscritorioLibre = True
        Unload Me
    End If
    Set resultado = Nothing
    Set conexion = Nothing
End Sub
Título: Re: Se que no deberia hacerlo aqui pero Ya me harte!!! ayuda VB y acces
Publicado por: navaismo en 26 de Junio de 2006, 14:09:22
Gracias por la ayuda claro que :-/ me servira