Fonctionnement d'une base de données access 2000

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. bonjour
    Certaines lignes de code VBA access 2003 et 2007 sont incompatible
    0
    1. 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
      1. 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
        1. 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
          1. 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
            1. 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
              1. Re,
                le lien que vous avez mis ne donne pas votre fichier???????

                A+
                0
                1. Re,

                  cliquez sur votre lien et rendez compte de ce qui se passe!!!!!!
                  A+
                  0
                  1. 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