mise à jour:
Je tente de configurer un formulaire "Tâches", où lorsque vous cliquez sur un bouton, il prendra tous les enregistrements avec un [statut] de 10 et copier-les, les enregistrements précédents seraient alors marqués comme [Statut] 100. P>
Alors, ce que j'ai est le suivant "avant" de la fiche technique:
p>
Une fois que vous avez exécuté le code, il ressemblera comme suit:
P>
Le code dupliquera tous les enregistrements qui ont un [statut] de 10 ("en cours") marquent les anciens enregistrements comme [Statut] 100 ("terminé ") Et horodatage Le champ [Date terminé]. P>
Espérons que cela aide à clarifier un peu plus de ce que j'essaie de faire. p>
code est comme suit: p>
3 Réponses :
Ces
DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdPasteAppend
J'ai fait des modifications pour essayer de clarifier ce que j'essaie de faire. Peut-être que l'utilisation d'un enregistrement n'est pas la bonne façon d'aller ??
Probablement pas. Très probablement ce que vous voulez, c'est simple à faire avec une requête code> Ajout code> suivie d'une requête code> Mettre à jour CODE>, mais vous devrez fournir des structures de table, des exemples de données et d'exemple de résultat attendu pour tout aide significative avec ça.
Je mette à jour mon message original maintenant.
Vous ne semblez pas faire quoi que ce soit pour le jeu d'enregistrements.
Ceux-ci: p>
Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Set rs1 = CurrentDb.OpenRecordset("Source") Set rs2 = CurrentDb.OpenRecordset("Destination") rs1.MoveFirst If Not (rs1.EOF And rs1.BOF) And Me.Status = 10 Then Do Until rs1.EOF = True If(rs1![Field] = 10) Then With rs2 .AddNew ![Field]=rs1![Field] .Update End With End If rs1.MoveNext Loop Else MsgBox ("Nothing Done") 'do nothing End If MsgBox ("Complete") rs1.Close 'Close the recordset Set rs1 = Nothing 'Clean up rs2.Close 'Close the recordset Set rs2 = Nothing 'Clean up End Sub
J'ai tenté d'utiliser votre code mais il y a une raccrochette sur ! [Champ] = rs1. [Champ] code> i Obtenir l'erreur "Méthode ou membre de données non trouvé" Si je le contourne, je reçois une erreur que j'ai une boucle sans commandement do.
Remplacez-vous [champ] avec le nom des champs réels dans les tables? Oh et je l'ai écrit légèrement faux, je pense que c'est censé être ! [champ] = RS1! [champ] code>
Oui, j'ai remplacé "champ" avec le champ, il est censé avoir dans ce cas, j'ai utilisé le statut comme champ. Avec votre mise à jour, je reçois la boucle sans erreur ...
J'ai attrapé ça. mais obtenait toujours l'erreur. Mais réinscrit comme vous avez ci-dessus et cela a fonctionné!
Pourquoi n'utiliseriez-vous pas une requête d'insertion code> simple code> pour cette tâche?
E.g.: P>
insert into tblTasks select * from tblTasks where tblTasks.status = 10
Utilisez une requête APPEND B> pour une tâche comme celle-ci.