Fonctionnement d'une base de données access 2000

exalta Messages postés 8 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
depuis 1 mois ,j'ai remplacé la suite microsoft 2000 par microsoft 2007. Ma base de donnée créée en 2003 par un collègue (consommation voiture) fonctionnait très bien ,depuis le transfert elle ne fonctionne plus , la variable qui s'incrémentait avec l'enregistrement reste vide et ceux malgré la confirmation du déblocage de la table.

Je précise que sur mon UC fixe sous Windows XP et la suite microsoft tout fonctionne bien.
Merci de votre aide.

13 réponses

  1. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    bonjour
    Certaines lignes de code VBA access 2003 et 2007 sont incompatible
    0
  2. exalta Messages postés 8 Statut Membre
     
    bonsoir,
    merci pour votre réponse, mais je ne connais pas la programmation VBA, Je joints le programme form_kilometre ,pouvez-vous m'indiquer ou réside le problème?
    Option Compare Database
    Option Explicit

    Private Sub ANCIEN_KM_AfterUpdate()
    Me![DISTANCE PARCOURUE] = Me![NOUVEAU KM] - Me![ANCIEN KM]

    Dim d, l
    d = Me![DISTANCE PARCOURUE]
    l = Me![LITRES]
    Me![CONSO PARTIELLE] = (l / d) * 100

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

    DoCmd.GoToControl "NOUVEAU KM"
    End Sub

    Private Sub ANCIEN_KM_GotFocus()
    Dim TITRE, MSG, REPONSE
    If Me![LITRES] Like "*" Then
    Else
    Beep
    TITRE = "Contrôle des données"
    MSG = "Vous devez impérativement renseigner la quantité de carburant."
    Beep
    REPONSE = MsgBox(MSG, vbCritical, TITRE)
    DoCmd.GoToControl "LITRES"
    End If

    End Sub

    Private Sub Boîte31_Click()

    End Sub

    Private Sub CALCULS_Enter()

    End Sub

    Private Sub DATE_BeforeUpdate(Cancel As Integer)

    End Sub

    Private Sub DATE_SYSTEME_Click()
    Me![DATE] = Now()
    DoCmd.GoToControl "LITRES"
    End Sub

    Private Sub EntêteFormulaire_Click()

    End Sub

    Private Sub Image36_Click()

    End Sub

    Private Sub LITRES_AfterUpdate()
    Dim d, l
    d = Me![DISTANCE PARCOURUE]
    l = Me![LITRES]
    Me![CONSO PARTIELLE] = (l / d) * 100

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

    End Sub

    Private Sub NOUVEAU_KM_AfterUpdate()
    Me![NUM 2] = Me![NUM]
    Me![NUM -1] = Me![NUM] - 1
    If Me![ANCIEN KM] Like "*" Then GoTo 20 Else GoTo 10
    10
    Me![ANCIEN KM] = Me![SF KILOMETRES].Form![NOUVEAU KM]
    20
    Me![DISTANCE PARCOURUE] = Me![NOUVEAU KM] - Me![ANCIEN KM]
    30
    'Dim d, l
    'd = Me![DISTANCE PARCOURUE]
    'l = Me![LITRES]
    Me![CONSO PARTIELLE] = Me![LITRES] / Me![DISTANCE PARCOURUE] * 100 '(l / d) * 100

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
    DoCmd.GoToControl "NOUVEAU"
    End Sub

    Private Sub DERNIER_Click()
    On Error GoTo Err_DERNIER_Click

    DoCmd.GoToRecord , , acLast

    Exit_DERNIER_Click:
    Exit Sub

    Err_DERNIER_Click:
    MsgBox Err.Description
    Resume Exit_DERNIER_Click

    End Sub

    Private Sub NOUVEAU_KM_GotFocus()
    Dim TITRE, MSG, REPONSE
    If Me![LITRES] Like "*" Then
    Else
    Beep
    TITRE = "Contrôle des données"
    MSG = "Vous devez impérativement renseigner la quantité de carburant."
    Beep
    REPONSE = MsgBox(MSG, vbCritical, TITRE)
    DoCmd.GoToControl "LITRES"
    End If
    End Sub

    Private Sub NUM_BeforeUpdate(Cancel As Integer)

    End Sub

    Private Sub PiedFormulaire_Click()

    End Sub

    Private Sub PREMIER_Click()
    On Error GoTo Err_PREMIER_Click

    DoCmd.GoToRecord , , acFirst

    Exit_PREMIER_Click:
    Exit Sub

    Err_PREMIER_Click:
    MsgBox Err.Description
    Resume Exit_PREMIER_Click

    End Sub
    Private Sub PRECEDENT_Click()
    On Error GoTo Err_PRECEDENT_Click

    DoCmd.GoToRecord , , acPrevious

    Exit_PRECEDENT_Click:
    Exit Sub

    Err_PRECEDENT_Click:
    MsgBox Err.Description
    Resume Exit_PRECEDENT_Click

    End Sub

    Private Sub SF_KILOMETRES_Enter()

    End Sub

    Private Sub SUIVANT_Click()
    On Error GoTo Err_SUIVANT_Click

    DoCmd.GoToRecord , , acNext

    Exit_SUIVANT_Click:
    Exit Sub

    Err_SUIVANT_Click:
    MsgBox Err.Description
    Resume Exit_SUIVANT_Click

    End Sub
    Private Sub NOUVEAU_Click()
    On Error GoTo Err_NOUVEAU_Click

    DoCmd.GoToRecord , , acNewRec
    DoCmd.GoToControl "DATE"
    Exit_NOUVEAU_Click:
    Exit Sub

    Err_NOUVEAU_Click:
    MsgBox Err.Description
    Resume Exit_NOUVEAU_Click

    End Sub
    Private Sub FERMER_Click()
    On Error GoTo Err_FERMER_Click

    DoCmd.Close

    Exit_FERMER_Click:
    Exit Sub

    Err_FERMER_Click:
    MsgBox Err.Description
    Resume Exit_FERMER_Click

    End Sub
    0
  3. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
     
    bonjour
    je ne suis pas assez caler en VBA pour trouver le bog.Il me semble que dans access 2007 il y a des outils pour remédier au mauvais fonctionnement des procédures.
    Peux tu mettre ta base sur le site avec cjoint.fr
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour a vous deux

    exalta, j'ai recupere votre fichier. Au premier enregistrement, le numeroauto de Num c'est mis a 277 c'est a dire a -1 du premier enregistrement de 2009 et ensuite reprise de la numerotation normale apres l'enregitrement du 22/10/2012.
    Je sais que de temps en temps le passage de Access 2003 a Access 2007-2010 il y a des problemes de champ numeroauto. Je vous joint votre fichier qui pour moi n'a plus rien d'anormale. Essayez chez vous et dites ce qui se passe.

    https://www.cjoint.com/?BJDiHIMQGgP

    A+
    0
  6. exalta Messages postés 8 Statut Membre
     
    bonjour,
    la base ne fonctionne toujours pas,normalement l'ancien kilométrage n'a pas à être servi,il s'incrémente tout seul avec le champ "Nouveau kilomètre" de l'enregistrement -1. Quant au numéro de champ , précédemment j'avais une autre voiture et j'ai supprimé tous les enregistrements concernant cette voiture.
    Merci pour votre intervention.
    A+
    0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    ,normalement l'ancien kilométrage n'a pas à être servi,il s'incrémente tout seul avec le champ "Nouveau kilomètre" il n'y a rien dans votre VBA ou autre qui recupere cette donnee!!!!!!
    Avez vous garde le fichier access 2003??

    A+
    0
  8. exalta Messages postés 8 Statut Membre
     
    Bonsoir,
    Oui j'ai la version 2000 qui d'ailleurs tourne sur mon PC fixe qui est sous XP et la suite Microsoft 2000.
    Voici le lien pour mon fichier
    https://www.cjoint.com/?BJDsNMeqtF8
    A+
    0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,
    le lien que vous avez mis ne donne pas votre fichier???????

    A+
    0
  10. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    cliquez sur votre lien et rendez compte de ce qui se passe!!!!!!
    A+
    0
  11. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,
    J'ai recupere le fichier, le fonctionnement est le meme. Pas de remplissage automatique Ancien_KM. Mais c'est faisable sans probleme.

    A+
    0