Access: Créer 2 record simultanés dans table
rafr1
Messages postés
5
Statut
Membre
-
rafr1 Messages postés 5 Statut Membre -
rafr1 Messages postés 5 Statut Membre -
Bonjour,
Je travaille sur une petite application de suivi de dépenses de bureau dans laquelle j'ai une fonctionnalité qui permet la gestion de transfert de fonds de compte bancaire à compte bancaire. Le problème pour lequel je sollicite humblement votre aide et vos lumières est le suivant :
J'aimerai créer 2 enregistrements simultanés pour chaque transfert de compte à compte. Un qui enregistre la banque d'origine et le montant au « Débit », et l'autre la banque de destination avec le même montant que précédemment mais inscrit au « Crédit , de ma table (Tbl_Transaction), ceci à l'aide d'un seul formulaire (ie. d'une seule action de validation sur le formulaire):
Ex. Table à altérer : « Tbl_Transaction », type de transaction : Transfer de compte a compte
> 1ère ligne à créer dans la table Tbl_Transaction : Champ « Account » (donnée provenant du champ « From Account » du formulaire), champ « Amount » (donnée provenant du champ « Debit » du formulaire)= txtDebit = montant débité.
> 2ème ligne à créer dans la table Tbl_Transaction : Champ « Account » (donnée provenant du champ « To Account » du formulaire), champ « Amount » (donnée provenant du champ « Credit » du formulaire)= txtCrédit = montant crédité.
Rem* Quand un montant est saisi dans le champ « Amount » (= txtDebit = montant débité)du formulaire, le même montant est automatiquement inscrit dans un champ caché "Credit" sur le même formulaire (Amount» = txtCrédit = montant crédité).
...Et voici le résultat attendu dans la Table « Tbl_Transaction » (simplifié):
ID=1, Date= 01.01.2012, Category=Transfer, Description=Test Transfer1, Account=Bank1, Debit=$1'000.
ID=2, Date= 01.01.2012, Category=Transfer, Description=Test Transfer1, Account=Bank2, Credit=$1'000.
(New)
Pour l'instant, je ne suis parvenu qu'à obtenir de mon formulaire qu'il crée un (seul) enregistrement du type 1ère ligne. N'importe quelle aide est la bienvenue...
Je travaille sur une petite application de suivi de dépenses de bureau dans laquelle j'ai une fonctionnalité qui permet la gestion de transfert de fonds de compte bancaire à compte bancaire. Le problème pour lequel je sollicite humblement votre aide et vos lumières est le suivant :
J'aimerai créer 2 enregistrements simultanés pour chaque transfert de compte à compte. Un qui enregistre la banque d'origine et le montant au « Débit », et l'autre la banque de destination avec le même montant que précédemment mais inscrit au « Crédit , de ma table (Tbl_Transaction), ceci à l'aide d'un seul formulaire (ie. d'une seule action de validation sur le formulaire):
Ex. Table à altérer : « Tbl_Transaction », type de transaction : Transfer de compte a compte
> 1ère ligne à créer dans la table Tbl_Transaction : Champ « Account » (donnée provenant du champ « From Account » du formulaire), champ « Amount » (donnée provenant du champ « Debit » du formulaire)= txtDebit = montant débité.
> 2ème ligne à créer dans la table Tbl_Transaction : Champ « Account » (donnée provenant du champ « To Account » du formulaire), champ « Amount » (donnée provenant du champ « Credit » du formulaire)= txtCrédit = montant crédité.
Rem* Quand un montant est saisi dans le champ « Amount » (= txtDebit = montant débité)du formulaire, le même montant est automatiquement inscrit dans un champ caché "Credit" sur le même formulaire (Amount» = txtCrédit = montant crédité).
...Et voici le résultat attendu dans la Table « Tbl_Transaction » (simplifié):
ID=1, Date= 01.01.2012, Category=Transfer, Description=Test Transfer1, Account=Bank1, Debit=$1'000.
ID=2, Date= 01.01.2012, Category=Transfer, Description=Test Transfer1, Account=Bank2, Credit=$1'000.
(New)
Pour l'instant, je ne suis parvenu qu'à obtenir de mon formulaire qu'il crée un (seul) enregistrement du type 1ère ligne. N'importe quelle aide est la bienvenue...
1 réponse
-
Salut,
tu n'arriveras pas à tes fins (de manière simple), simplement avec les "outils" classiques du formulaire.
Il te faudra passer par une procédure en VBA qui sera appelée lors de la validation du formulaire.
Cela pourra se faire très simplement en exécutant deux requêtes de type INSERT dans la table, en ayant récupéré les données du formulaire avant leur exécution.
-
-
Bonjour Blux, pourrais-tu me donner un peu plus de précisions sur la procedure VBA à suivre au sujet de la récupération des données saisies dans le formulaire ainsi que les 2 requêtes INSERT INTO , s'il te plait? Peut-être avec des exemplifications en VB? Je trierais pour l'adapter ce que je veux faire...
-
Dans l'évènement 'sur clic' de ton bouton de validation, tu mets ce code (à compléter éventuellement avec d'autres données : date, catégorie, description...) :
Dim StrSql as String StrSql = "INSERT INTO Tbl_Transaction (account,amount) " StrSql = StrSql & "VALUES ('" & [From account].value & "'," & [debit].value & ");" DoCmd.RunSQL StrSql StrSql = "INSERT INTO Tbl_Transaction (account,amount) " StrSql = StrSql & "VALUES ('" & [To account].value & "'," & [credit].value & ");" -
-