Visual Basic - Ayuda

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda

Publicado por Danos (50 intervenciones) el 24/04/2006 20:19:51
hola que tal de ante mano gracias por contestar mis preguntas, que me han ayudado bastante, pero tengo un problemita que no he podido resolver,

si alguien me puede ayudar.

tengo un programa que es un cronometro y tengo una base de datos en acces donde se guarda el tiempo en 4 campo (horas, minutos, segundo, decimas), el programa funciona asi, tengo un boton de nuevo, para generar un nuevo registro y tengo otro boton que es guardar, con el guardo el registro, el tiempo utiliza 4 text box (el primero las horas, el segundo los minutos, el tercero los segundos, el cuarto las decimas de segundos) estos text box son donde corre el tiempo y tengo otros 4 text box donde se guarda el tiempo que son los que estan conectados a la base de datos.

el problema es cuando le doy empesar a otro boton, quiero que empiese a correr el tiempo a partir de donde se quedeo la ultima ves

el cronometro funciona sin problemas cuando le desconecto los textbox, solo cuando yo le asigno apartir de donde quiero que empiese a correr funciona bien, pero cuando los tengo conectados los text box a la base de datos no corre a partir de donde se quedo la ultima ves incrementa demasiado, ejemplo 00:01:00:00 se salta hasta 00:05:00:00

alguno de ustedes sabe por que? Ayudenme pongo el codigo de mi programa

saludos

Option Explicit

CON ESTAS VARIABLES DETENGO EL TIEMPO PROGARMADO EN OTROS TEXT BOX
EJEMPLO: 10:00:00:00 HASTA DIEZ HORAS SE DETIENE LE PROGRAMA

Dim pararHoras As Integer
Dim pararMinutos As Integer
Dim pararSegundos As Integer
Dim pararCentesimas As Integer

Dim Iniciar As Single
Dim variable As Double
__________________________________________________________________
CON ESTE BOTON INICIO EL TIMER
Private Sub Command1_Click()

pararHoras = Text9.Text
pararMinutos = Text10.Text
pararSegundos = Text11.Text
pararCentesimas = Text12.Text

CON ESTO EL PROGRAMA INICIA A PARTIR DE DONDE LE DIGO

variable = (Text1.Text * 3600) + (Text2.Text * 60) + (Text3.Text) + (Text4.Text)
Iniciar = Timer
Timer1.Enabled = True

End Sub
_________________________________________________________________
CON ESTE BOTON DETENGO EL TIMER
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
_________________________________________________________________
CUANDO CARGA EL PROGRAMA LOS TEXT BOX QUE ESTAN CONECTADOS A LA BASE DE DATOS SE PEGAN EN LOS TEXT BOX DONDE CORRE EL TIEMPO
Private Sub Form_Load()

Iniciar = Timer
Timer1.Enabled = False

Text1.Text = Text5.Text
Text2.Text = Text6.Text
Text3.Text = Text7.Text
Text4.Text = Text8.Text

End Sub
__________________________________________________________________
Private Sub Timer1_Timer()

Dim dif As Single
Dim horas As Integer
Dim minutos As Integer
Dim segundos As Integer
Dim centesimas As Integer

If Timer > Iniciar Then
dif = variable + Timer - Iniciar
Else
dif = 86400 - Iniciar + Timer
End If

centesimas = (dif - Fix(dif)) * 100
horas = Fix(dif) \ 3600
minutos = (Fix(dif) Mod 3600) \ 60
segundos = (Fix(dif) Mod 60)

Text1.Text = Format(horas, "00")
Text2.Text = Format(minutos, "00")
Text3.Text = Format(segundos, "00")
Text4.Text = Format(centesimas, "00")

DoEvents

AQUI SE DETIENE L PROGRAMA SI ES QUE YA SON LAS DIEZ HORAS
If horas = pararHoras And minutos = pararMinutos And segundos = pararSegundos And centesimas = pararCentesimas Then
MsgBox "Fin"
Timer1.Enabled = False
End
End If

End Sub
_____________________________________________________________________
CON ESTE BOTON SACA UN NUEVO REGISTRO
Private Sub Command3_Click()

Adodc1.Recordset.AddNew

Text5.Text = "00"
Text6.Text = "00"
Text7.Text = "00"
Text8.Text = "00"

End Sub
______________________________________________________________________
CON ESTE BOTON GUARDO EL REGISTRO
Private Sub Command4_Click()

Text5.Text = Text1.Text
Text6.Text = Text2.Text
Text7.Text = Text3.Text
Text8.Text = Text4.Text

Adodc1.Recordset.Update
Adodc1.Refresh
Adodc1.Recordset.MoveLast
MsgBox "REGISTRO GRABADO CON EXITO!", 0 + 64

End Sub
____________________________________________________________________
CON ESTE BOTON ACTUALIZO LA BASE DE DATOS
Private Sub Command5_Click()
Adodc1.Recordset.Requery
End Sub

EL PROGRAMA FUNCIONA BIEN SOLO CUANDO CONECTO LOS TEXT BOX A LA BASE DE DATOS NO INCREMENTA BIEN
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda

Publicado por Pedro Luis (878 intervenciones) el 25/04/2006 12:40:05
Cuando haces un Recordset.AddNew tienes que hacer un Update en ese mismo modulo

Adodc1.Recordset.AddNew

Text5.Text = "00"
Text6.Text = "00"
Text7.Text = "00"
Text8.Text = "00"

Adodc1.Recordset.Update

y antes del update un edit

Adodc1.Recordset.Edit

Text5.Text = Text1.Text
Text6.Text = Text2.Text
Text7.Text = Text3.Text
Text8.Text = Text4.Text

Adodc1.Recordset.Update
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda

Publicado por Danos (50 intervenciones) el 25/04/2006 21:13:26
no entiendo muy bien esto para que sirve,

y el Adodc1.Recordset.Edit

no me lo marca visual basic solo el EditMode

si me pudieras explicar te lo agradecreria mucho Pedro Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar