VB.NET
-
Problème de mise à jour liée aux élément interdépendants de ma table
Bonjour chers membres du forum, j’ai une préoccupation qui est liée à la mise à jour de ma table.
En effet j’ai conçu une application vb.net pour la gestion des opérations de caisse pour le compte
d’une structure et tout fonctionne correctement jusqu’au niveau de la modification de la table où j’ai un bémol.Le truc c’est qu’une opération est soit une recette ou une dépense d’où j’ai créé une variable
solde = recette - dépense (recette ou dépense est nulle selon la nature de l’opération) qui représente le solde
de chaque opération effectuée.
Pour ce qui est de la part du solde de la caisse à partir d’une opération op2 on a:E: solde_caisse_op2 = solde_op2 + solde_caisse_op1 ( égal à solde_op1) et cela fonctionne bien en insertion.
Mon problème est que sur par exemple 10 opérations effectuées on décide de modifier la 5ème opération,
comment réajuster le solde de la caisse à partir de la ligne modifiée jusqu’au dernier élément de la table
solde_caisse, vu que les différentes lignes sont dépendantes pour le calcul des différentes soldes
de la caisse d’après l’équation E.
J’ai déjà réfléchi à une solution mais qui me donne une FatalError. En effet j’ai procédé comme suit:Imports MySql.Data
Imports MySql.Data.Entity
Imports MySql.Data.MySqlClient
Imports MySql.Data.TypesPublic solde_operation As Integer = 0
Public MaxId As Integer
Public j As Integer
Public soldecaisse As Integer
Public i As MySqlParameter'La méthode GetMaxId() me ramène Id_max stocké dans la variable MaxId qui me servira de
'condition d'arrêt de la boucle forPrivate Sub GetMaxId() connecter() Dim sql As String sql = "(SELECT MAX(Id\_operation) FROM tbl\_operation)" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) MaxId = Val(query.ExecuteScalar()) connecter.close() End Sub
'celle-ci me calcule le solde de la caisse au cours de l'opération en cours (soldecaisse) en y
'ajoutant le solde de la caisse précédentPrivate Sub GetSoldeCaisse() connecter() Dim sql As String sql = "select ((select Solde\_operation from tbl\_operation where Id\_operation = @i) + (select Solde\_operation from tbl\_operation where Id\_operation = @i-1))" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) i = New MySqlParameter("@i",
-
Problème de mise à jour liée aux élément interdépendants de ma table
Bonjour chers membres du forum, j’ai une préoccupation qui est liée à la mise à jour de ma table.
En effet j’ai conçu une application vb.net pour la gestion des opérations de caisse pour le compte
d’une structure et tout fonctionne correctement jusqu’au niveau de la modification de la table où j’ai un bémol.Le truc c’est qu’une opération est soit une recette ou une dépense d’où j’ai créé une variable
solde = recette - dépense (recette ou dépense est nulle selon la nature de l’opération) qui représente le solde
de chaque opération effectuée.
Pour ce qui est de la part du solde de la caisse à partir d’une opération op2 on a:E: solde_caisse_op2 = solde_op2 + solde_caisse_op1 ( égal à solde_op1) et cela fonctionne bien en insertion.
Mon problème est que sur par exemple 10 opérations effectuées on décide de modifier la 5ème opération,
comment réajuster le solde de la caisse à partir de la ligne modifiée jusqu’au dernier élément de la table
solde_caisse, vu que les différentes lignes sont dépendantes pour le calcul des différentes soldes
de la caisse d’après l’équation E.
J’ai déjà réfléchi à une solution mais qui me donne une FatalError. En effet j’ai procédé comme suit:Imports MySql.Data
Imports MySql.Data.Entity
Imports MySql.Data.MySqlClient
Imports MySql.Data.TypesPublic solde_operation As Integer = 0
Public MaxId As Integer
Public j As Integer
Public soldecaisse As Integer
Public i As MySqlParameter'La méthode GetMaxId() me ramène Id_max stocké dans la variable MaxId qui me servira de
'condition d'arrêt de la boucle forPrivate Sub GetMaxId() connecter() Dim sql As String sql = "(SELECT MAX(Id\_operation) FROM tbl\_operation)" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) MaxId = Val(query.ExecuteScalar()) connecter.close() End Sub
'celle-ci me calcule le solde de la caisse au cours de l'opération en cours (soldecaisse) en y
'ajoutant le solde de la caisse précédentPrivate Sub GetSoldeCaisse() connecter() Dim sql As String sql = "select ((select Solde\_operation from tbl\_operation where Id\_operation = @i) + (select Solde\_operation from tbl\_operation where Id\_operation = @i-1))" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) i = New MySqlParameter("@i",
This is an English speaking site. Modify your question and replace your French text with English.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave Kreskowiak -
Problème de mise à jour liée aux élément interdépendants de ma table
Bonjour chers membres du forum, j’ai une préoccupation qui est liée à la mise à jour de ma table.
En effet j’ai conçu une application vb.net pour la gestion des opérations de caisse pour le compte
d’une structure et tout fonctionne correctement jusqu’au niveau de la modification de la table où j’ai un bémol.Le truc c’est qu’une opération est soit une recette ou une dépense d’où j’ai créé une variable
solde = recette - dépense (recette ou dépense est nulle selon la nature de l’opération) qui représente le solde
de chaque opération effectuée.
Pour ce qui est de la part du solde de la caisse à partir d’une opération op2 on a:E: solde_caisse_op2 = solde_op2 + solde_caisse_op1 ( égal à solde_op1) et cela fonctionne bien en insertion.
Mon problème est que sur par exemple 10 opérations effectuées on décide de modifier la 5ème opération,
comment réajuster le solde de la caisse à partir de la ligne modifiée jusqu’au dernier élément de la table
solde_caisse, vu que les différentes lignes sont dépendantes pour le calcul des différentes soldes
de la caisse d’après l’équation E.
J’ai déjà réfléchi à une solution mais qui me donne une FatalError. En effet j’ai procédé comme suit:Imports MySql.Data
Imports MySql.Data.Entity
Imports MySql.Data.MySqlClient
Imports MySql.Data.TypesPublic solde_operation As Integer = 0
Public MaxId As Integer
Public j As Integer
Public soldecaisse As Integer
Public i As MySqlParameter'La méthode GetMaxId() me ramène Id_max stocké dans la variable MaxId qui me servira de
'condition d'arrêt de la boucle forPrivate Sub GetMaxId() connecter() Dim sql As String sql = "(SELECT MAX(Id\_operation) FROM tbl\_operation)" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) MaxId = Val(query.ExecuteScalar()) connecter.close() End Sub
'celle-ci me calcule le solde de la caisse au cours de l'opération en cours (soldecaisse) en y
'ajoutant le solde de la caisse précédentPrivate Sub GetSoldeCaisse() connecter() Dim sql As String sql = "select ((select Solde\_operation from tbl\_operation where Id\_operation = @i) + (select Solde\_operation from tbl\_operation where Id\_operation = @i-1))" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) i = New MySqlParameter("@i",
Google translate:
Hello dear forum members, I have a concern that is related to updating my table. Indeed I designed a vb.net application for the management of cash operations for the account of a structure and everything works correctly until the level of the modification of the table where I have a problem. The thing is that an operation is either a receipt or an expense from which I created a variable balance = revenue - expenditure (revenue or expenditure is nil depending on the nature of the operation) which represents the balance of each operation performed. As for the part of the cash balance from an op2 operation, we have: E: balance_caisse_op2 = balance_op2 + balance_caisse_op1 (equal to balance_op1) and it works well in insertion. My problem is that on for example 10 operations carried out we decide to modify the 5th operation, how to readjust cash register balance from changed row to last item in table cash_balance, since the different lines are dependent for the calculation of the different balances of the body according to equation E. I have already thought of a solution but that gives me a FatalError. I actually did the following: [CODE] In summary, the GetMaxId() method when called returns the id_max of the operation table and this value will be used stop condition in the loop. Then the GetBalanceCaisse() method, for its part, calculates the balance of the cashbox during a given operation. Finally, the UpdateBalance() method which will be called just after the one which will modify the line concerned, we recalculate the balance of the cash register from the modified line to the last element of the column because all related. The for loop defines the start and end of changes. I am counting on everyone to resolve this difficulty. Thanks…
From your description, it sounds like you're trying to build some sort of running total. But looking at your code, it's not clear how you're doing that, nor what the problem is. Start by describing your table structure and providing some sample data. Then explain what you're updating, and what you want to happen when you update it.
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
Problème de mise à jour liée aux élément interdépendants de ma table
Bonjour chers membres du forum, j’ai une préoccupation qui est liée à la mise à jour de ma table.
En effet j’ai conçu une application vb.net pour la gestion des opérations de caisse pour le compte
d’une structure et tout fonctionne correctement jusqu’au niveau de la modification de la table où j’ai un bémol.Le truc c’est qu’une opération est soit une recette ou une dépense d’où j’ai créé une variable
solde = recette - dépense (recette ou dépense est nulle selon la nature de l’opération) qui représente le solde
de chaque opération effectuée.
Pour ce qui est de la part du solde de la caisse à partir d’une opération op2 on a:E: solde_caisse_op2 = solde_op2 + solde_caisse_op1 ( égal à solde_op1) et cela fonctionne bien en insertion.
Mon problème est que sur par exemple 10 opérations effectuées on décide de modifier la 5ème opération,
comment réajuster le solde de la caisse à partir de la ligne modifiée jusqu’au dernier élément de la table
solde_caisse, vu que les différentes lignes sont dépendantes pour le calcul des différentes soldes
de la caisse d’après l’équation E.
J’ai déjà réfléchi à une solution mais qui me donne une FatalError. En effet j’ai procédé comme suit:Imports MySql.Data
Imports MySql.Data.Entity
Imports MySql.Data.MySqlClient
Imports MySql.Data.TypesPublic solde_operation As Integer = 0
Public MaxId As Integer
Public j As Integer
Public soldecaisse As Integer
Public i As MySqlParameter'La méthode GetMaxId() me ramène Id_max stocké dans la variable MaxId qui me servira de
'condition d'arrêt de la boucle forPrivate Sub GetMaxId() connecter() Dim sql As String sql = "(SELECT MAX(Id\_operation) FROM tbl\_operation)" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) MaxId = Val(query.ExecuteScalar()) connecter.close() End Sub
'celle-ci me calcule le solde de la caisse au cours de l'opération en cours (soldecaisse) en y
'ajoutant le solde de la caisse précédentPrivate Sub GetSoldeCaisse() connecter() Dim sql As String sql = "select ((select Solde\_operation from tbl\_operation where Id\_operation = @i) + (select Solde\_operation from tbl\_operation where Id\_operation = @i-1))" Dim query As New MySqlCommand() query = New MySqlCommand(sql, connecter) i = New MySqlParameter("@i",
Deshalb speichern wir keine laufende Summe; es ist die Summe aller Datensätze in der Datenbank zu diesem Zeitpunkt. Sie speichern es nie, Sie berechnen es. Es ist nicht so dass es Jahre dauern wird. Schauen Sie sich auch das Erinnerungsmuster (memento-pattern) an. And no, if you don't speak English, why would I bother to translate?
Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.