IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

access se ferme à la fin de mon code


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 22
    Points : 14
    Points
    14
    Par défaut access se ferme à la fin de mon code
    Bonjour
    je travaille sous Access 2k3 SP2 avec un PC sous windows XP Pro.
    J'ai une base de données très simple avec un petit code.
    Lorsque je lance mon code, tout se passe bien sauf qu'à la fin access me met un message en me disant qu'il a rencontré un problème et qu'il doit fermer.
    Il me demande si je veux réparer la base.
    Je ne comprends pas, mon code fonctionne et il n'a pas l'air si pourri que ça.
    Si quelqu'un peut m'aider.
    Merci d'avance.
    Vincent
    PS:Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    Private Sub Commande9_Click()
    'je teste si l'utilisateur à selectionner un ordinateur
    If (IsNull(Modifiable6.Value) = True) Then
        MsgBox ("Veuillez choisir un ordinateur dans la liste déroulante")
    Else
        MsgBox ("un pc a été selectionné")
        'je déclare mes variables
        Dim db As DAO.Database
        Dim rs1, rs2 As DAO.Recordset
        Set db = CurrentDb
        Set rs1 = db.OpenRecordset("SELECT * FROM Item WHERE ReportID=" & Modifiable6.Value)
        Set rs2 = db.OpenRecordset("SELECT * FROM Temp")
        Set rs3 = db.OpenRecordset("SELECT * FROM Conf")
        'je vide ma table temporaire
        While Not (rs2.EOF)
            rs2.Delete
            rs2.MoveLast
        Wend
        MsgBox ("table Temp vidée!")
        'je remplis ma table temporaire avec mes données
        While Not (rs1.EOF)
            rs2.AddNew
            rs2("ID") = rs1("ID")
            rs2("IPage") = rs1("IPage")
            rs2("IDevice") = rs1("IDevice")
            rs2("IGroup") = rs1("IGroup")
            rs2("IField") = rs1("IField")
            rs2("IValue") = rs1("IValue")
            rs2("IIcon") = rs1("IIcon")
            rs2("IID") = rs1("IID")
            rs2("ReportID") = rs1("ReportID")
            rs2.Update
            rs1.MoveNext
        Wend
        MsgBox ("table Temp remplie")
        'je teste si l'ordinateur choisi est déjà dans ma table Conf
        If (IsNull(DLookup("ID", "Conf", "ID=" & Modifiable6.Value))) Then
            'la configuration de ce pc n'existe pas donc je l'ajoute
            MsgBox ("la configuration de ce pc n'existe pas donc je l'ajoute")
            rs3.AddNew
            rs3("ID") = Modifiable6.Value
            rs3("Nom-PC") = DLookup("IValue", "Temp", "IID=" & 514)
            rs3("OS") = DLookup("IValue", "Temp", "IID=" & 513)
            rs3("Service-pack") = DLookup("IValue", "Temp", "IID=" & 540)
            rs3("Version-IE") = DLookup("Ivalue", "Temp", "IID=" & 564)
            rs3("Processeur") = DLookup("IValue", "Temp", "IID=" & 517)
            rs3("Memoire") = DLookup("IValue", "Temp", "IID=" & 520)
            rs3("Ecran") = DLookup("IValue", "Temp", "IID=" & 525)
            rs3("DD") = DLookup("IValue", "Temp", "IID=" & 528)
            rs3("MAC-Adress") = DLookup("IValue", "Temp", "IID=" & 539)
            rs3("Carte-reseau") = DLookup("IValue", "Temp", "IID=" & 534)
            rs3("Constructeur-PC") = DLookup("IValue", "Temp", "IID=" & 2569)
            rs3("Modele-PC") = DLookup("IValue", "Temp", "IID=" & 2570)
            rs3("Version-materiel") = DLookup("IValue", "Temp", "IID=" & 2571)
            rs3("SN-PC") = DLookup("IValue", "Temp", "IID=" & 2572)
            rs3("ID-PC") = DLookup("IValue", "Temp", "IID=" & 2573)
            rs3("Constructeur-CM") = DLookup("IValue", "Temp", "IID=" & 2575)
            rs3("Modele-CM") = DLookup("IValue", "Temp", "IID=" & 2576)
            rs3("SN-CM") = DLookup("IValue", "Temp", "IID=" & 2578)
            rs3("Memoire-maxi-par-slot") = DLookup("IValue", "Temp", "IID=" & 2596)
            rs3("Nb-slots") = DLookup("IValue", "Temp", "IID=" & 2597)
            rs3("Moteur-Norton") = DLookup("IValue", "Temp", "IID=" & 2305)
            rs3("Date-antivirus") = DLookup("IValue", "Temp", "IID=" & 2306)
            rs3.Update
        Else
            MsgBox ("l'entrée existe déjà : code à faire !!")
        End If
    End If
    End Sub

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut

    rs3 n'est pas déclaré (serait-ce la source du problème ?!?)

    Remarques diverses :
    Je n'ai pas trop compris l'utilité de rs1 et rs2

    De plus, tu travailles sur une requête pour rs3. pourquoi ne pas utiliser directement la table ?

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Je ne sais pas si cela va résoudre ton problème mais la moindre des choses serais de fermer tes recordset à mesure que tu n'en as plus besoin.

    C'est comme les portes les recordsets... ça se ferme.

    En prime le petit bout de code, mais je pense que tu dois déjà connaitre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rst.close
    set rst = nothing
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 22
    Points : 14
    Points
    14
    Par défaut merci
    Merci mon erreur est partie.
    Par contre, je voudrais bie que kikof m'explique comment faire pour travailler directement dans ma table.
    Merci encore.

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    C'est la même chose qu'avec une requête sauf qu'au lieu de mettre le SQL tu mets le nom de la table. Ni plus ni moins...
    Un tuto utile pour l'utilisation des données avec DAO

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2011, 09h19
  2. BDD Access - mon code est trop lent !
    Par alexbesn2 dans le forum C#
    Réponses: 1
    Dernier message: 07/05/2009, 11h37
  3. [debutant] comment transposer mon code vba excel en access
    Par eclipse012 dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/02/2008, 08h23
  4. [Macro Access] pb dans mon code pour lancer une macro Access
    Par Commodore dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2007, 10h51
  5. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo