Cómo agregar una fila a un subformulario?
Publicado por José (1 intervención) el 29/07/2008 15:31:49
Hola, tengo un formulario y un subformulario con cuadros de texto independientes a mi base de datos. Estoy programando un botón BuscarFactura para recuperar los registros de la bd y mostrar en en formulario utilizando el recordset. La pregunta es la siguiente:
Cómo puedo agregar una nueva fila al subformulario? El código que tengo va encimando los registros de detalle en una sola fila del subformulario, creo que me falta una línea de código que me inserte nuevas filas en el subformulario. A continuación les paso el código del botón BuscarFactura.
Private Sub cmdBuscarFactura_Click()
'Declaro Variables
Dim DB As Database
Dim rsFacturas As Recordset
Dim rsFacturasDet As Recordset
Dim vFactura As Long
'Abro base de datos en Access
Set DB = OpenDatabase("C:UsersjoseluisDocumentsfactimp.mdb")
'Cargo en la variable factura el código a buscar
vFactura = Form_Facturas.txtFactura
'Hago un Select de la tabla facturas mediante el metodo recordset
Set rsFacturas = DB.OpenRecordset("Select * From Facturas WHERE factura = " & vFactura & "")
If rsFacturas.EOF Then
MsgBox ("Número de Factura no existe")
Form_Facturas.txtFactura.SetFocus
Else
'Descargar contenido en el formulario
Form_Facturas.txtNombre = rsFacturas!Nombre
Form_Facturas.txtFecha = rsFacturas!Fecha
Form_Facturas.txtCondicion = rsFacturas!Condicion
Form_Facturas.txtTotal = rsFacturas!Total
Form_Facturas.txtIva10 = rsFacturas!Iva10
'Descargar contenido en el subformulario
'Hago un Select de la tabla facturasdet mediante el metodo recordset
Set rsFacturasDet = DB.OpenRecordset("Select * From Facturasdet WHERE factura = " & vFactura & "")
Do While Not rsFacturasDet.EOF
Form_FacturasDet.txtFacturaDet = rsFacturasDet!FacturaDet
Form_FacturasDet.txtFactura = rsFacturasDet!Factura
Form_FacturasDet.txtDescripcion = rsFacturasDet!Descripcion
Form_FacturasDet.txtCantidad = rsFacturasDet!Cantidad
Form_FacturasDet.txtPrecio = rsFacturasDet!Precio
Form_FacturasDet.txtTotal = rsFacturasDet!Total
rsFacturasDet.MoveNext
MsgBox "Aquí es donde me falta una línea de código aparentemente"
Loop
rsFacturasDet.Close
End If
rsFacturas.Close
DB.Close
End Sub
Cómo puedo agregar una nueva fila al subformulario? El código que tengo va encimando los registros de detalle en una sola fila del subformulario, creo que me falta una línea de código que me inserte nuevas filas en el subformulario. A continuación les paso el código del botón BuscarFactura.
Private Sub cmdBuscarFactura_Click()
'Declaro Variables
Dim DB As Database
Dim rsFacturas As Recordset
Dim rsFacturasDet As Recordset
Dim vFactura As Long
'Abro base de datos en Access
Set DB = OpenDatabase("C:UsersjoseluisDocumentsfactimp.mdb")
'Cargo en la variable factura el código a buscar
vFactura = Form_Facturas.txtFactura
'Hago un Select de la tabla facturas mediante el metodo recordset
Set rsFacturas = DB.OpenRecordset("Select * From Facturas WHERE factura = " & vFactura & "")
If rsFacturas.EOF Then
MsgBox ("Número de Factura no existe")
Form_Facturas.txtFactura.SetFocus
Else
'Descargar contenido en el formulario
Form_Facturas.txtNombre = rsFacturas!Nombre
Form_Facturas.txtFecha = rsFacturas!Fecha
Form_Facturas.txtCondicion = rsFacturas!Condicion
Form_Facturas.txtTotal = rsFacturas!Total
Form_Facturas.txtIva10 = rsFacturas!Iva10
'Descargar contenido en el subformulario
'Hago un Select de la tabla facturasdet mediante el metodo recordset
Set rsFacturasDet = DB.OpenRecordset("Select * From Facturasdet WHERE factura = " & vFactura & "")
Do While Not rsFacturasDet.EOF
Form_FacturasDet.txtFacturaDet = rsFacturasDet!FacturaDet
Form_FacturasDet.txtFactura = rsFacturasDet!Factura
Form_FacturasDet.txtDescripcion = rsFacturasDet!Descripcion
Form_FacturasDet.txtCantidad = rsFacturasDet!Cantidad
Form_FacturasDet.txtPrecio = rsFacturasDet!Precio
Form_FacturasDet.txtTotal = rsFacturasDet!Total
rsFacturasDet.MoveNext
MsgBox "Aquí es donde me falta una línea de código aparentemente"
Loop
rsFacturasDet.Close
End If
rsFacturas.Close
DB.Close
End Sub
Valora esta pregunta


0