1 Abfrage in VB erstellt, geänderte Daten in Datenbank speichern

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von schnibli.

    1 Abfrage in VB erstellt, geänderte Daten in Datenbank speichern

    Hallo Miteinander :)

    Ich habe wiedermal ein Problem.


    Vorwort:
    Ich habe eine .mdb Datenbank mit einem Visual Basic 2010 Form verbunden.

    Wenn ich eine Tabelle (der Datenbank) in ein DatagridView lade und anschliessend änderungen in die Datenbank Schreiben möchte nehme ich diesen Code:

    sub Datenspeicher
    Me.DataGridView1.EndEdit() ' schreibt Änderung in Cell
    Me.ArtikeldatenbankBindingSource.EndEdit() ' schreibt Cell in DataRow
    Me.ArtikeldatenbankTableAdapter.Update(Me.Artikeldatenbank_beDataSet.Artikeldatenbank) ' schreibt DataRow in Datenbank
    end sub

    Nun habe ich in VB2010 eine Abfrage über 2 Tabellen generiert (1Tabelle = Artikeldatenbank);(2Tabelle = Lieferanten) (Abfragename = Artikel_und_Lieferanten)

    nun wenn ich ein Datagridview mit der Abfrage "Artikel_und_Lieferanten" befüllen lasse und änderungen durchführe, kann ich diese nicht speichern.
    bez. weis ich nicht wie ich der befehl heisst.

    kann mir jemand helfen? :)
    geht nicht. gejointe Tabellen kann man abfragen, aber nicht geändert abspeichern.
    gugge evtl. den Abschnitt "Sql-InnerJoin ist Readonly" auf [VB.NET] die vier Views (in Wpf)
    Daher rate ich ja von InnerJoins generell ab.
    Stattdessen sollteman die Daten in getrennte DataTables des Datasets einlesen, und die Zusammenführung im Gui designen - Stichwort "JoiningView"

    gugge "JoiningView" auf Movie-Tuts, und "JoiningView" in vier Views
    Danke erstmal für deine Antwort aber dein Turtorial Hilft mir leider nicht weiter.

    Mein Wunsch:

    Ich habe eine Tabelle Artikeltabelle und eine Tabelle Lieferanten. Diese sind über die "Kundennummer" miteinander "verkoppelt"
    Nun möchte ich ein Datagridview erstellen, das mir die Artikeltabelle komplett einlät und bei jedem Artikel den Zugehörigen Lieferanten auch ins Datagridview (neue spalte) lädt.

    gruss
    Wenn die Quelle eine Access Datenbank ist, dann kannst du Query dort zusammenbauen. Für mich sieht das nicht wie eine m:n Beziehung aus, jeder Artikel hat mehrere Lieferanten. Das ist eine 1:n Beziehung.

    Wenn sich der View in Access updaten lässt, speichere ihn dort, und nimm ihn als Datenquelle in VB. Ich hatte aber auch keine Probleme eine 1:n Abfrage in ein DataGridView einzubinden, neue Datensätze anzulegen, zu editieren und zu löschen.

    frankfurtez schrieb:

    Für mich sieht das nicht wie eine m:n Beziehung aus, jeder Artikel hat mehrere Lieferanten.

    hmm - auch ne sichtweise. Ich hätte eher gedacht, jeder Lieferant liefert mehrere Artikel.

    Aber das passt für mich eh garnicht wirklich zusammen, weil die Tabellen über "KundenNummer" miteinander verkoppelt sein sollen.
    Nach meinem Verständnis sollte weder Artikel noch Lieferant eine "KundenNummer" aufweisen.