Je suis nouveau en développement sous mobile.
Bien qu'informaticien à la base, je manque de pratique dans le monde de l'orienté Objet. En effet, je travaille exclusivement sous Oracle 10g et le VB ca remonte à mes études ...
Bref, je n'ai plus les réflexes du POO
Je suis en train de développer une application pour encoder ma consommation d'essence.
J'ai donc un DB classique sous HB++ : tbl_consommation
Les champs obligatoires
Nb_km Long
Nb_litre Long
Prix_litre Long
Total Long
Date Date
J'ai une form d'encodage dont voici le code source :
CODE
Private db as New Tbl_Consommation
' Paramétrage du menu
Private Sub Menu_information_Click()
Dim f As New frmInformation
f.Show hbFormModeless+hbFormGoto
End Sub
Private Sub Menu_nouveau_Click()
Dim f As New frmNew
f.Show hbFormModeless+hbFormGoto
End Sub
Private Sub Menu_resume_Click()
Dim f As New frmResume
f.Show hbFormModeless+hbFormGoto
End Sub
' Encodage automatique de la date
Private Sub Form_Load()
fld_date.Text = format(Now, "dd/mm/yyyy")
End Sub
Private Sub Form_Unload()
db.Close
End Sub
' Paramametrage boutton Sauver
Private Sub Btm_save_Click()
dim total as Double
dim litre as Double
dim prix as Double
dim date as String
dim km as Double
prix = CDbl (DelocalizeNumber (fld_prix.Text ) )
litre = CDbl (DelocalizeNumber (fld_litre.Text) )
date = CDate (fld_date.Text)
km = CDbl (DelocalizeNumber (fld_km.Text) )
total = CDbl (CDbl(litre) * CDbl(prix))
fld_total.Caption = CDbl(total)
msgbox ("Prix : " & prix)
msgbox ("litre : " & litre)
msgbox ("date : " & date)
msgbox ("km : " & km)
msgbox ("total : " & total)
db.OpenTable hbModeOpenAlways+hbModeReadWrite
db.AddNew
db.UniqueID = format(now, "yymmddhh")
db.Date = date
db.Nb_KM = km
db.nb_litre = litre
db.Prix_litre = prix
db.Total = total
msgbox ("litre : " & db.nb_litre)
db.Update
db.Requery
Dim f As New frmResume
f.Show hbFormModeless+hbFormGoto
End Sub
Private Sub Lbl_Total_GotFocus()
dim total as Double
dim litre as Double
dim prix as Double
prix = CDbl (DelocalizeNumber (fld_prix.Text ) )
litre = CDbl (DelocalizeNumber (fld_litre.Text) )
total = CDbl (CDbl(litre) * CDbl(prix))
fld_total.Caption = CDbl(total)
End Sub
' Paramétrage du menu
Private Sub Menu_information_Click()
Dim f As New frmInformation
f.Show hbFormModeless+hbFormGoto
End Sub
Private Sub Menu_nouveau_Click()
Dim f As New frmNew
f.Show hbFormModeless+hbFormGoto
End Sub
Private Sub Menu_resume_Click()
Dim f As New frmResume
f.Show hbFormModeless+hbFormGoto
End Sub
' Encodage automatique de la date
Private Sub Form_Load()
fld_date.Text = format(Now, "dd/mm/yyyy")
End Sub
Private Sub Form_Unload()
db.Close
End Sub
' Paramametrage boutton Sauver
Private Sub Btm_save_Click()
dim total as Double
dim litre as Double
dim prix as Double
dim date as String
dim km as Double
prix = CDbl (DelocalizeNumber (fld_prix.Text ) )
litre = CDbl (DelocalizeNumber (fld_litre.Text) )
date = CDate (fld_date.Text)
km = CDbl (DelocalizeNumber (fld_km.Text) )
total = CDbl (CDbl(litre) * CDbl(prix))
fld_total.Caption = CDbl(total)
msgbox ("Prix : " & prix)
msgbox ("litre : " & litre)
msgbox ("date : " & date)
msgbox ("km : " & km)
msgbox ("total : " & total)
db.OpenTable hbModeOpenAlways+hbModeReadWrite
db.AddNew
db.UniqueID = format(now, "yymmddhh")
db.Date = date
db.Nb_KM = km
db.nb_litre = litre
db.Prix_litre = prix
db.Total = total
msgbox ("litre : " & db.nb_litre)
db.Update
db.Requery
Dim f As New frmResume
f.Show hbFormModeless+hbFormGoto
End Sub
Private Sub Lbl_Total_GotFocus()
dim total as Double
dim litre as Double
dim prix as Double
prix = CDbl (DelocalizeNumber (fld_prix.Text ) )
litre = CDbl (DelocalizeNumber (fld_litre.Text) )
total = CDbl (CDbl(litre) * CDbl(prix))
fld_total.Caption = CDbl(total)
End Sub
Parallèlement j'ai une autre form qui elle affiche un listing
Le problème est le suivant :
Quand je sauve mon record, le db.addnew fait bien sont boulot mais je n'ai pas d'update qui se fait ...
Les nouvelles infos encodées refusent d'être sauvées.
J'obtiens à chaque fois : 01/01/1904 pour la date et des 0 pour le reste
Quelqu'un peut il m'aider?
Je sèche vraiment.
Merci beaucoup
Je vous souhaite à tous un bonne et heureuse année 2008 (vu que c'est un des dernier post de 2007)