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 :

Comment faut il insérer du texte dans un champ texte ? [AC-2013]


Sujet :

Access

  1. #1
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Comment faut il insérer du texte dans un champ texte ?
    Salut membres du forum !
    Je voudrais insérer cette expression le numéro"NumModalite" et la modalité : l"...er Versement" ou "...e Versement" dans le champ "modalite" de ma table "MODALITEPAYEMENT"
    grâce à une procédure.
    Voici un code que je voudrais adapter à cela:
    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
    Private Sub GenererTableMois()
    On Error GoTo DOUKARA
    Dim strMois As String
    Dim strAnnee As String
    Dim X As Integer
    Dim I As Integer
    Dim j As Integer
     
    DoCmd.SetWarnings False
     
    DoCmd.RunSQL "delete * from tmois;"
    j = 1
    DoEvents
    For I = -Me.X To Me.Y
    strMois = CStr(UCase(MonthName(Month(DateAdd("m", I, date))) & " " & Year(DateAdd("m", I, date))))
    strAnnee = Year(DateAdd("m", I, date))
    DoCmd.RunSQL "insert into tmois(LibMois,id,Annee_tMois) values ('" & strMois & "'," & j & ",'" & strAnnee & "');"
    j = j + 1
    'Me.cptantpour.AddItem UCase(MonthName(Month(DateAdd("m", i, date))) & " " & Year(DateAdd("m", i, date)))
    Next I
    DoCmd.SetWarnings True
     
    Exit Sub
    DOUKARA:
        MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue"
    End Sub
    et la fonction qui ramène le numéro automatique de la table :
    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
    Public Function f_NumModalite() As Long
    On Error GoTo OUMAR
    Dim bd As Database
    Dim rs As Recordset
    Set bd = CurrentDb
    Set rs = bd.OpenRecordset("select * from MODALITEPAYEMENT order by NumModalite desc;")
    If rs.EOF Then
       f_NumModalite = 1
    Else
        f_NumModalite = rs.Fields("NumModalite") + 1
    End If
    Exit Function
    OUMAR:
    MsgBox Err.Description, vbExclamation, Err.Number
    End Function
    Nom : CaptureModaliteVersement.PNG
Affichages : 169
Taille : 32,1 Ko
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  2. #2
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut !
    Cette procédure me ramène à peu près ce que je recherche mais encore faudrait qu'elle soit correcte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub GenererModalitePayement()
    On Error GoTo MOROBABOUMAR
    DoCmd.SetWarnings False
    If Me.modalité = DernierModaliteParent(Me.mlepa, Me.anneescol) = 1 Then
    Me.Versement = DernierModaliteParent(Me.mlepa, Me.anneescol) & "1er" & "Versement"
    Else
    Me.Versement = DernierModaliteParent(Me.mlepa, Me.anneescol) + 1 & "e" & "Versement"
    End If
    DoCmd.SetWarnings True
     
    Exit Sub
    MOROBABOUMAR:
        MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue"
    End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function DernierModaliteParent(matrPa As Long, AnneScol As String) As Integer
    Dim bd As Database
    Dim R As Recordset
    Dim sql As String
     
    Set bd = CurrentDb
    sql = "select * from PAYEMENTS  where mlepa = " & matrPa & " and anneescol = '" & AnneScol & "' order by date desc ;"
    Set R = bd.OpenRecordset(sql)
    With R
        If Not .EOF Then
        DernierModaliteParent = .Fields("modalité")
        End If
    End With
    End Function
    Erreur constatée: blocage de ma base de données.

    Nom : CaptureBDialoguePayement.PNG
