Insertion de ligne
Résolu
begounou
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
begounou Messages postés 42 Date d'inscription Statut Membre Dernière intervention - 30 sept. 2020 à 10:39
begounou Messages postés 42 Date d'inscription Statut Membre Dernière intervention - 30 sept. 2020 à 10:39
A voir également:
- Insertion de ligne
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Insertion sommaire word - Guide
9 réponses
Bonjour,
tu peux exécuter une requête pour copier du genre :
Et si besoin, ensuite supprimer l'enregistrement dans la table DT_personnel_MAG.
a+
tu peux exécuter une requête pour copier du genre :
dim sql as string sql = "Insert into DT_personnel_EL (id_agent, nom_prenom, matricule...) Values Select * from DT_personnel_MAG where id_agent = " & valeur & ";"
Et si besoin, ensuite supprimer l'enregistrement dans la table DT_personnel_MAG.
a+
begounou
Merci pour la promptitude de votre intervention, cependant, je souhaite que vous m'expliquez un peu plus en détails comment utiliser ce code. parce-que là je galère.
Bonsoir,
ça dépend du comment tu souhaites "sélectionner" l'enregistrement à déplacer dans le sous-form...
Ceci déterminera le "valeur" que j'ai mis en exemple dans le code.
Ensuite, il suffira de mettre ce code sur le bouton qui permettra de copier :
et celui ci pour supprimer
ça dépend du comment tu souhaites "sélectionner" l'enregistrement à déplacer dans le sous-form...
Ceci déterminera le "valeur" que j'ai mis en exemple dans le code.
Ensuite, il suffira de mettre ce code sur le bouton qui permettra de copier :
dim requetesqlcopie as string requetesqlcopie = "Insert into DT_personnel_EL (id_agent, nom_prenom, matricule...) Values Select * from DT_personnel_MAG where id_agent = " & valeur & ";" docmd.runsql requetesqlcopie
et celui ci pour supprimer
dim requetesqlsupp as string requetesqlsupp = "DELETE FROM DT_personnel_MAG where id_agent = " & valeur & ";" docmd.runsql requetesqlsupp
Quel bouton ?
Et surtout, quel code il y a t'il sur ce bouton ?
A+
Et surtout, quel code il y a t'il sur ce bouton ?
A+
sur l'architecture vous avez peut être remarquez qu'il y'a 3 boutons une corbeille, un bouton modifié et le dernier que j'ai inséré pour coller le code que vous venez de me donner
Private Sub Commande60_Click() Dim requetesqlcopie As String requetesqlcopie = "Insert into DT_Personnels_MAG (Nom__Prenom, Matricule, ecole, Date_de_Naissance, Sex, Date-Embauche, Fonction_ID_FK, Qualification_ID_FK, Structure_ID_FK, Catégorie_ID_FK, Corps_ID_FK, Cadre_ID_FK, Position_Admin_ID_FK, Section_ID_FK2, Type_Contrat_ID_FK, Durée_Contrat, P_date, F_date) Values Select * from DT_Personnels_EL where Agent_id = " & Valeur & ";" End Sub
J'ai vu 3 bouton, mais je ne peux pas deviner à quoi ils servaient...
Là dans le code que tu as mis sur le bouton, il ne se passe rien, tu n'exécutes rien, tu affectes une chaine de caractères à une variable...
Le id_agent est où ??? Il correspond à quel champ de la table et quel controle du sous-form ??
A+
Là dans le code que tu as mis sur le bouton, il ne se passe rien, tu n'exécutes rien, tu affectes une chaine de caractères à une variable...
Le id_agent est où ??? Il correspond à quel champ de la table et quel controle du sous-form ??
A+
Bonjour RV71
après plusieurs essaies, je reviens encore vers vous.
je vous envois ci-dessous le code du bouton supprimé, peut être que cela vous permettrez de m'aider
après plusieurs essaies, je reviens encore vers vous.
je vous envois ci-dessous le code du bouton supprimé, peut être que cela vous permettrez de m'aider
Private Sub Commande52_Click() On Error Resume Next Nom__Prenom = Me.Nom__Prenom If IsNull(Nom__Prenom) Then Nom__Prenom = "" ' Matricule = Me.Matricule If IsNull(Matricule) Then Matricule = "" ' Mat_Id = Me.Agent_ID If IsNull(Mat_Id) Then Mat_Id = 0 ' Cadre_ID_FK = Me.Cadre_ID_FK If IsNull(Cadre_ID_FK) Then Cadre_ID_FK = "" ' Corps_ID_FK = Me.Corps_ID_FK If IsNull(Corps_ID_FK) Then Corps_ID_FK = "" ' Catégorie_ID_FK = Me.Catégorie_ID_FK If IsNull(Catégorie_ID_FK) Then Catégorie_ID_FK = "" ' Fonction_ID_FK = Me.Fonction_ID_FK If IsNull(Fonction_ID_FK) Then Fonction_ID_FK = "" ' Structure_ID_FK = Me.Structure_ID_FK If IsNull(Structure_ID_FK) Then Structure_ID_FK = "" ' Section_ID_FK2 = Me.Section_ID_FK2 If IsNull(Section_ID_FK2) Then Section_ID_FK2 = "" ' Message = "Souhaitez-vous supprimer l'agent " & Nom__Prenom & " (" & Trim(Str(Mat_Id)) & ") ?" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Attention, la suppression d'un agent entraîne également" & Chr(13) & Chr(10) & "la supression de tous les mouvements et historiques associés !" ' reponse = MsgBox(Message, vbYesNo + vbQuestion, "Suppression Agent") ' Select Case reponse Case 6 DoCmd.SetWarnings False DoCmd.RunSQL "DELETE DT_Personnels.* FROM DT_Personnels WHERE (((DT_Personnels.Agent_Id)= " & Mat_Id & "));" DoCmd.RefreshRecord DoCmd.Requery Me.Nom__Prenom ' DoCmd.SetWarnings True End Select ' End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Tu as uniquement à copier le code de ton bouton supprimer et le modifier uniquement au niveau de la requête finale, ce qui donnerait :
Tu as uniquement à copier le code de ton bouton supprimer et le modifier uniquement au niveau de la requête finale, ce qui donnerait :
Private Sub Commande60_Click() On Error Resume Next Nom__Prenom = Me.Nom__Prenom If IsNull(Nom__Prenom) Then Nom__Prenom = "" ' Matricule = Me.Matricule If IsNull(Matricule) Then Matricule = "" ' Mat_Id = Me.Agent_ID If IsNull(Mat_Id) Then Mat_Id = 0 ' Cadre_ID_FK = Me.Cadre_ID_FK If IsNull(Cadre_ID_FK) Then Cadre_ID_FK = "" ' Corps_ID_FK = Me.Corps_ID_FK If IsNull(Corps_ID_FK) Then Corps_ID_FK = "" ' Catégorie_ID_FK = Me.Catégorie_ID_FK If IsNull(Catégorie_ID_FK) Then Catégorie_ID_FK = "" ' Fonction_ID_FK = Me.Fonction_ID_FK If IsNull(Fonction_ID_FK) Then Fonction_ID_FK = "" ' Structure_ID_FK = Me.Structure_ID_FK If IsNull(Structure_ID_FK) Then Structure_ID_FK = "" ' Section_ID_FK2 = Me.Section_ID_FK2 If IsNull(Section_ID_FK2) Then Section_ID_FK2 = "" ' Message = "Souhaitez-vous Déplacer l'agent " & Nom__Prenom & " (" & Trim(Str(Mat_Id)) & ") ?" ' reponse = MsgBox(Message, vbYesNo + vbQuestion, "Déplacement Agent") ' Select Case reponse Case 6 dim requetesqlcopie as string requetesqlcopie = "Insert into DT_Personnels_MAG (Nom__Prenom, Matricule, ecole, Date_de_Naissance, Sex, Date-Embauche, Fonction_ID_FK, Qualification_ID_FK, Structure_ID_FK, Catégorie_ID_FK, Corps_ID_FK, Cadre_ID_FK, Position_Admin_ID_FK, Section_ID_FK2, Type_Contrat_ID_FK, Durée_Contrat, P_date, F_date) Values Select * from DT_Personnels_EL where Agent_id = " & Me.Agent_ID & ";" DoCmd.SetWarnings False DoCmd.RunSQL requetesqlcopie 'on copie DoCmd.RunSQL "DELETE DT_Personnels.* FROM DT_Personnels WHERE (((DT_Personnels.Agent_Id)= " & Mat_Id & "));" DoCmd.RefreshRecord DoCmd.Requery Me.Nom__Prenom ' DoCmd.SetWarnings True End Select ' End Sub
oui effectivement j'ai modifié le nom de la table DT_Personnels_EL c'est donc DT_Personnels au lieu de DT_Personnels_EL.
DT_Personnels_MAG existe toujours
https://www.cjoint.com/c/JIDk0NW6n2k
le bouton déplacer est testé sur le formulaire qui s'ouvre par le premier onglé du formulaire principal ce formulaire est basé sur la table DT_Personnels
DT_Personnels_MAG existe toujours
https://www.cjoint.com/c/JIDk0NW6n2k
le bouton déplacer est testé sur le formulaire qui s'ouvre par le premier onglé du formulaire principal ce formulaire est basé sur la table DT_Personnels
Je regarde,
mais tes tables n'ont pas les mêmes champs, il y a un champ tranche_age en plus dans la table dt_personnels
mais tes tables n'ont pas les mêmes champs, il y a un champ tranche_age en plus dans la table dt_personnels
L'autre souci, est que tu as également un champ type 'pièce jointe' dans les tables, il faut donc passer en revue dans la requête l'ensemble des champs...
Edit : en fait, je crois que sql ne veut pas avec ce type de champ...
Il va falloir passer par du dao
Edit : en fait, je crois que sql ne veut pas avec ce type de champ...
Il va falloir passer par du dao
Donc, as-tu réellement besoin de ce champ type pièce jointe ?
Ne peux-tu pas le modifier en type texte long de sorte à avoir le chemin complet du fichier ?
Ca simplifierait grandement, et surtout, éviterait de tout modifier si un jour tu devras insérer un nouveau champ dans les tables concernées...
A te lire
Ne peux-tu pas le modifier en type texte long de sorte à avoir le chemin complet du fichier ?
Ca simplifierait grandement, et surtout, éviterait de tout modifier si un jour tu devras insérer un nouveau champ dans les tables concernées...
A te lire
Donc si tu as exactement les même champs dans les 2 tables et sans champ type pièce jointe, le code suivant fonctionne sans problème
Private Sub Commande60_Click() Nom__Prenom = Me.Nom__Prenom If IsNull(Nom__Prenom) Then Nom__Prenom = "" ' Matricule = Me.Matricule If IsNull(Matricule) Then Matricule = "" ' Mat_Id = Me.Agent_ID If IsNull(Mat_Id) Then Mat_Id = 0 ' Cadre_ID_FK = Me.Cadre_ID_FK If IsNull(Cadre_ID_FK) Then Cadre_ID_FK = "" ' Corps_ID_FK = Me.Corps_ID_FK If IsNull(Corps_ID_FK) Then Corps_ID_FK = "" ' Catégorie_ID_FK = Me.Catégorie_ID_FK If IsNull(Catégorie_ID_FK) Then Catégorie_ID_FK = "" ' Fonction_ID_FK = Me.Fonction_ID_FK If IsNull(Fonction_ID_FK) Then Fonction_ID_FK = "" ' Structure_ID_FK = Me.Structure_ID_FK If IsNull(Structure_ID_FK) Then Structure_ID_FK = "" ' Section_ID_FK2 = Me.Section_ID_FK2 If IsNull(Section_ID_FK2) Then Section_ID_FK2 = "" ' Message = "Souhaitez-vous Déplacer l'agent " & Nom__Prenom & " (" & Trim(Str(Mat_Id)) & ") ?" ' reponse = MsgBox(Message, vbYesNo + vbQuestion, "Déplacement Agent") ' Select Case reponse Case 6 DoCmd.SetWarnings False Dim requetesqlcopie As String requetesqlcopie = "insert into dt_personnels_mag select * from dt_personnels where Agent_id = " & Me.Agent_ID & ";" DoCmd.RunSQL requetesqlcopie 'on copie DoCmd.RunSQL "DELETE DT_Personnels.* FROM DT_Personnels WHERE (((DT_Personnels.Agent_Id)= " & Mat_Id & "));" ' DoCmd.SetWarnings True End Select ' End Sub