Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

agregar y editar elementos base de datos por medio de fechas

Estas en el tema de agregar y editar elementos base de datos por medio de fechas en el foro de Visual Basic clásico en Foros del Web. hola buenos dias compañeros, primeramente espero que esten bien, mi problemita es el siquiente asi como lo dice el titulo estoy haciendo un programa q ...
  #1 (permalink)  
Antiguo 11/09/2009, 08:29
 
Fecha de Ingreso: junio-2008
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 0
agregar y editar elementos base de datos por medio de fechas

hola buenos dias compañeros, primeramente espero que esten bien, mi problemita es el siquiente asi como lo dice el titulo estoy haciendo un programa q agrege unos datos en una base de datos Access, en realidad q agrege y edite por medio de una comparacion de fecha el elemento dado.
base de datos:
ventas: tabla que guarda las ventas de boletos de los eventos

estoy diseñando un programa de ventas de boletos para un evento X.

ejemplo: agrege un evento nuevo y comienza en dd,mm,aaaa fecha, pero no e comenzado ninguna venta de boletos de ese evento, al presionar venta, el me debe actualizar en una tabla (ventas). los datos de la primera venta hecha. luego si sigo vendiendo hoy por ejemplo, que este se actualize las ventas si la fecha es de hoy y NO que me agrege otro registro si la fecha es la de hoy, si por casualidad la fecha cambia, si realizo la venta mañana este debe agregar un nuevo registro con una nueva fecha y sequir actualizando esa fecha nueva, pero sin borrar el registro anterior.

se lo muestro con un ejemplo:

evento 1, boletos 1 fecha: 11/10/2009 15 tikets vendidos 200Bs
evento 1, boletos 4 fecha: 11/10/2009 15 tikets vendidos 700Bs
evento 1, boletos 6 fecha: 11/10/2009 15 tikets vendidos 1100Bs

pero que se actualize y no me aprescan varios registros, y cuando el vea q hay una fecha nueva que lo agrege y se repita el mismo proceso de actualizar, algo asi, claro tambien que verifique el nombre del evento por supuesto, si el nombre del evento = al que esta en la caja de texto que agrege sus datos.

evento 1, boletos 56 fecha: 11/10/2009 15 tikets vendidos 200Bs
evento 1, boletos 52 fecha: 12/10/2009 14 tikets vendidos 3400Bs
evento 1, boletos 12 fecha: 15/10/2009 18 tikets vendidos 3100Bs
evento 2, boletos 23 fecha: 12/10/2009 18 tikets vendidos 3100Bs
evento 2, boletos 56 fecha: 11/10/2009 18 tikets vendidos 3100Bs
evento 2, boletos 12 fecha: 15/10/2009 18 tikets vendidos 3100Bs
el codigo es el siquiente:

Private Sub AgregarVentas()
Dim valor1, valor2, Valor3 As Currency
Dim Multi As Currency
'****AGREGA VENTAS**********y edita tambien***************
VentasDias.MoveFirst
Do While Not VentasDias.EOF
If Not VentasDias.EOF And Not VentasDias.BOF Then
VentasDias.MoveFirst
While Not VentasDias.EOF
'si es nueva la venta con la fecha nueva has esto.
If VentasDias!nombreevento = TxtData(1).Text And CDate(VentasDias!fechadia) <> CDate(DTPnuevo) Then
VentasDias.AddNew
VentasDias!codigo = TxtData(0)
VentasDias!nombreevento = TxtData(1)
VentasDias!precioventa = TxtData(5)
VentasDias!fechadia = CDate(DTPnuevo)
valor1 = FormatCurrency(TxtTicket, 2)
valor2 = FormatCurrency(TxtData(5), 2)
Valor3 = FormatCurrency(VentasDias!totaldia, 2)
Multi = valor1 * valor2 + Valor3
VentasDias!totaldia = Format(Multi, "currency")
VentasDias.Update
MsgBox "La venta se realizo con exito!!!!!!!! 3", vbInformation
Else
'si la venta esta, y es la fecha actual, actualiza la venta, y si es nuevo el evento y viene la primera venta actualiza el evento
If (VentasDias!nombreevento = TxtData(1).Text And CDate(VentasDias!fechadia) = CDate(DTPnuevo)) Or (VentasDias!nombreevento = TxtData(1).Text And CDate(VentasDias!fechadia) = "05/05/9999") Then
Text2 = CDate(VentasDias!fechadia)

VentasDias.Edit
VentasDias!codigo = TxtData(0)
VentasDias!nombreevento = TxtData(1)
VentasDias!precioventa = TxtData(5)
VentasDias!fechadia = CDate(DTPnuevo)
VentasDias!tiketsvendidos = 0
valor1 = FormatCurrency(TxtTicket, 2)
valor2 = FormatCurrency(TxtData(5), 2)
Valor3 = FormatCurrency(VentasDias!totaldia, 2)
Multi = valor1 * valor2 + Valor3
VentasDias!totaldia = Format(Multi, "currency")
VentasDias!numeroasientos = 0
VentasDias.Update
MsgBox "La venta se realizo con exito!!!!!!!! 2", vbInformation
End If
End If
VentasDias.MoveNext
Wend
End If
Exit Do

Loop
'************************************************* ******************************************
End Sub


05/05/9999 esto lo hago como un metodo de que, si no se a realizado una venta lo agrege como nuevo. por que como Access no acepta campos nulos le agrege una fecha falsa.

espero que me puedan ayudar con mi problema, no es exigir pero es importante resolverlo ya q lo necesito para una escuela. gracias
  #2 (permalink)  
Antiguo 25/09/2009, 21:40
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Desacuerdo Respuesta: agregar y editar elementos base de datos por medio de fechas

Hola!!
No entiendo muy bien, a ver si esta es la idea:
1-Ingresas una venta dia 01/01/2009 por $200
2-Si ingresas una nueva venta del mismo dia, actualiza la venta
3-Si ingresas una nueva venta con otro dia, agrega un nuevo registro

Si es asi, es facil:
Cuando vas a guardar los datos, pregunta si es el mismo dia, si es verdadero, actualiza, sino, agrega.

if txtFecha.text = date then
hacer update
else
hacer insert
end if

Nos cuentas!!
---
lkz.-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:28.