Affichages : 142
Taille : 61,9 Ko

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    il y a plus simple: sur l'évènement AfterUpdate de [NumModalite]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub modalité_AfterUpdate()
    Me.Versement = Me.modalité.Column(1)
    End Sub
    mais utiliser un champ dans la table pour mettre une information qui existe déjà, ce n'est pas optimal, pourquoi ne pas utiliser le champ [modalite] de la table MODALITEPAYEMENT pour afficher le libellé ?
    Il faut mettre ceci dans Source contrôle d'un champ indépendant Versement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[modalité].[column](1)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour morobaboumar,
    Je voudrais insérer cette expression le numéro"NumModalite" et la modalité : l"...er Versement" ou "...e Versement" dans le champ "modalite" de ma table "MODALITEPAYEMENT"
    grâce à une procédure.
    j'ai compris ton besoin, en regardant ici : #post10606109
    mais il est préférable de nous faire savoir que le code ne te convient pas plutôt que de poster ailleurs pour le même besoin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub btnInsererLigne_Click()
    Dim strSQL As String
    Dim lgDernier As Long
    lgDernier = Nz(DMax("nummodalite", "MODALITEPAYEMENT"), 0) + 1
     
    strSQL = "insert into MODALITEPAYEMENT values(" & lgDernier & ",""" & lgDernier & IIf(lgDernier = 1, "er", "e") & " Versement"")"
    CurrentDb.Execute strSQL, dbFailOnError
    MsgBox lgDernier & "e Versement inséré dans la table MODALITEPAYEMENT."
    End Sub
    est-ce que cela répond à ton besoin ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir tee_grandbois sans oublier tous les membres du forum !
    Je recherchais tout d'abord un sujet qui pourrait me concerner avant de revenir à notre discussion.
    Je vous demande de bien vouloir recevoir toutes mes excuses d'être sorti du cadre de notre discussion.
    Merci d'avoir résolu la première partie de cette discussion.
    Le code que vous m'avez suggéré marche comme souhaité.
    Je vous reviens bientôt car voudrais vous soumettre la deuxième partie de notre discussion.
    A+
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  6. #6
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut 2e partie: Comment faut il insérer du texte dans un champ texte ?
    Salut membres du forum !
    Voici deux procedures qui pourrais achever notre discussion:
    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
    Sub GenererModalitePayement()
    On Error GoTo MOROBABOUMAR
    'DoCmd.SetWarnings False
    If IsNull(Me.[modalité].[Column](1)) Then
     
      InsererLigneModalite
     
    Else
    Me.modalité = DernierModaliteParent(Me.mlepa, Me.anneescol) + 1
    End If
    'DoCmd.SetWarnings True
     
    Exit Sub
    MOROBABOUMAR:
        MsgBox "Erreur n° " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Une erreur est survenue"
    End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub InsererLigneModalite()
    Dim strSQL As String
    Dim lgDernier As Long
    lgDernier = Nz(DMax("nummodalite", "MODALITEPAYEMENT"), 0) + 1
     
    strSQL = "insert into MODALITEPAYEMENT values(" & lgDernier & ",""" & lgDernier & IIf(lgDernier = 1, "er", "e") & " Versement"")"
    CurrentDb.Execute strSQL, dbFailOnError
    MsgBox lgDernier & "e Versement inséré dans la table MODALITEPAYEMENT."
    Me.Requery
    End Sub
    dans la boite de dialogue"PAYEMENTS_SFrmArchive_ParentsBDialogue" du sous-formulaire "PAYEMENTS_SFrmArchive_Parents"
    du formulaire principale "ARCHIVE_PARENTS".
    La procédure "InsererLigneModalite" me permet de d'insérer une nouvelle ligne dans la table MODALITEPAYEMENT au cas où la ligne
    de versement atteint n'existerais pas.
    Je l'est testé le code que j'ai pu copier grâce à celui de tee_grandbois.
    Nom : CapturePayementParent.PNG
Affichages : 123
Taille : 61,9 Ko
    Nom : CaptureModalitéNouvellementInseree.PNG
Affichages : 126
Taille : 72,9 Ko
    Espérant avoir vos suggestions, je vous remercie tous.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    et quelle est la question (ou le problème) ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    et quelle est la question (ou le problème) ?
    Bonsoir tee_grandbois!
    Que constatez vous au niveau des deux dernières procédures que je vous ai envoyées ?
    Pratiquement ça marche. Je vous suis très reconnaissant.
    Merci infiniment.
    A+
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Pratiquement ça marche.
    et quoi faire de plus ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Insérer donnée d'une zone de texte dans 2 champs differents
    Par Bubulle232 dans le forum VBA Access
    Réponses: 3
    Dernier message: 09/01/2012, 22h35
  2. insérer 3 valeurs dans un champs texte dynamique
    Par patibulaire dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 19/02/2010, 20h20
  3. Ouverture fenetre + affichage d'un texte dans un champ texte
    Par fabien14 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/03/2007, 10h09
  4. Réponses: 6
    Dernier message: 03/10/2005, 16h08
  5. Insérer le contenu d'un champ texte dans un JavaScript
    Par yoyot dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/02/2005, 14h12

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