Autor
|
Tema: vb modificar datos list1 a archivo random txt (Leído 2,417 veces)
|
corlo
Desconectado
Mensajes: 120
|
Hola soy Corlo Estoy intentando modificar los datos de la factura en el list1 en la opcion modificar datos, cuando guardo los datos de la factura lo ha bien, cuando leo la factura lo hace bien, cuando selecciono un elemento del list1 pasa a los text4, text5, text6, lo hace bien, pero cuando cambio los datos de los text4, text5, text6, no me guarda en archivo random los datos cambiados en Guardar_Factura porque tiene que estar guardados en el list1, no se que hago mal. Si alquien me puede ayudar, gracias. 'DEFININMOS LOS ELEMENTOS DE LA FACTURA Private Type Type_Articulos_Factura codigo_articulo As String nombre_articulo As String precio_articulo As String End Type
Private Type Type_Datos_Factura Codigo_Factura As String Nombre_Cliente_Factura As String Fecha_Factura As String Articulos_Factura() As Type_Articulos_Factura End Type Dim factura As Type_Datos_Factura
Private Type Type_Indices Codigo_Facturas As Integer Codigo_Albaranes As Integer End Type
Dim detalle As Integer Const Prefix_Facturas = "Fact" 'Asignamos un prefijo a las facturas para cuandos se guarden Private Indices As Type_Indices
Private Sub Agregar_Articulo(nombre_articulo, codigo_articulo, precio_articulo) List1.AddItem nombre_articulo & Space(14) & codigo_articulo & Space(27) & precio_articulo factura.Articulos_Factura(UBound(factura.Articulos_Factura)).codigo_articulo = codigo_articulo factura.Articulos_Factura(UBound(factura.Articulos_Factura)).nombre_articulo = nombre_articulo factura.Articulos_Factura(UBound(factura.Articulos_Factura)).precio_articulo = precio_articulo ReDim Preserve factura.Articulos_Factura(0 To UBound(factura.Articulos_Factura) + 1) End Sub
Private Sub Crear_Factura(Codigo_Factura, Nombre_Cliente, Fecha_Factura) factura.Codigo_Factura = Codigo_Factura factura.Nombre_Cliente_Factura = Nombre_Cliente factura.Fecha_Factura = Fecha_Factura ReDim Preserve factura.Articulos_Factura(0 To 0) End Sub
Private Sub Command1_Click() 'Nueva Factura Text4.SetFocus List1.Clear Indices.Codigo_Facturas = Indices.Codigo_Facturas + 1 Label1.Caption = Indices.Codigo_Facturas 'GUARDAMOS EL CODIGO DE LA NUEVA FACTURA Open App.Path & "\Indices.txt" For Binary As #1 Put #1, , Indices Close #1 Label4.Caption = "Factura:" Text1.Text = "Pedro" Text2.Text = Date Crear_Factura Indices.Codigo_Facturas, Text1.Text, Text2.Text
'Iniciamos la nueva Factura Command5.Enabled = True Command6.Enabled = True End Sub
Private Sub Command2_Click() End End Sub
Private Sub GUARDAR_FACTURA() factura.Nombre_Cliente_Factura = Text1.Text factura.Fecha_Factura = Text2.Text
Open App.Path & "\" & Prefix_Facturas & Indices.Codigo_Facturas & ".TXT" For Binary As #1 Put #1, , factura Close #1 End Sub
Private Sub Command3_Click() ' modificar datos If List1.ListIndex < 0 Then MsgBox "Ningún elemento ha sido seleccionado", vbInformation Exit Sub End If
List1.AddItem Text4.Text & Space(14) & Text5.Text & Space(27) & Text6.Text List1.RemoveItem List1.ListIndex
GUARDAR_FACTURA
Call Command7_Click
End Sub
Private Sub Command5_Click() GUARDAR_FACTURA End Sub
Private Sub Command6_Click() ' Agregar articulo al list1 Agregar_Articulo Text4.Text, Text5.Text, Text6.Text End Sub
Private Sub Command7_Click() 'leer los datos de la factura Dim gh As String, lp As String
Text1.Text = "" Text2.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" List1.Clear On Error GoTo err:
If Len(Dir(gh)) <> 0 Then gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT" Open gh For Binary Access Read Lock Read As #1 Get #1, , factura Close #1 Label1.Caption = factura.Codigo_Factura Text1.Text = factura.Nombre_Cliente_Factura Text2.Text = factura.Fecha_Factura For total_articulos = 0 To UBound(factura.Articulos_Factura) - 1 nombre_articulo = factura.Articulos_Factura(total_articulos).nombre_articulo codigo_articulo = factura.Articulos_Factura(total_articulos).codigo_articulo precio_articulo = factura.Articulos_Factura(total_articulos).precio_articulo List1.AddItem nombre_articulo & Space(12) & codigo_articulo & Space(31) & precio_articulo Next End If Exit Sub err: MsgBox "Factura no Existe", vbCritical, "ERROR" Kill gh End Sub
Private Sub Form_Load() ' leer el numero de la ultima factura Open App.Path & "\Indices.txt" For Binary As #1 Get #1, , Indices Close #1 Label1.Caption = Indices.Codigo_Facturas Command1.Enabled = True Command5.Enabled = True End Sub
Private Sub List1_Click() ' leer los datos del list1 a text4.text, text5.text, text6.text Dim gh As String Dim total_articulos As Integer If List1.ListIndex < 0 Then MsgBox "Ningún elemento ha sido seleccionado", vbInformation Exit Sub End If
gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT" Open gh For Binary Access Read Lock Read As #1 Get #1, , factura For total_articulos = 0 To List1.ListIndex Text4.Text = factura.Articulos_Factura(total_articulos).nombre_articulo Text5.Text = factura.Articulos_Factura(total_articulos).codigo_articulo Text6.Text = factura.Articulos_Factura(total_articulos).precio_articulo Next Close #1
End Sub
|
|
|
En línea
|
|
|
|
Lekim
Desconectado
Mensajes: 268
|
Puede que sea porque estás usando el mismo número de archivo #1Prueba a usar Freefile: Dim intFile as Integer intFile = Freefile ... Open App.Path & "\Indices.txt" For Binary As intFile
|
|
« Última modificación: 8 Septiembre 2015, 17:04 pm por Lekim »
|
En línea
|
|
|
|
corlo
Desconectado
Mensajes: 120
|
Hola soy Corlo. Gracias por contestar Lekim. He echo los cambios que me has dicho y me hace lo mismo, no me guarda los datos una vez modificados GUARDAR_FACTURA, de la opcion MODIFICAR DATOS. 'DEFININMOS LOS ELEMENTOS DE LA FACTURA Private Type Type_Articulos_Factura codigo_articulo As String nombre_articulo As String precio_articulo As String End Type
Private Type Type_Datos_Factura Codigo_Factura As String Nombre_Cliente_Factura As String Fecha_Factura As String Articulos_Factura() As Type_Articulos_Factura End Type Dim factura As Type_Datos_Factura
Private Type Type_Indices Codigo_Facturas As Integer Codigo_Albaranes As Integer End Type
Dim detalle As Integer Const Prefix_Facturas = "Fact" 'Asignamos un prefijo a las facturas para cuandos se guarden Private Indices As Type_Indices
Private Sub Agregar_Articulo(nombre_articulo, codigo_articulo, precio_articulo) List1.AddItem nombre_articulo & Space(14) & codigo_articulo & Space(27) & precio_articulo factura.Articulos_Factura(UBound(factura.Articulos_Factura)).codigo_articulo = codigo_articulo factura.Articulos_Factura(UBound(factura.Articulos_Factura)).nombre_articulo = nombre_articulo factura.Articulos_Factura(UBound(factura.Articulos_Factura)).precio_articulo = precio_articulo ReDim Preserve factura.Articulos_Factura(0 To UBound(factura.Articulos_Factura) + 1) End Sub
Private Sub Crear_Factura(Codigo_Factura, Nombre_Cliente, Fecha_Factura) factura.Codigo_Factura = Codigo_Factura factura.Nombre_Cliente_Factura = Nombre_Cliente factura.Fecha_Factura = Fecha_Factura ReDim Preserve factura.Articulos_Factura(0 To 0) End Sub
Private Sub Command1_Click() 'Nueva Factura Text4.SetFocus List1.Clear Dim intFile As Integer intFile = FreeFile
Indices.Codigo_Facturas = Indices.Codigo_Facturas + 1 Label1.Caption = Indices.Codigo_Facturas 'GUARDAMOS EL CODIGO DE LA NUEVA FACTURA Open App.Path & "\Indices.txt" For Binary As intFile Put #intFile, , Indices Close #intFile Label4.Caption = "Factura:" Text1.Text = "Pedro" Text2.Text = Date Crear_Factura Indices.Codigo_Facturas, Text1.Text, Text2.Text
'Iniciamos la nueva Factura Command5.Enabled = True Command6.Enabled = True End Sub
Private Sub Command2_Click() End End Sub
Private Sub GUARDAR_FACTURA() Dim File As Integer File = FreeFile factura.Nombre_Cliente_Factura = Text1.Text factura.Fecha_Factura = Text2.Text
Open App.Path & "\" & Prefix_Facturas & Indices.Codigo_Facturas & ".TXT" For Binary As #File Put #File, , factura Close #File End Sub
Private Sub Command3_Click() ' modificar datos If List1.ListIndex < 0 Then MsgBox "Ningún elemento ha sido seleccionado", vbInformation Exit Sub End If
List1.AddItem Text4.Text & Space(14) & Text5.Text & Space(27) & Text6.Text List1.RemoveItem List1.ListIndex
GUARDAR_FACTURA
Call Command7_Click
End Sub
Private Sub Command5_Click() GUARDAR_FACTURA End Sub
Private Sub Command6_Click() ' Agregar articulo al list1 Agregar_Articulo Text4.Text, Text5.Text, Text6.Text End Sub
Private Sub Command7_Click() 'leer los datos de la factura Dim gh As String, lp As String Dim File As Integer File = FreeFile Text1.Text = "" Text2.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" List1.Clear On Error GoTo err:
If Len(Dir(gh)) <> 0 Then gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT" Open gh For Binary Access Read Lock Read As #File Get #File, , factura Close #File Label1.Caption = factura.Codigo_Factura Text1.Text = factura.Nombre_Cliente_Factura Text2.Text = factura.Fecha_Factura For total_articulos = 0 To UBound(factura.Articulos_Factura) - 1 nombre_articulo = factura.Articulos_Factura(total_articulos).nombre_articulo codigo_articulo = factura.Articulos_Factura(total_articulos).codigo_articulo precio_articulo = factura.Articulos_Factura(total_articulos).precio_articulo List1.AddItem nombre_articulo & Space(12) & codigo_articulo & Space(31) & precio_articulo Next End If Exit Sub err: MsgBox "Factura no Existe", vbCritical, "ERROR" Kill gh End Sub
Private Sub Form_Load() ' leer el numero de la ultima factura Dim intFile As Integer intFile = FreeFile Open App.Path & "\Indices.txt" For Binary As intFile Get #intFile, , Indices Close #intFile Label1.Caption = Indices.Codigo_Facturas Command1.Enabled = True Command5.Enabled = True End Sub
Private Sub List1_Click() ' leer los datos del list1 a text4.text, text5.text, text6.text Dim gh As String Dim total_articulos As Integer If List1.ListIndex < 0 Then MsgBox "Ningún elemento ha sido seleccionado", vbInformation Exit Sub End If
gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT" Open gh For Binary Access Read Lock Read As #1 Get #1, , factura For total_articulos = 0 To List1.ListIndex Text4.Text = factura.Articulos_Factura(total_articulos).nombre_articulo Text5.Text = factura.Articulos_Factura(total_articulos).codigo_articulo Text6.Text = factura.Articulos_Factura(total_articulos).precio_articulo Next Close #1
End Sub
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Java
|
chuystoty
|
9
|
106,394
|
20 Mayo 2012, 06:13 am
por ELMED
|
|
|
sumar datos list1
Programación Visual Basic
|
corlo
|
6
|
2,912
|
17 Enero 2016, 16:38 pm
por corlo
|
|
|
archivo secuencial de texto a archivo for random aleatorio
Programación Visual Basic
|
corlo
|
1
|
2,813
|
14 Enero 2016, 22:35 pm
por XresH
|
|
|
modificar list1
Programación Visual Basic
|
corlo
|
2
|
1,870
|
9 Marzo 2020, 20:30 pm
por corlo
|
|
|
descontar valor en list1 de la columna 3
Programación Visual Basic
|
corlo
|
0
|
1,775
|
24 Febrero 2021, 00:42 am
por corlo
|
|