Datenbank über Button hochzählen

werner_sg

Erfahrenes Mitglied
Hallo nach Jahren der Abstinenz mal wieder VB und anscheinend alles verlernt :(

Mein Problem oder Frage, ich möchte in einer Datenbank mittels Button in der Form in der Datenbank hochzählen lassen.

Beispiel: Button 1 wird gedrückt dann soll das Datenbank Feld Button 1 um einen Zähler erhöht werden.

Sicher mehr als simple, aber war jetzt seit fast 6 Jahren nicht mehr drann und habe da irgendwie ne Blockade
 
Echt keiner Plan :(

Code:
    Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Happy.MouseDown
        B1 = B1 + 1
Code:
Public Class Anfang

    Private HappyClick As String
    Private NeutralClick As String
    Private notHappyClick As String

    Private B1 As Integer = 0
    Private B2 As Integer = 0
    Private B3 As Integer = 0

weiter komme ich dezeit nicht

Google rauf und runter von einem Forum zum andern alles zu finden aber nicht was ich suche. Ansätze in allen Varianten für Excel für Spiele und in allen Sprachen, kann doch nicht sein das keiner was weis.

Möchte ja nicht das Script geschrieben bekommen.

Nun dann werde ich mich morgen wohl mal zur Bücherei begeben vieleicht ist da in einem der alten Handbücher eine Ansatzweise Hilfe zu finden, hier siehts ja derzeit leider mau aus.

trotzdem Danke für alle die reingeschaut haben für die Interesse.
 
Aufgeben kommt nicht in Frage und wer braucht schon schlaf:confused:

Habe es erstmal mit ner Ausgabe in Label versucht er reagiert zeigt aber nur 0 an

Code:
Public Class Anfang

    Private HappyClick As String = B1.ToString()
    Private NeutralClick As String = B2.ToString()
    Private notHappyClick As String = B3.ToString()

    Private B1 As Integer
    Private B2 As Integer
    Private B3 As Integer

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        B1 = 0
        B2 = 0
        B3 = 0

    End Sub


    Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Happy.MouseDown
        B1 = B1 + 1
        Label1.Text = HappyClick

    End Sub
 
Erstmal, nicht sofort schreien wenn nicht sofort eine Antwort kommt.
Ich z.B. schau nur einmal frühs vor der Arbeit hier im Forum rein, den rest des Tages meist nicht mehr.

Und willst du ein Feld in einer Datenbank hochzählen
oder dein privates Feld B1 und dies im Label1 anzeigen?

Da es eher nach Anzeige in Label1 ausschaut.
Dein HappyClick ist ein Feld welches du einmal zu Beginn mit B1 zugewiesen hast.
Entweder HappyClick stellst du um auf eine Eigenschaft welche den Wert von B1 zurück gibt, oder du zeigst gleich B1 im Label1 an.

Nachtrag (Eigenschaften-Prozeduren in VB .NET):
https://msdn.microsoft.com/de-de/library/bb978934.aspx
 
Zuletzt bearbeitet:
Danke Spyke
(hatte aber doch gar nicht geschrien war nur verwundert weil waren ja schon einige hier und du bist ja nicht dafür da hier alle Fragen im Forum zu beantworten)

Nun weiter zum Thema

Es soll in eine Datenbank gespeichert werden, den Label hatte ich nur zum einfacheren Test gesetzt

Dein Hinweis hat Funktioniert das Umwandeln als String war gar nicht Notwendig:)

Dann schau ich jetzt mal das ich das ganze vom Label in die Datenbank bekomme.
 
Guten Morgen Spyke;)

so schauts aus
Code:
Public Class Anfang


    Private B1 As Integer
    Private B2 As Integer
    Private B3 As Integer

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        B1 = 0
        B2 = 0
        B3 = 0

    End Sub


    Private Sub Button1_MouseDown(sender As Object, e As MouseEventArgs) Handles Happy.MouseDown
        B1 = B1 + 1
        Label1.Text = B1

    End Sub
    Private Sub Button2_MouseDown(sender As Object, e As MouseEventArgs) Handles neutral.MouseDown
        B2 = B2 + 1
        Label2.Text = B2
        Ursache1.Show()
        Me.Hide()
    End Sub

der Zähler ins Label funktioniert 1a

das ganze Datenbank Chaos habe ich wieder getilgt, die gute MS Seiten haben mich jetzt ganz vom Pfad abgebracht springen dort von Datatable zu dataset über Datagrid und wieder zurück und noch wo anders vorbei. irgendwie schien mir das im VB Express (2008) alles einfacher.

Wie ich Daten aus einem Datagrid auslese und eventuelle Änderungen wieder speicher ist mir bekannt von früher,
eine weiter Form mit Datagrid zum Auslesen habe ich ja im Projekt und das funktioniert auch.

Nur ich habe leider keinen Nachvollziehbaren Ansatz gefunden die Aktuelle Klickzahl in die Access Datenbank zu schreiben

Das Dataset1 habe ich noch in der Form gelassen

Wäre sehr lieb wenn Du mir nochmal so einen guten Hinweis zu vorgehensweise lieferst
 
Vergiss einfach DataSet.
Erstell dir ein DbCommand als CommandType Text und führ deine eigenen SELECT, INSERT und UPDATE Statements aus.

Schnell bissl was gegooglt was bissl helfen könnt:

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/dbconnection-dbcommand-and-dbexception

https://social.msdn.microsoft.com/F...h-c-to-select-from-access?forum=csharpgeneral

Nachtrag:
Hab vor Jahren aufgehört DataSets zu verwenden, deshalb könnt ich da aufn ersten Blick erstmal nichts zu sagen.
 
Hallo Skype

jetzt bin ich total durch:confused:

davon funktioniert gar nichts habe mich vorhin nochmal in die Bibliothek gesetzt aber die haben ja auch nichts aktuelles da:(

ich arbeite mit Visual Studio 2017

auch die anderen Codes von MS durfte ich erst mal vom Syntax her ändern weil sonst gemeckert wird

kann man nicht eventuell die erzeugte Zahl in eine Text Datei abspeichern würde mir auch reichen.
 
Nachtrag: die Nachvolziehbarkeit der Muster von MS scheitern schon daran das die Tabellen Strucktur der Nordwind Datenbank von der in allen Beispielen verwendeten Northwind Datenbank welcher nur als SQL zu finden ist stark abweicht die verwendete Tabelle Region ist bei mir schon mal gar nicht vorhanden:(
 
Zurück