[Résolu] Ajouter des enregistrements avec un formulaire, avec du code

Ajouter des enregistrements avec un formulaire, avec du code [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 10-05-2005 à 12:09:47    

Bonjour !
Dans le cadre d'un stage j'ai fait une bdd Access et maintenant je dois faire des formulaires pour ajouter des nouveaux enregistrements dans cette base.
j'ai un super gros bouquin Access mais malheureusement, impossible de trouver comment faire cette opération qui me semble être pourtant le B.A-ba des opérations les plus utiles.
Alors voilà, je voudrais connaitre la syntaxe pour récupérer les valeurs de mes champs du formulaire et les insérer dans la table.
Merci beaucoup...  :jap:


Message édité par yuminette le 13-05-2005 à 15:09:07
Reply

Marsh Posté le 10-05-2005 à 12:09:47   

Reply

Marsh Posté le 10-05-2005 à 13:39:20    

yuminette a écrit :

Bonjour !
Dans le cadre d'un stage j'ai fait une bdd Access et maintenant je dois faire des formulaires pour ajouter des nouveaux enregistrements dans cette base.
j'ai un super gros bouquin Access mais malheureusement, impossible de trouver comment faire cette opération qui me semble être pourtant le B.A-ba des opérations les plus utiles.
Alors voilà, je voudrais connaitre la syntaxe pour récupérer les valeurs de mes champs du formulaire et les insérer dans la table.
Merci beaucoup...  :jap:


Salut,
 
Peut-être que le super gros bouquin d'Access a un chapitre sur ce domaine... As-tu regardé au moins?
 
Et si le super gros bouquin d'Access te rebute, fais une recherche:
 

  • dans l'aide on-line d'Access

 

  • sur ce forum

 

  • sur le net. Google est ton ami! :whistle:


Et puis effectivement ce que tu cherches à faire et le B.A-ba d'Access... Donc en cherchant un tout petit peu, tu devrais y arriver!
 
Ah oui, encore un petit indice pour t'aider :) : Assistant (ou Wizard en anglais).
 
Voilà j'espère que cela t'aidera dans tes recherches.
A+


Message édité par gfa le 10-05-2005 à 13:41:14
Reply

Marsh Posté le 10-05-2005 à 13:42:54    

Ben voui j'ai déjà regardé...
Si je viens ici c'est parce que je n'ai pas trouvé ailleurs...
Sur google qui est mon ami, je n'ai trouvé que des informations sur comment consulter les tables.
Seulement voilà, ça commence à faire un bout de temps que je suis dessus... Et les bases de données c'est pas trop ça...

Reply

Marsh Posté le 11-05-2005 à 08:22:29    

moi aussi g galéré au début du stage, mais tu n'es pas obligé de passer par VBA, il y a des requêtes au début si tu galère trop, tu peux faire une requête mis à jour ou ajout,et tu mets en relation la table ki correspond.
pour ma part g fini ma bd depuis 2semaines, elle a trop de charme !!!
 
allez bon courage et fait moi signe  :hello: si t'a besoin de + d'aide, je c ke c trop prise de tete au début...

Reply

Marsh Posté le 11-05-2005 à 11:05:08    

Merci pour tes conseils, effectivement il n'y avait pas besoin de code !
J'ai juste mis un code pour afficher un message de confirmation, mais par contre si on dit non alors les données du formulaire sont effacées et on doit tout réécrire à nouveau, alors que moi j'aimerais qu'on puisse retourner sur le formulaire si on veut juste corriger un champ, au lieu d'aller à un autre formulaire pour modifier l'enregistrement.
voilà mon code pour l'instant :
 
Private Sub Ajouter_ouvrant_droit_Click()
   
    retour = MsgBox("Ajouter l'ouvrant droit à la base de données ?", vbYesNo + vbExclamation, "Confirmation de l'ajout" )
    If retour = 6 Then
        DoCmd.Save
    Else
         
        Me.Undo
    End If
 
End Sub

Reply

Marsh Posté le 11-05-2005 à 12:22:47    

yuminette a écrit :

Merci pour tes conseils, effectivement il n'y avait pas besoin de code !
J'ai juste mis un code pour afficher un message de confirmation, mais par contre si on dit non alors les données du formulaire sont effacées et on doit tout réécrire à nouveau, alors que moi j'aimerais qu'on puisse retourner sur le formulaire si on veut juste corriger un champ, au lieu d'aller à un autre formulaire pour modifier l'enregistrement.
voilà mon code pour l'instant :
 
Private Sub Ajouter_ouvrant_droit_Click()
   
    retour = MsgBox("Ajouter l'ouvrant droit à la base de données ?", vbYesNo + vbExclamation, "Confirmation de l'ajout" )
    If retour = 6 Then
        DoCmd.Save
    Else
         
        Me.Undo
    End If
 
End Sub


Salut,
 
Si jamais, teste plutôt ta valeur de retour avec la constante VB vbYes. Ca change rien mais ça rend juste ton code plus lisible :)
 
Sinon, pour ton problème de remise à zéro, il ne faut pas utiliser Me.Undo.
Donne plutôt le focus à un de tes champs de saisie. Comme ça ton problème est résolu.
 
A+

Reply

Marsh Posté le 13-05-2005 à 15:07:14    

Merci à tous pour votre aide !
Mon formulaire fonctionne enfin, je vous met le code ci dessous :
 
Private Sub Ajouter_ouvrant_droit_Click()
 
    ' ---- vérification des champs vides -----
 
    If IsNull(Me.nom) Then
        MsgBox "Vous devez remplir le champ Nom", vbOKOnly
        Exit Sub
    End If
             
    ...
    ...
     
    If IsMissing(Me.id_type_contrat) Then
        MsgBox "Vous devez remplir le champ Contrat", vbOKOnly
        Exit Sub
    End If
     
    retour = MsgBox("Ajouter l'ouvrant droit à la base de données ?", vbYesNo & vbExclamation, "Confirmation de l'ajout" )
 
    If retour = 1 Then
 
    ' ---- Requete SQL d'insertion dans la table -----
           
        Dim requete As String
 
        requete = "INSERT INTO ouvrant_droit (matricule, qualite, nom, prenom, dt_naiss, dt_entree_cie, dt_ambauche, NumAssMaladie, tranche, parts, id_sit_fam, id_sit_geo, id_type_contrat, id_unite_structurelle, id_secteur, id_grade) VALUES ('"
        requete = requete & matricule.Value & "' , '"
        requete = requete & qualite.Value & "', '"
        requete = requete & nom.Value & "', '"
        requete = requete & prenom.Value & "', #"
        requete = requete & Format(dt_naiss.Value) & "#, #"
        requete = requete & Format(dt_entree_cie.Value) & "#, #"
        requete = requete & Format(dt_embauche.Value) & "#,'"
        requete = requete & NumAssMaladie.Value & "', '"
        requete = requete & tranche.Value & "', '"
        requete = requete & Me.parts.Value & "', "
        requete = requete & Me.id_sit_fam.Value & ", "
        requete = requete & Me.id_sit_geo.Value & ", "
        requete = requete & Me.id_type_contrat.Value & ", "
        requete = requete & Me.id_unite_structurelle.Value & ", "
        requete = requete & Me.id_secteur.Value & ", "
        requete = requete & Me.id_grade.Value & " );"
               
        MsgBox requete
        DoCmd.RunSQL requete
         
        MsgBox "Mise à jour effectuée !"
        Me.Undo
                         
    Else
       
        Exit Sub
         
    End If
     
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed