Click here to Skip to main content
15,569,768 members
Home / Discussions / Visual Basic
   

Visual Basic

 
GeneralRe: Making VC++ 6 DLL to work on VB6 App with no UNICODE issue Pin
whiteboat27-Oct-22 22:24
whiteboat27-Oct-22 22:24 
QuestionVBApp with a Crystal Report in it. Where do I find it when published. Pin
KreativeKai27-Oct-22 7:21
professionalKreativeKai27-Oct-22 7:21 
AnswerRe: VBApp with a Crystal Report in it. Where do I find it when published. Pin
Richard Deeming27-Oct-22 22:09
mveRichard Deeming27-Oct-22 22:09 
QuestionUpdate Parent and Child Table Pin
EngrImad27-Oct-22 1:37
EngrImad27-Oct-22 1:37 
AnswerRe: Update Parent and Child Table Pin
Richard MacCutchan27-Oct-22 2:36
mveRichard MacCutchan27-Oct-22 2:36 
GeneralRe: Update Parent and Child Table Pin
EngrImad27-Oct-22 2:41
EngrImad27-Oct-22 2:41 
Questionhow to do Scheduled task settings in conditions Tab "wake the computer to run this task" Pin
Member 1578241728-Sep-22 22:17
Member 1578241728-Sep-22 22:17 
QuestionVB.NET Pin
traore noor22-Sep-22 14:50
traore noor22-Sep-22 14:50 
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:

VB.NET
Imports MySql.Data
Imports MySql.Data.Entity
Imports MySql.Data.MySqlClient
Imports MySql.Data.Types
 
 Public 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 for
 
 
    Private 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édent
 
 
    Private 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", j)
        soldecaisse = Val(query.ExecuteScalar())
        connecter.close()
    End Sub
 
 
'et enfin cette dernière qui fera la mise à jour en remplaçant chaque solde par soldecaisse 
'selon la variation de j dans la boucle for.
'la mis à jour commence donc à partir de la ligne modifiée jusqu'au dernier élément de la 
'colonne puisqu'ils sont liés.
 
 
    Private Sub UpdateSolde()
        connecter()
        GetMaxId()
        Dim sql As String
        sql = "UPDATE tbl_operation SET Solde_operation = soldecaisse WHERE Id_operation = @i"
        i = New MySqlParameter("@i", j)
        Dim query As New MySqlCommand()
        For j = Val(txt_num_operation.Text) To MaxId
            GetSoldeCaisse() 'appel de la methode qui retourne le solde de la caisse
            query = New MySqlCommand(sql, connecter)
        Next
        connecter.close()
    End Sub

En résumé la méthode GetMaxId() lors de son appel renvoie l'id_max de la table opération et cette valeur servira
de condition d'arrêt dans la boucle.
Ensuite la méthode GetSoldeCaisse(), quant à elle calcule le solde de la caisse au cours d'une opération donnée.
Enfin, la méthode UpdateSolde() qui sera appelée juste après celle qui effectuera la modification de la ligne
concernée, nous recalcule le solde de la caisse à partir de la ligne modifiée jusqu'au dernier élément de la colonne
car tous liés. La boucle for définit le début et la fin des modifications.

Je compte sur chacun pour la résolution de cette difficulté. Merci…

AnswerRe: VB.NET Pin
Dave Kreskowiak22-Sep-22 16:10
mveDave Kreskowiak22-Sep-22 16:10 
AnswerRe: VB.NET Pin
Richard Deeming22-Sep-22 22:35
mveRichard Deeming22-Sep-22 22:35 
AnswerRe: VB.NET Pin
Eddy Vluggen25-Sep-22 6:44
professionalEddy Vluggen25-Sep-22 6:44 
QuestionCREATE DNS SERVER SOFTWARE Pin
Os.kamal22-Sep-22 9:02
Os.kamal22-Sep-22 9:02 
AnswerRe: CREATE DNS SERVER SOFTWARE Pin
Dave Kreskowiak22-Sep-22 16:07
mveDave Kreskowiak22-Sep-22 16:07 
GeneralRe: CREATE DNS SERVER SOFTWARE Pin
trønderen22-Sep-22 16:22
trønderen22-Sep-22 16:22 
GeneralRe: CREATE DNS SERVER SOFTWARE Pin
Dave Kreskowiak23-Sep-22 4:02
mveDave Kreskowiak23-Sep-22 4:02 
GeneralRe: CREATE DNS SERVER SOFTWARE Pin
Os.kamal25-Sep-22 5:21
Os.kamal25-Sep-22 5:21 
GeneralRe: CREATE DNS SERVER SOFTWARE Pin
Gerry Schmitz23-Sep-22 6:48
mveGerry Schmitz23-Sep-22 6:48 
GeneralRe: CREATE DNS SERVER SOFTWARE Pin
Os.kamal25-Sep-22 5:22
Os.kamal25-Sep-22 5:22 
GeneralRe: CREATE DNS SERVER SOFTWARE Pin
Os.kamal25-Sep-22 5:19
Os.kamal25-Sep-22 5:19 
QuestionInserting button name into the txt.text box (VB) Pin
GamerzfanArcade10-Sep-22 15:16
GamerzfanArcade10-Sep-22 15:16 
AnswerRe: Inserting button name into the txt.text box (VB) Pin
Richard MacCutchan10-Sep-22 22:17
mveRichard MacCutchan10-Sep-22 22:17 
GeneralRe: Inserting button name into the txt.text box (VB) Pin
GamerzfanArcade11-Sep-22 8:21
GamerzfanArcade11-Sep-22 8:21 
GeneralRe: Inserting button name into the txt.text box (VB) Pin
Richard Andrew x6411-Sep-22 10:12
professionalRichard Andrew x6411-Sep-22 10:12 
QuestionService to Logoff/Disconnect/Reboot Computer Pin
Member 1462398916-Aug-22 17:41
Member 1462398916-Aug-22 17:41 
AnswerRe: Service to Logoff/Disconnect/Reboot Computer Pin
Member 1462398917-Aug-22 7:56
Member 1462398917-Aug-22 7:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.