Sql access : ajouter un enregistremt

Résolu/Fermé
Jimmy59116 Messages postés 45 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 30 janvier 2013 - 20 déc. 2011 à 19:59
Jimmy59116 Messages postés 45 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 30 janvier 2013 - 28 déc. 2011 à 12:39
Bonjour,

Je me bats avec une base Access dans laquelle j'ai des salariés. La fonction sur laquelle je travaille a une double utilité : soit modifier les données du salarié en cours, soit en créer un nouveau.

Dans le cas de création d'un nouveau salarié, il va falloir ensuite que j'utilise la nouvelle id créée dans une autre table.

J'utilise un bout de code issu d'une autre application, mais problème : il me créé 2 enregistrements...

Le premier avec le nom, le second avec le nom et les 2 "oui" que j'ai besoin d'ajouter dans la table. Je n'arrive pas à lui demander de ne créer que le second enregistrement qui lui est correct.

Il y a forcément une erreur, sans doute basique, dans mon code, mais je ne la trouve pas.

Auriez-vous une idée ?

Merci d'avance !

Jimmy

Private Sub b_valid_Click()

' Vérification de la saisie

' Enregistrer

' Déclaration de la base de données
Dim dbs As DAO.Database
Set dbs = CurrentDb()
' Déclaration du jeu d'enregistrements
Dim rstcom As DAO.Recordset
salarie_en_cours = [Forms]![f_salaries]![zt_id_sal]
' Création de la requête SQL
string_requete = "SELECT * FROM t_salaries where id_salarie=" & salarie_en_cours & " ;"
' ajouter un nouvel enregistrement et définir les champs
Set rstcom = dbs.OpenRecordset(string_requete)

If rstcom.BOF = False And rstcom.EOF = False Then
rstcom.MoveFirst
rstcom.Edit
rstcom.Fields("sal_nom") = [Forms]![f_salaries]![zt_sal_nom]
rstcom.Fields("sal_actif") = "oui"
rstcom.Fields("sal_inter") = "oui"

Else
rstcom.AddNew
rstcom.Fields("sal_actif") = "oui"
rstcom.Fields("sal_inter") = "oui"
rstcom.Fields("sal_nom") = [Forms]![f_salaries]![zt_sal_nom]
End If

rstcom.Update
rstcom.Close
dbs.Close


' actualiser l'affichage
Me.Requery
Me.Refresh

gest_annul_valid

End Sub


A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
21 déc. 2011 à 19:17
Bonjour,
J'ai teste votre code en access 2007(sauf gest_annul_valid) et tout ce passe normalement.

A voir
0
Jimmy59116 Messages postés 45 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 30 janvier 2013 1
28 déc. 2011 à 12:39
Bonjour,

Merci pour votre réponse.

J'ai du coup vérifié, c'est à un autre endroit du code qu'il y avait un doublon...

Bonne journée.

Jimmy
0