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

IHM Discussion :

Ajouter de données dans tables à partir d'un formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Ajouter de données dans tables à partir d'un formulaire
    Bonjour,

    je vous poste mon code qui doit permettre l'ajout d'enregistrements dans la table client et la table dossier quand valeur contenue dans la listbox cboClient = 0 :
    a l'exécution j'ai le message d'erreur suivant :
    "l'erreur #3251 a été générée par DAO.Recordset. Opération non autorisée pour ce type d'objet".

    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
    Private Sub btAjouter_Click()
     
    Dim DB As DAO.Database
    Dim rs As DAO.Recordset
     
    On Error GoTo Erreur
     
    Set DB = CurrentDb
     
    If Me.cboClient = 0 Then
     
        Set rs = DB.OpenRecordset("tblCLIENT")
        rs.FindFirst "nom_client = " & Forms!F_GestionClient2!nom_client
     
        If rs.NoMatch Then
            With rs
                .AddNew
                !code_client = Me.code_client
                !nom_client = Me.nom_client
                !nom_contact = Me.nom_contact
                !adresse1 = Me.adresse1
                !adresse2 = Me.adresse2
                !cp_client = Me.cp_client
                !ville_client = Me.ville_client
                !tel_client = Me.tel_client
                !fax_client = Me.fax_client
                !email_contact = Me.email_contact
                .Update
                .Bookmark = .LastModified
                Me.code_client = !code_client
            End With
     
        Else
            MsgBox " Ce client a déjà été enregistré !", vbExclamation, "Attention"
            rs.Close
            Set rs = Nothing
            DB.Close
            Set DB = Nothing
            Exit Sub
        End If
     
        If Me.cboCollab = "" Then
                MsgBox "Vous devez affecter un collaborateur à ce client !", vbExclamation, "Attention"
                Exit Sub
        Else
                Set rs = DB.OpenRecordset("tblDOSSIER")
                With rs
                    .AddNew
                    !num_collab = Me.cboCollab.Column(0)
                    !code_client = Me.code_client
                    .Update
                    .Close
                Set rs = Nothing
                End With
            End If
     
    MsgBox "Le nouveau client a bien été enregistré !", vbInformation, "Info"
     
    End If
     
    Exit Sub
    Erreur:
        msg = "L'erreur # " & Str(Err.Number) & " a été générée par " & Err.source & Chr(13) & Err.Description
        MsgBox msg, , "Erreur", Err.HelpFile, Err.HelpContext
    End Sub
    Qu'est ce qui cloche dans mon code ??!
    merci de votre aide à tous.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rs = DB.OpenRecordset("tblCLIENT", dbOpenDynaset)
    tu ne peux pas faire de FindFirst sur une table Access dans son mode d'ouverture par défaut, le dbOpenDynaset le permet.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 28
    Points : 17
    Points
    17
    Par défaut
    merci bcp.
    j'ai corrigé comme suggéré et maintenant j'ai le message :
    "erreur # 3077 a été générée par DAO.recordset. erreur de syntaxe (opérateur absent) dans l'expression.
    de quel opérateur s'agit-il ?
    merci bcp.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    C'est sur la ligne modifiée ?

    Je viens de faire un test sur ma machine et je n'ai pas de problème.

    Poste ta ligne modifiée, cela donnera peut-être une indication.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Enregistrer données dans table à partir d'un formulaire
    Par carpediem2807 dans le forum VBA Access
    Réponses: 16
    Dernier message: 04/05/2016, 20h53
  2. Réponses: 11
    Dernier message: 06/11/2013, 14h17
  3. Ajout de données dans table
    Par bruce207 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/04/2011, 18h30
  4. Ajouter une colonne à une table à partir d'un formulaire
    Par turbo_sophie dans le forum VBA Access
    Réponses: 8
    Dernier message: 27/04/2009, 14h48
  5. Ajout de données dans une liste d'un formulaire
    Par Elstak dans le forum Access
    Réponses: 1
    Dernier message: 09/08/2006, 15h53

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