vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Eintrag ändern abfragen 
Autor: Erichbru
Datum: 02.04.23 11:12

warum klappt das bei mir nicht ? habe schon gesucht aber nichts geeignetes gefunden (oder verstanden)

ich möchte abfragen ob der "Betrag" geändert werden soll, macht er leider nicht



  Private Sub btnspeichern_Click(sender As Object, e As EventArgs) Handles _
    btnspeichern.Click
        Dim NL = Environment.NewLine
        Dim Buchungswert As Double = nud_Betrag_Eingabe.Value
        Dim strBuchungsart01 As String = "Ausgabe"
        Dim strBuchungsart02 As String = "Einnahme"
        Dim Merker_Betrag As Double
        Merker_Betrag = String.Format("{0:N2}", BetragTextBox.Text)
 
        'Eingaben prüfen
        If String.IsNullOrEmpty(BuchungsdatumTextBox.Text) Then : _
          Fehler_Pflichtfeld_Angelegt("Datum:") : Return : End If
        If String.IsNullOrEmpty(BuchungsartTextBox.Text) Then : _
        Fehler_Pflichtfeld_Buchungsart("Buchungsart:") : Return : End If
        If String.IsNullOrEmpty(KategorieTextBox.Text) Then : _
        Fehler_Pflichtfeld_Kategorie("Kategorie:") : Return : End If
        If String.IsNullOrEmpty(KommentarTextBox.Text) Then : _
        Fehler_Pflichtfeld_Kommentar("Kommentar:") : Return : End If
 
 
        If modus_Datensatz_Kontodetails = DatensatzModus.Neu And Buchungswert = _
          0 Then
            Fehler_Pflichtfeld_Betrag(Buchungswert)
            Return
        End If
 
        If modus_Datensatz_Kontodetails = DatensatzModus.Bearbeiten And _
          BS_Kontodetails_TypRow.Betrag <> Merker_Betrag Then
 
            'Abfrage
            Dim Titel As String = "Buchungswert"
            Dim val = String.Format("{0:N2}", BetragTextBox.Text)
            Dim Meldung As String = String.Concat(NL, "Betrag:", NL, _
                                                   val & " uebernehmen")
            Dim Abfrage_Result As DialogResult = MessageBox.Show(Meldung, _
              Titel, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
            If Abfrage_Result = System.Windows.Forms.DialogResult.No Then Return
            BS_Kontodetails_TypRow.Betrag = Merker_Betrag
            End If
 
        'die Prüfung überspringt er immer im Einzelschritt probiert.
        'speichern
        Me.Cursor = Cursors.WaitCursor
        Me.Validate()
        BS_Kontodetails.EndEdit()
 
 
        dict_BS_Pos.Clear()
        dict_BS_Pos.Add(BS_Kontodetails, BS_Kontodetails.Position)
        mod_Saver.SaveDataset(Me.HBDatenbankDS, dict_BS_Pos, _
          KontodetailsTableAdapter.Adapter)
 
        'Dateneingabe fertigstellen und Speichervorgang beenden
        modus_Datensatz_Kontodetails = DatensatzModus.Fertig
        Eingabe_frei_Kontodetails(False, modus_Datensatz_Kontodetails) : _
          TP_gesperrt = False
 
        DGV_Details_SelectRow()
        BS_Kontodetails.MoveFirst()
        BS_Kontodetails.MoveLast()
 
        cbo_Controls()
        Me.Cursor = Cursors.Default
        MessageBox.Show("Daten gespeichert.", "Meldung", MessageBoxButtons.OK, _
          MessageBoxIcon.Information)
 
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: emaNoN
Datum: 02.04.23 14:41

Bitte ignorieren

Beitrag wurde zuletzt am 02.04.23 um 14:59:35 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: emaNoN
Datum: 02.04.23 15:54

Meinst du diese Prüfung?

If modus_Datensatz_Kontodetails = DatensatzModus.Bearbeiten And _
          BS_Kontodetails_TypRow.Betrag <> Merker_Betrag Then
Versuch doch 'mal:
If (modus_Datensatz_Kontodetails = DatensatzModus.Bearbeiten) And _
          (BS_Kontodetails_TypRow.Betrag <> Merker_Betrag) Then
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: Erichbru
Datum: 03.04.23 19:15

erstmal Danke, habe es probiert hast recht die Klammern helfen.

habe nun zur Unterstützung noch 2 CheckBoxen hinzugefügt 1 für Neue Buchung, 1 für die Bearbeitung (selektierte Datarow)

der Aufbau sieht nun so aus



  'Eingaben in TextBoxen prüfen
        If String.IsNullOrEmpty(BuchungsdatumTextBox.Text) Then : _
          Fehler_Pflichtfeld_Angelegt("Datum:") : Return : End If
        If String.IsNullOrEmpty(BuchungsartTextBox.Text) Then : _
        Fehler_Pflichtfeld_Buchungsart("Buchungsart:") : Return : End If
        If String.IsNullOrEmpty(KategorieTextBox.Text) Then : _
        Fehler_Pflichtfeld_Kategorie("Kategorie:") : Return : End If
        If String.IsNullOrEmpty(KommentarTextBox.Text) Then : _
        Fehler_Pflichtfeld_Kommentar("Kommentar:") : Return : End If
 
        'auf 0 Eingabe reagieren wenn neuer Datensatz angelegt wird
        If (chb_Status_Neu.Checked = True) And (Merker_Betrag = 0) Then
            'Daten nicht speichern erst Datenfelder füllen >> speichern
        ElseIf (chb_Status_berabeiten.Checked = True) And (Merker_Betrag = 0) _
          Then  'auf 0 Eingabe und Änderung reagieren
            'Daten nicht speichern
        ElseIf (BS_Kontodetails_TypRow.Betrag <> Merker_Betrag) Then         _
                 'hier Datenabgleich mit Datarow
            'Datenänderung speichern abfrage ausgeben mit OK >> speichern
        Else
 
 
        End If
könnte man so vorgehen ?

aber evtl. hat jemand eine schönere Lösung würde mich drüber freuen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: Erichbru
Datum: 04.04.23 15:05

Hallo alle so habe es gelöst und bin ganz zufrieden mit dem Ergebnis.
Hatte einige Denkfehler daher hat es nicht so funktioniert wie es sollte. Jetzt haut das hin denke ich zumindestens bei mir.

 Private Sub btnspeichern_Click(sender As Object, e As EventArgs) Handles _
   btnspeichern.Click
        Dim NL = Environment.NewLine
        Dim Titel As String = "Buchungsmeldung"
        Dim Merker_Betrag As Double
        '#
        Merker_Betrag = Format(CDbl(nud_Betrag_Eingabe.Value), "#,0.00")
 
        'Eingaben in TextBoxen prüfen
        If String.IsNullOrEmpty(BuchungsdatumTextBox.Text) Then : _
          Fehler_Pflichtfeld_Angelegt("Datum:") : Return : End If
        If String.IsNullOrEmpty(BuchungsartTextBox.Text) Then : _
        Fehler_Pflichtfeld_Buchungsart("Buchungsart:") : Return : End If
        If String.IsNullOrEmpty(KategorieTextBox.Text) Then : _
        Fehler_Pflichtfeld_Kategorie("Kategorie:") : Return : End If
        If String.IsNullOrEmpty(KommentarTextBox.Text) Then : _
        Fehler_Pflichtfeld_Kommentar("Kommentar:") : Return : End If
 
        'Datensatz Modus prüfen
        If (chb_Status_Neu.Checked = True) And (Merker_Betrag = 0) Then
            'Daten erst nach Meldung speichern 
            MessageBox.Show("Geben Sie Bitte einen Betrag ein.")
        ElseIf (chb_Status_berabeiten.Checked = True) And (Merker_Betrag = 0) _
          Then
            'Daten erst nach Meldung speichern 
            MessageBox.Show("Sie müssen noch einen Betrag eingeben.")
        ElseIf (chb_Status_berabeiten.Checked = True) And ( _
          BS_Kontodetails_TypRow.Betrag <> Merker_Betrag) Then
            'Datarow prüfen
            Meldung_Status_OK_aendern()
        Else
            Meldung_Status_OK()
        End If
 
    End Sub



wie kann man die Beträge in der "MsgBox" Rechtsbündig ausrichten ? optisch gefällt mir das nicht aber es klappt



 Private Sub Meldung_Status_OK_aendern()
        Dim NL As String = Environment.NewLine
        Dim Titel As String = "Buchungsmeldung"
        Dim istval = Format(CDbl(BS_Kontodetails_TypRow.Betrag), "#,0.00")
        Dim sollval = Format(CDbl(BetragTextBox.Text), "#,0.00")
        Dim Meldung As String = "Statusmeldung"
 
        Meldung = Meldung & NL & "----------------------------"
        Meldung = Meldung & NL & Format(Now, "dd.MM.yyyy HH:mm:ss")
        Meldung = Meldung & NL & "----------------------------"
        Meldung = Meldung & NL & "--------------Eingabe Wert: " & sollval
        Meldung = Meldung & NL & "############################"
        Meldung = Meldung & NL & "----------Datarow Wert Ist: " & istval
        Meldung = Meldung & NL & "----------------------------"
        Meldung = Meldung & NL & "-----Eingabewert übernehmen?"
 
        Dim Abfrage_Result As DialogResult = MessageBox.Show(Meldung, Titel, _
          MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
        If Abfrage_Result = System.Windows.Forms.DialogResult.OK Then
            _Speichern()
        Else
            _Eingabeabbrechen()
 
        End If
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: emaNoN
Datum: 04.04.23 17:21

„wie kann man die Beträge in der "MsgBox" Rechtsbündig ausrichten ?“

Kannst du knicken. Bau dir doch schnell ein eigenes Form für die Meldung zusammen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: Erichbru
Datum: 04.04.23 17:27

äh ??

habe ich noch nicht gemacht! muss mal schauen was ich da hin bekomme es sei denn du hast ein Beispiel

Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: Erichbru
Datum: 04.04.23 19:53

erledigt!



sieht doch Richtig gut aus!! und die Beträge sind rechts ausgerichtet

mein Code: OK so ?

 Private Sub Meldung()
        Dim drowval = Format(CDbl(BS_Kontodetails_TypRow.Betrag), "#,0.00")
        Dim eingval = Format(CDbl(BetragTextBox.Text), "#,0.00")
        Using frm As New Messagebox_OK
            With frm
                .lbl_Status.Text = Format(Now, "dd.MM.yyyy HH:mm:ss")
                .lbl_Datensatzmodus.Text = "Neue Buchung"
                .lbl_Eingabewert.Text = eingval
                .lbl_Datarowwert.Text = drowval
                .ShowInTaskbar = True
                .BringToFront()
                .TopMost = True
                .ShowDialog(Me)
                'nachdem frm geschlossen wurde:
                If .Eingabe_OK = True Then
                    _Speichern()
                Else
                    _Eingabeabbrechen()
                End If
            End With
        End Using
        Me.Show()
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: emaNoN
Datum: 04.04.23 20:48

„sieht doch Richtig gut aus!!“

Diplomatisch ausgedrückt: Das liegt im Auge des Betrachters.
Sieht aus wie 'ne Anwendung aus den 90ern. Schlecht lesbare Farbkombination,
völliges Formatierungswirrwarr (mal linksbündig, zentriert oder rechtsbündig)
und „Cancel“ heißt im Deutschen „Abbrechen“.
Ansonsten, wenn's dir so gefällt unf funktioniert ist's doch OK.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: Erichbru
Datum: 05.04.23 14:06

OK wie du schon sagst das liegt im Auge des Betrachters. Habs bisschen überarbeitet

was sagt dein (euer Auge) dazu ? oder hat jemand eine "moderne Lösung"



es ist mir wichtig! es ging ja im Prinzip darum wie ich die Beträge (Eingabewert, Datarowwert) rechts untereinander ausrichten
kann in einer Standard MSGBox

Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: emaNoN
Datum: 05.04.23 17:14

Ganz ehrlich?
Der normale User will keine Romane lesen, sondern auf einen Knopf drücken und weiterarbeiten.

Zeile „Status“: Wenn der User Datum und Uhrzeit wissen möchte, sieht er kurz rechts unten in die Taskleiste.
Zeile „Datensatzmodus“: Ich weiß doch, ob ich auf Hinzufügen oder Bearbeiten gedrückt habe.
Zeile „Eingabewert“: Habe ich doch selbst gerade erst eingegeben, sollte ich also noch kennen.
Zeile „Datarow-Wert“: Wenn ich einen neuen Datensatz anlege, steht da 0, sollte jedem klar sein. Beim Ändern ist mir egal, was da mal drinstand, ich will es ja auf einen (vermeintlich) richtigen Wert aktualisieren.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eintrag ändern abfragen 
Autor: Erichbru
Datum: 05.04.23 17:23

Danke, Danke für die Antwort wenn ich mir das so anschaue beim testen haste irgendwie Recht

geprüft wird jedes Pflichtfeld, das sollte dem User reichen auch das er noch einen "Betrag" eingeben soll wird abgefangen

ich denke schmeiß das wieder raus ist ja kein akt...

also noch mal Danke und Genug zu diesem Thema denke ich!!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel